当实施ME_PROCESS_PO_CUST这个badi来增强ME21N的时候,用了到方法process_account,既对ME21N的行项目的科目分配做增强。主要用到如下类:

IF_PURCHASE_ORDER_ITEM_MM:获取PO行项目内容

IF_PURCHASE_ORDER_ACCOUNT_MM:PO行项目科目分配相关
  • 需求描述:根绝ME21N输入的行项目信息,从自建表ZMMT003中自动带出总帐科目字段
1、实施增强ME_PROCESS_PO_CUST并在方法process_account中定义变量
  DATA:lc_account TYPE REF TO if_purchase_order_account_mm,
       lc_item TYPE REF TO if_purchase_order_item_mm,
       ls_poitem TYPE mepoitem,"po item datas
       ls_account TYPE mepoaccounting,"科目分配字段结构
       lv_sakto TYPE saknr. "总帐科目编号
2、取得PO行项目数据
  CALL METHOD lc_account->get_item
    RECEIVING
      re_item = lc_item.
  CALL METHOD lc_item->get_data
    RECEIVING
      re_data = ls_poitem.
3、根据行项目数据,去自建表ZMMT003取总帐科目放到变量中
    SELECT SINGLE saknr
      INTO lv_sakto
      FROM zmmt003
      WHERE werks = ls_poitem-werks
      AND   knttp = ls_poitem-knttp
      AND   matkl = ls_poitem-matkl.
4、取得科目分配视图下的数据
      CALL METHOD lc_account->get_data
        RECEIVING
          re_data = ls_account.

MOVE: lv_sakto TO ls_account-sakto.

5、设置科目分配视图中的数据
          CALL METHOD lc_account->set_data
            EXPORTING
              im_data = ls_account.
注意:如果第4步没有先获取科目分配视图下的数据,直接进行更新,那么可能会因为传入参数不足,导致报如下错误“没有采用附加业务 ME_PROCESS_PO_CUST 的数据”,消息号为:MEPO151

me21n增强BADI:ME_PROCESS_PO_CUST之process_account相关推荐

  1. ME21N增强提示警告消息

    在ME21N增强中,可以使用message的方法提示错误的消息,但警告消息使用message则提示不了,需要使用系统宏mmpur_message 提示. data:begin of lw_equp, ...

  2. 利用BADI ME_PROCESS_PO_CUST進行PO check

    BADI ME_PROCESS_PO_CUST當中有一個method CHECK可以進行整個PO的檢查. 要注意的是parameter只有IM_HEADER,並且是object形態. 以下是取得內容的 ...

  3. BADI 第三代增强 BADI 和 NEW BADI

    BADI:Bussiness Add-In. 第三代增强:源代码是以接口的形式发布,通过调用接口方法的方式实现.用户增强是通过实现一个或多个基于这个接口的类,对同一个增强可能会出现不同的源代码,这些源 ...

  4. SAP增强实施步骤-三代增强BADI技术

    SAP R/3 4.0之前 ABAP完全是面向过程的语言,面向对象的编程技术是在SAP R/3 4.0后版本中逐渐改造增加进去的,至目前ABAP已基本包含了面向对象的所有技术,所以完全可以说ABAP是 ...

  5. 采购单ME21N增强控制行文本必输

    采购订单行项目增强:ME_PROCESS_PO_CUST 在se19,ME_PROCESS_PO_CUST~CHECK去添加增强点 INCLUDE mm_messages_mac. DATA(lt_p ...

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

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

  7. SAP第三代增强——BADI解读

    BAdI是SAP在标准程序中,为客户自定义逻辑所预留的接口(属于第三代增强),在技术本质上是一个interface,通过实现类的向上继承,完成用户逻辑的调用. 操作BAdI的事务代码: SE18:定义 ...

  8. BW增强-BAdI(初级)

    BADI增强 1. 数据源增强 2. BADI Provider 插播 插播结束 3. 变量 Exit 1. 数据源增强 想到哪写到哪... 对数据源添加字段,写代码来填充字段值.或者更改抽取方式. ...

  9. SAP增强 BADI屏幕增强实例(MIGO增加分页签)

    最终效果:以下根据系统实例做的 (需要注意第4步中的UPDATE函数配置) 1.SE11建立数据表,主要是用于存放附加的数据: MANDT     MANDT   CLNT        3      ...

最新文章

  1. LeetCode简单题之矩阵中的幸运数
  2. 2021年大数据Flink(八):Flink入门案例
  3. 怎么去掉 IDEA 中 XML 显示的屎黄色
  4. Cisco交换机密码配置整理
  5. [PSP]通向5.50-D3的倒数计时
  6. nexys3使用笔记1
  7. 1.15 Python基础知识 - 函数
  8. 多租户saas 架构_实战复盘:toB产品的多租户架构设计
  9. php如何修改二维数组的值,php如何改变二维数组的值
  10. 字符串Contains匹配失效
  11. Window 2008 server DNS 无法解析ISA WPAD
  12. MikroTik ROS软路由OSPF命令配置实例
  13. java numberformat异常_java – 解析货币值失败的NumberFormat
  14. dq坐标系下无功功率表达式_基于自动发电控制的柔性直流输电恢复电网的控制方法_2017103002337_权利要求书_专利查询_专利网_钻瓜专利网...
  15. Python html.parser库学习小结
  16. RS232串口的直连串口线和交叉串口线的区别
  17. 智能家居控制系统制作技术_智能家居控制系统是什么_智能家居控制系统的由来-装修攻略...
  18. linux dir大全,Linux常用命令大全
  19. 关于研发项目计划排期与项目需求延期的想法
  20. ZSG-AP5甲烷传感器校验仪

热门文章

  1. ubuntu如何实现双屏显示(转)
  2. 在Java8的foreach()中不能break,如果需要continue时,可以使用return
  3. 美国通过热像无人机找到失踪老人
  4. SQL注入原理及产生过程
  5. 转 Cocos2d-x3.0模版容器详解之三:cocos2d::Value
  6. 有点小激动-Index Condition Pushdown Optimization
  7. MySQL执行外部sql脚本文件的命令
  8. Java中的一直不能掌握的switch-case语句
  9. 20181210-es6(letconst解构模版字符串原理 展开运算符、剩余运算符运用 深拷贝原理 reduce原理 箭头函数)...
  10. ngnix之lnmp环境搭建及Dvbbs搭建