无法更新Mseg自定义字段。

2020-08-16 00:10发布

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

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


我需要过帐物料凭证移动类型201,我可以过帐凭证,但不能添加z自定义字段,对于扩展,或更新我发现的BAPI_TE_XMSEG是更新自定义字段的bapi,
所以我附加了BAPI_TE_XMSEG的结构,就像mseg一样。

发布时

 数据:GM_HEADER TYPE BAPI2017_GM_HEAD_01,
        GM_CODE TYPE BAPI2017_GM_CODE,
        GM_HEADRET类型BAPI2017_GM_HEAD_RET,
        带有标题行的BAPI2017_GM_ITEM_CREATE的GM_ITEM类型表。

 数据:GM_RETURN TYPE BAPIRET2发生0。
 数据:GM_RETMTD类型BAPI2017_GM_HEAD_RET-MAT​​_DOC,
         IT_EXTENSIONIN类型BAPIPAREX发生0,
         WA_EXTENSIONIN类型BAPIPAREX。

 数据:WA_BAPI_TE_XMSEG类型BAPI_TE_XMSEG。
 清除:GM_RETURN,GM_RETMTD。
 刷新GM_RETURN。
 *设置BAPI标头数据。
 GM_HEADER-PSTNG_DATE = SY-DATUM。
 GM_HEADER-DOC_DATE = SY-DATUM。
 GM_CODE-GM_CODE ='03'。  " MB11

 *将551运动写入表格

 清除GM_ITEM。
 移动:" 201"到GM_ITEM-MOVE_TYPE,
        'POM000001'至GM_ITEM-MATERIAL,
        '1'到GM_ITEM-ENTRY_QNT,
        'KG'到GM_ITEM-ENTRY_UOM,
        '1000'到GM_ITEM-PLANT,
        '1010'到GM_ITEM-STGE_LOC,
       '0010001010'至GM_ITEM-COSTCENTER,
       '0000000980'至GM_ITEM-BATCH。

 APPEND GM_ITEM。


 WA_BAPI_TE_XMSEG-MATDOC_ITM ='0001'。
 WA_BAPI_TE_XMSEG-ZZPROJECTNUMBER ='7554A000'。  " WA_FINAL-PRODUCT_NUMBER。
 WA_BAPI_TE_XMSEG-ZZPROJECTNAME ='通风机'。

 WA_EXTENSIONIN-STRUCTURE ='BAPI_TE_XMSEG'。
 WA_EXTENSIONIN + 30 = WA_BAPI_TE_XMSEG。
 将WA_EXTENSIONIN附加到IT_EXTENSIONIN。


 通话功能'BAPI_GOODSMVT_CREATE'
   出口
     GOODSMVT_HEADER = GM_HEADER
     GOODSMVT_CODE = GM_CODE
   输入
     GOODSMVT_HEADRET = GM_HEADRET
     材料文档= GM_RETMTD
   桌子
     GOODSMVT_ITEM = GM_ITEM
     RETURN = GM_RETURN
     EXTENSIONIN = IT_EXTENSIONIN。


 通话功能'BAPI_TRANSACTION_COMMIT'
   出口
     WAIT ='X'。

请检查一下,我在上面的代码中没有发现任何问题,如果发现任何问题,请更新我。

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

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


我需要过帐物料凭证移动类型201,我可以过帐凭证,但不能添加z自定义字段,对于扩展,或更新我发现的BAPI_TE_XMSEG是更新自定义字段的bapi,
所以我附加了BAPI_TE_XMSEG的结构,就像mseg一样。

发布时

 数据:GM_HEADER TYPE BAPI2017_GM_HEAD_01,
        GM_CODE TYPE BAPI2017_GM_CODE,
        GM_HEADRET类型BAPI2017_GM_HEAD_RET,
        带有标题行的BAPI2017_GM_ITEM_CREATE的GM_ITEM类型表。

 数据:GM_RETURN TYPE BAPIRET2发生0。
 数据:GM_RETMTD类型BAPI2017_GM_HEAD_RET-MAT​​_DOC,
         IT_EXTENSIONIN类型BAPIPAREX发生0,
         WA_EXTENSIONIN类型BAPIPAREX。

 数据:WA_BAPI_TE_XMSEG类型BAPI_TE_XMSEG。
 清除:GM_RETURN,GM_RETMTD。
 刷新GM_RETURN。
 *设置BAPI标头数据。
 GM_HEADER-PSTNG_DATE = SY-DATUM。
 GM_HEADER-DOC_DATE = SY-DATUM。
 GM_CODE-GM_CODE ='03'。  " MB11

 *将551运动写入表格

 清除GM_ITEM。
 移动:" 201"到GM_ITEM-MOVE_TYPE,
        'POM000001'至GM_ITEM-MATERIAL,
        '1'到GM_ITEM-ENTRY_QNT,
        'KG'到GM_ITEM-ENTRY_UOM,
        '1000'到GM_ITEM-PLANT,
        '1010'到GM_ITEM-STGE_LOC,
       '0010001010'至GM_ITEM-COSTCENTER,
       '0000000980'至GM_ITEM-BATCH。

 APPEND GM_ITEM。


 WA_BAPI_TE_XMSEG-MATDOC_ITM ='0001'。
 WA_BAPI_TE_XMSEG-ZZPROJECTNUMBER ='7554A000'。  " WA_FINAL-PRODUCT_NUMBER。
 WA_BAPI_TE_XMSEG-ZZPROJECTNAME ='通风机'。

 WA_EXTENSIONIN-STRUCTURE ='BAPI_TE_XMSEG'。
 WA_EXTENSIONIN + 30 = WA_BAPI_TE_XMSEG。
 将WA_EXTENSIONIN附加到IT_EXTENSIONIN。


 通话功能'BAPI_GOODSMVT_CREATE'
   出口
     GOODSMVT_HEADER = GM_HEADER
     GOODSMVT_CODE = GM_CODE
   输入
     GOODSMVT_HEADRET = GM_HEADRET
     材料文档= GM_RETMTD
   桌子
     GOODSMVT_ITEM = GM_ITEM
     RETURN = GM_RETURN
     EXTENSIONIN = IT_EXTENSIONIN。


 通话功能'BAPI_TRANSACTION_COMMIT'
   出口
     WAIT ='X'。

请检查一下,我在上面的代码中没有发现任何问题,如果发现任何问题,请更新我。

付费偷看设置
发送
5条回答
蓋茨
1楼 · 2020-08-16 00:28.采纳回答

确定要为扩展名使用正确的结构名称和定义吗?
我的建议是在badi中放置一个断点,然后检查调试调用了哪种实现以及所需的结构

例如,在我的系统中,我有3种不同的实现处于活动状态,其中一种实现了

半个程序猿
2楼-- · 2020-08-16 00:26

如果您对代码进行了很好的格式化以使其易于阅读,则我更有可能查看您的代码。 使用编辑器中的"代码"按钮。

骆驼绵羊
3楼-- · 2020-08-16 00:34

只需在CL_EXITHANDLER-> GET_INSTANCE方法上设置一个断点,然后使用正确的数据执行BAPI。 尝试以一种Custom se11结构填充您的自定义数据。

检查在处理之间是否触发了任何BADI。 我确信会有一些Badi,您需要使用新的增强结构字段将自定义字段映射到MAP。

让我知道您是否仍然无法做到这一点。 我会找到并提供给您的。

Aaron 3364
4楼-- · 2020-08-16 00:27

谢谢您格式化代码! :-)不幸的是,我无法回答您的问题。

四川大学会员
5楼-- · 2020-08-16 00:31
此方法有效(Y)。

一周热门 更多>