CS01、CS02保存时增强的BADI(BOM_UPDATE)
1、需求背景:PLM-EPE项目中,BOM由PDM系统通过TDMI传到EPE时,当组件具有SW替代组时, 在保存BOM时,清空成本核算标识相关。
解决方案:使用BADI增强 BOM_UPDATE
2、实施BADI增强
1).执行事务码SE19,在业务加载项名称里输入BOM_UPDATE,然后点击“创建实施”按钮
2).在弹出的对话框中,输入实施名称 ZBOM_UPDATE , 然后点击OK按钮。
3).双击方法 CHANGE_AT_SAVE,创建实施方法
4).填写相关代码,用于核验数据或修改数据
注意点: 因为此方法的输入参数全部为只读,可以做相关校验,但修改数据要通过其它方法。
5)修改数据
步骤1。 获取全局数据 --详细参照--通过Field-symbols跨程序抽取或修改全局变量值
DATA: FIELD_NAME(30) VALUE '(SAPLCSBT)O1-STPOB[]'.
FIELD-SYMBOLS: <TABLE> TYPE TABLE.
ASSIGN (FIELD_NAME) TO <TABLE>.
步骤2。LOOP <TABLE> 对数据进行修改操作操作
DATA: SWHERE TYPE STRING.
SWHERE = 'ALPGR = ''SW'' and ( VBKZ = ''U'' or VBKZ = ''I'' ) '.
LOOP AT <TABLE> INTO LS_STPOB WHERE (SWHERE) .
CLEAR LS_STPOB-SANKA.
MODIFY <TABLE> FROM LS_STPOB.
ENDLOOP.
注意点:
1. 只能修改VBKZ = 'U' (修改) 或 VBKZ = 'I' (新增)的记录,其它记录不要动,否则系统会报错或者数据修改异常。
2.此处不能有commit ,否则接口中的其它方法会失效或出错