VBAK BAPI Extensionin不起作用

2020-08-25 12:27发布

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

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


你好,

我已经向VBAK和VBAP添加了一些自定义字段。

我有一个程序可以使用BAPI_SALESORDER_CHANGE来更新某些订单

并使用BAPI_SALESORDER_CREATEFROMDAT2创建其他人。

在两种情况下,始终在VBAP中更新项目级别的自定义字段。
但是,因为VBAK无法正常工作...


我已在结构VBAK,BAPE_VBAK,BAPE_VBAKX,VBAKKOZ和VBAKKOZX中添加了字段。

这是我的代码,用于使用bapi CHANGE更新标头字段:

清除:ls_extensionin。
 ls_extensionin-structure ='BAPE_VBAK'。
 ls_bape_vbak-vbeln = my_order。
 ls_bape_vbak-zznum_int = some_value。
 (还有更多自定义字段...我在此代码段中只放了一个)
 ls_extensionin + 30(960)= ls_bape_vbak。
 将ls_extensionin附加到lt_extensionin中。

 清除:ls_extensionin。
 ls_extensionin-structure ='BAPE_VBAKX'。
 ls_bape_vbakx-vbeln = my_order。
 ls_bape_vbakx-zznum_int = abap_true。
 ls_extensionin + 30(960)= ls_bape_vbakx。
 将ls_extensionin附加到lt_extensionin中。

并创建:

清除:ls_extensionin。
 ls_extensionin-structure ='BAPE_VBAK'。
 ls_bape_vbak-zznum_int = some_value。
 ls_extensionin + 30(960)= ls_bape_vbak。
 将ls_extensionin附加到lt_extensionin中。

遵循以下一些线程/文档:

https: //blogs.sap.com/2009/09/30/updating-custom-fields-vbap-and-vbak-using-bapisalesordercreatefromdat2 /

https://answers.sap.com/questions/3292612/create-salesorder -throw-bapisalesordercreatefromda.html

您知道可能是什么问题吗?
谢谢。

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

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


你好,

我已经向VBAK和VBAP添加了一些自定义字段。

我有一个程序可以使用BAPI_SALESORDER_CHANGE来更新某些订单

并使用BAPI_SALESORDER_CREATEFROMDAT2创建其他人。

在两种情况下,始终在VBAP中更新项目级别的自定义字段。
但是,因为VBAK无法正常工作...


我已在结构VBAK,BAPE_VBAK,BAPE_VBAKX,VBAKKOZ和VBAKKOZX中添加了字段。

这是我的代码,用于使用bapi CHANGE更新标头字段:

清除:ls_extensionin。
 ls_extensionin-structure ='BAPE_VBAK'。
 ls_bape_vbak-vbeln = my_order。
 ls_bape_vbak-zznum_int = some_value。
 (还有更多自定义字段...我在此代码段中只放了一个)
 ls_extensionin + 30(960)= ls_bape_vbak。
 将ls_extensionin附加到lt_extensionin中。

 清除:ls_extensionin。
 ls_extensionin-structure ='BAPE_VBAKX'。
 ls_bape_vbakx-vbeln = my_order。
 ls_bape_vbakx-zznum_int = abap_true。
 ls_extensionin + 30(960)= ls_bape_vbakx。
 将ls_extensionin附加到lt_extensionin中。

并创建:

清除:ls_extensionin。
 ls_extensionin-structure ='BAPE_VBAK'。
 ls_bape_vbak-zznum_int = some_value。
 ls_extensionin + 30(960)= ls_bape_vbak。
 将ls_extensionin附加到lt_extensionin中。

遵循以下一些线程/文档:

https: //blogs.sap.com/2009/09/30/updating-custom-fields-vbap-and-vbak-using-bapisalesordercreatefromdat2 /

https://answers.sap.com/questions/3292612/create-salesorder -throw-bapisalesordercreatefromda.html

您知道可能是什么问题吗?
谢谢。

付费偷看设置
发送
1条回答
大简至美
1楼-- · 2020-08-25 13:08

嗨,

请尝试以下方法。 您必须根据结构传递值,如果其空白值通过" SPACE"。请使用方法'cl_abap_container_utilities => fill_container_c'传递给结构。

数据:lwa_bape_vbak类型bape_vbak,
 lwa_bape_vbakx TYPE bape_vbakx。


 如果gs_itab-zzwa不是INITIAL。
     lwa_bape_vbak-zzwa = gs_itab-zzwa。
     lwa_bape_vbakx-zzwa ='X'。
   其他。
     lwa_bape_vbak-zzwa =空间。
     lwa_bape_vbakx-zzwa =空间。
   万一。


   将'BAPE_VBAK'移动到lwa_extensionin-structure中。


   如果lwa_bape_vbak不是INITIAL。
     呼叫方法cl_abap_container_utilities => fill_container_c
       出口
         im_value = lwa_bape_vbak
       输入
         ex_container = lwa_extensionin-valuepart1。
     在itab_extensionin中附加lwa_extensionin。
     清除lwa_extensionin。
     清除itab_extensionin。
     将'BAPE_VBAKX'移动到lwa_extensionin结构中。
     将lwa_bape_vbakx移动到lwa_extensionin-valuepart1。
     在itab_extensionin中附加lwa_extensionin。
     清除itab_extensionin。
   万一。
 

一周热门 更多>