物料凭证过账时有用的BAdI和User exit

当用事务代码MIGO或者是MB01/MB1C/MB1A等进行物料凭证过账时,会有加入用户自检查,自定义自开发的需求。

本文将列举一些非常有用的BAdI和user-exit.

所有的BAdI定义可以通过事务代码SE18来查看。

BAdI(Business Add-Ins):

1. MB_MIGO_BADI

  • 此BAdI只能在MIGO中被启用,主要是用于用户自定义从属画面的输入输出控制,自定义项目的检查,自定义表的更新等
  • 系统限制此BAdI至多只能有5个增强实施,否则会在运行MIGO时遇到MIGO047 (已超出 MIGO 中的 BADI 执行的最大量) 的错误

    重要的方法(method)

  • LINE_MODIFY

        每一次新加一条item记录,或者是对已有的item进行了修改时,系统会调用此方法将新增或者是变

        化反映到构造GOITEM中

  • POST_DOCUMENT

        此方法用来实现用户自定义数据与物料凭证之间的同步

  • CHECK_ITEM

        对行项目进行自的定义检查并可以输出自定义的警告或者是错误信息

        警告信息一样只会在[检查]过程中输出,和标准一样在过账时所有的警告都将被忽略,

        只有错误信息会被表示出来并且过账会被终止

  • PROPOSE_SERIALNUMBERS

        此方法是经由note 1982776新引进的用于在MIGO中根据参照凭证(例:采购订单或是生产订单)

        来决定并初期提案序列号码,在系统的运用中提供了灵活与便利性

2. MB_DOCUMENT_BADI

  • 创建物料凭证时的BAdI
  • 此BAdI不能用来更改物料凭证中的数据或者是相应FI/CO对应的数据

    重要的方法(method)

  • MB_DOCUMENT_BEFORE_UPDATE

        非常有用的方法,可以在其中进行自定义的检查并更具已有的物料凭证数据进行自定义项目和表的操作

        此方法是在FI凭证相关程序前调用,因此不能在此方法中执行例如像commit work或者是roll back,

        解锁这样的操作,否则会造成数据表之间的不整合

  • MB_DOCUMENT_UPDATE

        此方法是在更新处理(update task)中被调用

3. MB_GOODSMOVEMENT_DCI

    使用此BAdI可以控制参照采购订单的收货。 当delivery complete在采购订单中被钩上的情况下,

    可以利用此BAdI使系统报错误信息M7433中止收货

User-exit可以通过SMOD或者SE37查看。

1. EXIT_SAPMM07M_001/所属增强MBCF0002

    用来自定义行项目的文本文字

    但是也可以经常用来进行自定义的检查并输出错误信息

2. EXIT_SAPMM07M_003/所属增强MBCFC003

    EXIT_SAPMM07M_004/所属增强MBCFC004

    EXIT_SAPMM07M_010/所属增强MBCFC010

    处理并操作批次相关的信息

3. EXIT_SAPLMBMB_001/所属增强MB_CF001

    更新物料凭证时的客户功能出口

综上,希望您对物料凭证中的一些增强和可自开发定义的出口有了一定的了解与认知。

你可能感兴趣的:(ABAP,ABAP)