1、SE18查看ME_PROCESS_PO_CUST相关信息
 
2、SE19创建ME_PROCESS_PO_CUST的BADI实现类
 
注意类名称定义是按照以下规则:
ZCL_IM_ + BADI
其中CL表示CLASS类的意思,
IM表示Implement实现的意思;
3、SE24实现ZCL_IM_ME_PROCESS_PO_CUST

4、实现PROCESS_ITEM代码:
METHOD IF_EX_ME_PROCESS_PO_CUST~PROCESS_ITEM.

*&==========================================================
*& 对采购订单行项目增加是否有选择税码检查
*& Added by liangqh 2010-07-28
*&==========================================================

INCLUDE MM_MESSAGES_MAC.

DATA:
    L_ITEM TYPEMEPOITEM.           "采购订单行项目

*--> 取得采购订单行项目数据
  L_ITEM = IM_ITEM->GET_DATA( ).

*--> 判断行项目税率是否为空
  IF L_ITEM-MWSKZ = '' OR L_ITEM-MWSKZ ISINITIAL.
   MMPUR_MESSAGE 'E' 'ZMM01' '002' L_ITEM-EBELN L_ITEM-EBELP ''''.
  ENDIF.

ENDMETHOD.

METHOD IF_EX_ME_PROCESS_PO_CUST~CHECK.
*&==========================================================
*& 对采购订单行项目增加是否有选择税码检查
*& Added by liangqh 2010-07-28
*&==========================================================

INCLUDE MM_MESSAGES_MAC.

DATA:
    OBJ_ITEMSTYPE PURCHASE_ORDER_ITEMS,
    OBJ_ITEMTYPE PURCHASE_ORDER_ITEM,
    LW_HEADERTYPE MEPOHEADER,
    LW_ITEM TYPEMEPOITEM.

*-->取得订单抬头信息及明细数据
  LW_HEADER = IM_HEADER->GET_DATA().
  OBJ_ITEMS  =IM_HEADER->GET_ITEMS( ).

LOOP AT OBJ_ITEMS INTO OBJ_ITEM.

LW_ITEM =OBJ_ITEM-ITEM->GET_DATA( ).

*--> 判断行项目税率是否为空
    IFLW_ITEM-MWSKZ = '' OR LW_ITEM-MWSKZ IS INITIAL.
     MMPUR_MESSAGE 'E' 'ZMM01' '002' LW_ITEM-EBELN LW_ITEM-EBELP ''''.
    ENDIF.

ENDLOOP.

ENDMETHOD.

method IF_EX_ME_PROCESS_PO_CUST~POST.
*&==========================================================
*& 对采购订单行项目增加是否有选择税码检查
*& Added by liangqh 2010-07-28
*&==========================================================

INCLUDE MM_MESSAGES_MAC.

DATA:
    OBJ_ITEMSTYPE PURCHASE_ORDER_ITEMS,
    OBJ_ITEMTYPE PURCHASE_ORDER_ITEM,
    LW_HEADERTYPE MEPOHEADER,
    LW_ITEM TYPEMEPOITEM.

*-->取得订单抬头信息及明细数据
  LW_HEADER = IM_HEADER->GET_DATA().
  OBJ_ITEMS  =IM_HEADER->GET_ITEMS( ).

LOOP AT OBJ_ITEMS INTO OBJ_ITEM.

LW_ITEM =OBJ_ITEM-ITEM->GET_DATA( ).

*--> 判断行项目税率是否为空
    IFLW_ITEM-MWSKZ = '' OR LW_ITEM-MWSKZ IS INITIAL.
     MMPUR_MESSAGE 'E' 'ZMM01' '002' LW_ITEM-EBELN LW_ITEM-EBELP ''''.
    ENDIF.

ENDLOOP.

endmethod.

*********************************************************************************
Add by Andrew :
在采购订单增强中报消息信息的方法:
1.
    INCLUDE MM_MESSAGES_MAC.
     MMPUR_MESSAGE 'W' 'ZMM01' '002' ls_mepoitem-EBEln ls_mepoitem-EBELP ls_mepoitem-reslo '' .
2.
  sy-msgid = 'ZMM01'.

sy-msgty = 'W'.
    sy-msgno = 003.
    message id sy-msgid type sy-msgty number sy-msgno WITH ls_mepoitem-EBEln  ls_mepoitem-EBELP ls_mepoitem-reslo .
    set extended check off.
    call method cl_message_mm=>create
      EXPORTING
        im_msgid         = sy-msgid
        im_msgty         = sy-msgty
        im_msgno         = sy-msgno
        im_msgv1         = sy-msgv1
        im_msgv2         = sy-msgv2
        im_msgv3         = sy-msgv3
        im_msgv4         = sy-msgv4
        im_force_collect = mmpur_yes
      EXCEPTIONS
        failure          = 01
        dialog           = 02.
    set extended check off.

这两个方法实现方法是一样的,只是第一种是SAP 公司已经实现了,包含在include MM_MESSAGES_MAC中,所以直接引用。
消息类:SE91
建立消息类:ZMM01
Message : 002 Item&1 &2 The default issuing storagelocation is &3.
Message: 003 Item &1 &2 The defaultissuing storage location is &3.

SAP采购订单税码增强检查相关推荐

  1. 采购订单增强(根据公司代码、采购订单类型等相关订单信息给采购订单税码设置默认值)

    根据公司代码.采购订单类型等相关订单信息给采购订单税码设置默认值: 使用BADI及方法: BADI : ME_PROCESS_PO_CUST Method: PROCESS_ITEM 在Method ...

  2. 采购订单税码检查增强(badi)

    经过几次国家税率变更:采购部有些以前不常用的采购信息记录没有更新:下采购单时,可能会出现同一个采购供应商对应不同的税率: 为了避免这种现象:在下采购订单保存时,需要检查不同行项税率不一样时,出错提示, ...

  3. SAP 采购订单抬头屏幕增强(ME21N/ME22N/ME23N)

    转载自:http://blog.sina.com.cn/s/blog_778401470101efep.html 内容摘要:为采购订单增加一个页标签,在其中放入客户自定义字段,1. CMOD增强接口: ...

  4. SAP 采购订单抬头屏幕增强

    内容摘要:为采购订单增加一个页标签,在其中放入客户自定义字段,1. CMOD增强接口:MM06E005 EXIT_SAPMM06E_006 为子屏幕参数传入出口(抬头)EXIT_SAPMM06E_00 ...

  5. SAP采购订单屏幕BADI增强(实例)

    発注伝票拡張後結果画面 実装 ステップ1 SE11でEKKOとEKPOの定義に拡張項目を追加する EKKOの定義に既存の構造CI_EKKODBに拡張項目を追加する EKPOの定義に既存の構造CI_EK ...

  6. SAP 采购订单显示含税价制作方案

    SAP 采购订单显示含税价制作方案 轻松解决SAP系统采购信息计量中物料价格不能保存含税价问题 我们在和供应商谈价时,大部分国内供应商的报价都是含税的,然而我们现在在系统中维护采购信息记录时, 只能输 ...

  7. SAP采购订单创建预付款并删除

    采购订单预付款的删除@jettai 在SAP采购订单创建预付款 SAP系统支持创建采购订单的时候,选择预付款,并创建预付款请求. 针对行项目的预付款请求可以在如下图 创建预付款请求 在采购订单创建完毕 ...

  8. SAP采购订单科目分配类别P与Q解析

    SAP采购订单科目分配类别P与Q解析 在采购单科目分配类别(Account Assignment Category)一栏中有P和Q,都是对项目物资的采购,两者有何区别?我们一起来看一看. 1,首先了解 ...

  9. 【转】采购订单长文本增强

    采购订单长文本增强正式内容: 利用BADI:ME_PROCESS_PO_CUST,做PO长文本的增强. 本例程是在修改PO行项目短文本的时候,让下面的长文本内容=项目短文本. 过程:(省略创建BADI ...

最新文章

  1. Leetcode 130. 被围绕的区域 解题思路及C++实现
  2. [YTU]_1055 (输入字符串以及输出)
  3. android v4包自动导入吧,android如何导入v4包的源码
  4. 移动端HTML5框架
  5. 重构是什么、为什么要重构
  6. 深度学习 目标检测 算法大全列表
  7. 炼丹手册——NaN值问题
  8. 打印九九乘法表(跳转语句)
  9. Delphi JSON总结
  10. java毕业设计题目大全
  11. 机器学习之K均值聚类算法K-Means(python代码实现)
  12. android 小米imei 空,[教程]小米2s IMEI刷机造成的丢失 恢复及写入教程 【申精】
  13. 万用表测试软件,最全的万用表使用方法看这里!
  14. 计算机各种办公软件都很卡,电脑中打开office2016办公软件很卡的解决方法
  15. 关于实时推送系统的那点事
  16. 【转】宁做创业狼,不做打工狗(ZT)
  17. vue条形码生成插件vue-barcode
  18. SpinLock 锁实现
  19. DirectX天空球和天空盒子模型
  20. b B KB MB GB TB 之间的关系与换算

热门文章

  1. 局域网无法访问本地apache
  2. 在ROS中开始自主机器人仿真 - 2 让turtlebot跑起来
  3. linux下curl指令常见使用
  4. Selenium v2.45.0 发布,此版本现已提供下载:http://selenium-rele
  5. Android 之 LogDog
  6. 【Visual C++】游戏开发笔记二十一 游戏基础物理建模(三) 摩擦力系统模拟
  7. PHP实例——获取文件的绝对路径
  8. 2018 German Collegiate Programming Contest (GCPC 18)
  9. mysql 主从同步配置
  10. Vue.js 2 渐进式前端框架 的最佳学习方法