MIGO EXIT BADI(MB_MIGO_BADI)

2020-08-22 06:31发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我使用BADI(MB_MIGO_BADI)在MIGO交易中添加了一个标签(子屏幕)

我需要显示所选当前订单项的一些信息

所以我使用了badi中的方法(PBO-detail/line-modify),但是所有方法都给了我单击/选择的旧订单项

我不明白这样做的目的,

但是关于如何在PAI模块中获取正确的订单项数据以使我的子屏幕/TAB能够显示的任何想法

点击标签页中当前订单项的正确信息?

这是line-modify方法中的代码。

 *如果是带有采购订单参考的"发货"操作

 IF(操作='A07'AND REFDOC ='R01')或(操作='A04'AND REFDOC ='R02')。

 WA_ITEM-LINE_ID = I_LINE_ID。

 WA_ITEM-DAFTAR_FROM = CS_GOITEM-ZZDAFTAR_FROM。
 WA_ITEM-DAFTAR_TO = CS_GOITEM-ZZDAFTAR_TO。


 如果WA_ITEM-DAFTAR_FROM不是INITIAL或WA_ITEM-DAFTAR_TO不是INITIAL。
 在LINE_ID = I_LINE_ID处删除IT_ITEM。
 将WA_ITEM插入表IT_ITEM中。
 清除标志。
 万一。
 ELSEIF((ACTION ='A01'AND REFDOC ='R01')OR(ACTION ='A01'AND REFDOC ='R10'AND CS_GOITEM-BWART ='561'))。
 如果SY-UCOMM ='MIGO_OK_SPLIT_QUAN'。
 WA_ITEM-LINE_ID = I_LINE_ID。
 WA_ITEM-DAFTAR_FROM = CS_GOITEM-ZZDAFTAR_FROM。
 WA_ITEM-DAFTAR_TO = CS_GOITEM-ZZDAFTAR_TO。
 如果WA_ITEM-DAFTAR_FROM不是INITIAL或WA_ITEM-DAFTAR_TO不是INITIAL。
 在LINE_ID = I_LINE_ID处删除IT_ITEM。
 将WA_ITEM插入表IT_ITEM中。
 清除标志。
 万一。
 ELSEIF FLAG ='X'。
 WA_ITEM-LINE_ID = I_LINE_ID。
 WA_ITEM-DAFTAR_FROM = CS_GOITEM-ZZDAFTAR_FROM。
 WA_ITEM-DAFTAR_TO = CS_GOITEM-ZZDAFTAR_TO。
 如果WA_ITEM-DAFTAR_FROM不是INITIAL或WA_ITEM-DAFTAR_TO不是INITIAL。
 在LINE_ID = I_LINE_ID处删除IT_ITEM。
 将WA_ITEM插入表IT_ITEM中。
 清除标志。

 万一。
 万一。
 ENDIF。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我使用BADI(MB_MIGO_BADI)在MIGO交易中添加了一个标签(子屏幕)

我需要显示所选当前订单项的一些信息

所以我使用了badi中的方法(PBO-detail/line-modify),但是所有方法都给了我单击/选择的旧订单项

我不明白这样做的目的,

但是关于如何在PAI模块中获取正确的订单项数据以使我的子屏幕/TAB能够显示的任何想法

点击标签页中当前订单项的正确信息?

这是line-modify方法中的代码。

 *如果是带有采购订单参考的"发货"操作

 IF(操作='A07'AND REFDOC ='R01')或(操作='A04'AND REFDOC ='R02')。

 WA_ITEM-LINE_ID = I_LINE_ID。

 WA_ITEM-DAFTAR_FROM = CS_GOITEM-ZZDAFTAR_FROM。
 WA_ITEM-DAFTAR_TO = CS_GOITEM-ZZDAFTAR_TO。


 如果WA_ITEM-DAFTAR_FROM不是INITIAL或WA_ITEM-DAFTAR_TO不是INITIAL。
 在LINE_ID = I_LINE_ID处删除IT_ITEM。
 将WA_ITEM插入表IT_ITEM中。
 清除标志。
 万一。
 ELSEIF((ACTION ='A01'AND REFDOC ='R01')OR(ACTION ='A01'AND REFDOC ='R10'AND CS_GOITEM-BWART ='561'))。
 如果SY-UCOMM ='MIGO_OK_SPLIT_QUAN'。
 WA_ITEM-LINE_ID = I_LINE_ID。
 WA_ITEM-DAFTAR_FROM = CS_GOITEM-ZZDAFTAR_FROM。
 WA_ITEM-DAFTAR_TO = CS_GOITEM-ZZDAFTAR_TO。
 如果WA_ITEM-DAFTAR_FROM不是INITIAL或WA_ITEM-DAFTAR_TO不是INITIAL。
 在LINE_ID = I_LINE_ID处删除IT_ITEM。
 将WA_ITEM插入表IT_ITEM中。
 清除标志。
 万一。
 ELSEIF FLAG ='X'。
 WA_ITEM-LINE_ID = I_LINE_ID。
 WA_ITEM-DAFTAR_FROM = CS_GOITEM-ZZDAFTAR_FROM。
 WA_ITEM-DAFTAR_TO = CS_GOITEM-ZZDAFTAR_TO。
 如果WA_ITEM-DAFTAR_FROM不是INITIAL或WA_ITEM-DAFTAR_TO不是INITIAL。
 在LINE_ID = I_LINE_ID处删除IT_ITEM。
 将WA_ITEM插入表IT_ITEM中。
 清除标志。

 万一。
 万一。
 ENDIF。
付费偷看设置
发送
1条回答
compass1988
1楼-- · 2020-08-22 06:40

嗨,行修改应适用于当前订单项,并共享代码以更好地理解...。

一周热门 更多>