CS01、CS02保存时增强的BADI(BOM_UPDATE)
2015-05-20 13:08
901 查看
1、需求背景:LC项目中,在保存BOM时,需要给BOM以Y开头的物料组件的展开类型字段赋默认值,查了一些资料,找到一个BADI增强,分享一下,希望对用到的兄弟有帮助。
2、BADI增强
step1:执行事务码SE19,在BAdI Name里输入BOM_UPDATE,然后点击“Create Impl”按钮
setp2:在Implementation Name处输入ZBOM_UPDATE,然后点OK按钮。
step3:返回到se19事务码界面,在Implementation中输入"ZBOM_UPDATE",点击"Change"按钮.
step4:双击CHANGE_AT_SAVE
step5:写入代码,保存,激活。当用CS01 CS02创建或修改BOM时,就能看到默认值D2
代码如下:
METHOD IF_EX_BOM_UPDATE~CHANGE_AT_SAVE.
IF SY-TCODE <> 'ZPP110'.
DATA: STPOB TYPE STPOB.
DATA: FIELD_NAME(30) VALUE '(SAPLCSBT)O1-STPOB[]'.
FIELD-SYMBOLS: <TABLE> TYPE TABLE.
ASSIGN (FIELD_NAME) TO <TABLE>.
LOOP AT <TABLE> INTO STPOB.
IF STPOB-IDNRK+0(1) = 'Y' AND STPOB-STPOZ+0(1) = '9'.
CLEAR STPOB-DSPST.
STPOB-DSPST = 'D2'.
MODIFY <TABLE> FROM STPOB.
ENDIF.
ENDLOOP.
COMMIT WORK AND WAIT.
ENDIF.
ENDMETHOD.
2、BADI增强
step1:执行事务码SE19,在BAdI Name里输入BOM_UPDATE,然后点击“Create Impl”按钮
setp2:在Implementation Name处输入ZBOM_UPDATE,然后点OK按钮。
step3:返回到se19事务码界面,在Implementation中输入"ZBOM_UPDATE",点击"Change"按钮.
step4:双击CHANGE_AT_SAVE
step5:写入代码,保存,激活。当用CS01 CS02创建或修改BOM时,就能看到默认值D2
代码如下:
METHOD IF_EX_BOM_UPDATE~CHANGE_AT_SAVE.
IF SY-TCODE <> 'ZPP110'.
DATA: STPOB TYPE STPOB.
DATA: FIELD_NAME(30) VALUE '(SAPLCSBT)O1-STPOB[]'.
FIELD-SYMBOLS: <TABLE> TYPE TABLE.
ASSIGN (FIELD_NAME) TO <TABLE>.
LOOP AT <TABLE> INTO STPOB.
IF STPOB-IDNRK+0(1) = 'Y' AND STPOB-STPOZ+0(1) = '9'.
CLEAR STPOB-DSPST.
STPOB-DSPST = 'D2'.
MODIFY <TABLE> FROM STPOB.
ENDIF.
ENDLOOP.
COMMIT WORK AND WAIT.
ENDIF.
ENDMETHOD.
相关文章推荐
- PP生产订单的BADI增强 WORKORDER_UPDATE
- PR 修改保存的增强 ME_UPDATE_REQUISITION
- BAdi:BOM_UPDATE - Check update for BOM Save
- PP生产订单的BADI增强 WORKORDER_UPDATE
- BAdi:BOM_UPDATE - Check update for BOM Save
- PP生产订单的BADI增强 WORKORDER_UPDATE
- PP生产订单的BADI增强 WORKORDER_UPDATE
- SAP 查找增强的方法总结,EXIT & BADI
- Could not execute JDBC batch update/ORA-01779: 无法修改与非键值保存表对应的列
- hibernate的各种保存方式的区别 (save,persist,update,saveOrUpdte,merge,flush,lock)等
- SQL Server 2008中SQL增强之三:Merge(在一条语句中使用Insert,Update,Delete)
- (转载):hibernate的各种保存方式的区别 (save,persist,update,saveOrUpdte,merge,flush,lock)等
- hibernate的各种保存方式的区别 (save,persist,update,saveOrUpdte,merge,flush,lock)等
- hibernate的各种保存方式的区别 (save,persist,update,saveOrUpdte,merge,flush,lock)等
- hibernate的各种保存方式的区别 (save,persist,update,saveOrUpdte,merge,flush,lock)等
- SAP 三代增强badi的查找方法
- NHibernate的各种保存方式的区别 (save,persist,update,saveOrUpdte,merge,flush,lock)
- 转贴 hibernate的各种保存方式的区别 (save,persist,update,saveOrUpdte,merge,flush,lock)等
- CS01创建BOM时菜单栏设置的作用
- 销售订单SO保存校验的用户出口增强