自定义EKPO字段未使用BAPI_PO_CHANGE更新

2020-08-21 12:00发布

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

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


我正在尝试使用BAPI_PO_CHANGE更新EKPO zfield(自定义),但无法正常工作。 我已正确填充struct extensioin(我检查了)。 zfield是非字符,因此我实现了badi ME_BAPI_PO_CUST方法map2iextensionin,但该字段仍未更新。 是否有必要在该方法中引发异常? 知道为什么不起作用吗?

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

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


我正在尝试使用BAPI_PO_CHANGE更新EKPO zfield(自定义),但无法正常工作。 我已正确填充struct extensioin(我检查了)。 zfield是非字符,因此我实现了badi ME_BAPI_PO_CUST方法map2iextensionin,但该字段仍未更新。 是否有必要在该方法中引发异常? 知道为什么不起作用吗?

付费偷看设置
发送
7条回答
哎,真难
1楼-- · 2020-08-21 12:38

亲爱的吉迪恩

这篇文章可能对您有所帮助。

https://answers.sap.com/questions/7489245/populate-custom-fields-in-ekpo-using-bapipochange.html

如果可以,请更新我的内容:-)

lukcy2020
2楼-- · 2020-08-21 12:23

最后的意图是我尝试过这种方式,但也尝试过CL_ABAP_CONTAINER_UTILITIES。

FORM bapi_call。

数据:
lt_poitem类型bapimepoitem_tp,
ls_poitem类型bapimepoitemx_tp,
ls_poitemx类型bapimepoitemx_tp,
ls_poitemx类型bapimepoitemx
ls_bapi_tex类型bapi_te_mepoitemx,
lt_extin类型bapiparex_t,
ls_extin类型bapiparex,
lt_ret类型bapiret2_t。
FIELD-SYMBOLS:
类型c,

ls_poitem-po_item = -ebelp.APPEND ls_poitemx-po_item = -ebelp。* ls_poitemx-po_itemx ='X'.APPEND ls_poitemx> > ls_extin-structure ='BAPI_TE_MEPOITEM'。
ls_bapi_te-po_item = -ebelp。
ls_bapi_te-zzdi_rule_num = -rule_num。

ASSIGN ls_bapi_te到铸造。

分配铸造。

移动到ls_bapi_tec。
ls_extin + 30 =

APPEND ls_extin到lt_extin。

清除ls_extin。
ls_extin-structure ='BAPI_TE_MEPOITEMX'。
ls_bapi_tex-po_item = -ebelp。
ls_bapi_tex-zzdi_rule_num ='X'。

ASSIGN ls_bapi_tex到铸造

.ASSIGN 铸造。
ls_extin + 30 =

APPEND ls_extin到lt_extin。

清除ls_extin。

通话功能" BAPI_PO_CHANGE"

导出

采购订单= -ebeln
no_authority ='X'

表格

return = lt_ret
poitem = lt_poitem
poitemx = lt_poitemx

extensionin = lt_extin。

葫芦娃快救爷爷
3楼-- · 2020-08-21 12:23

请检查以下SAP注释: 1895028-使用BAPI时不会传输自定义字段

还请检查是否在自定义EKPO字段的增强功能中使用了tcode验证。

请根据我的 经验,下面的代码足以更新自定义EKPO字段:

s_extin-structure ='BAPI_TE_MEPOITEM'。
ls_bapi_te-po_item = -ebelp。
ls_bapi_te-zzdi_rule_num = -rule_num。

s_extin-valuepart1 = ls_bapi_te。

APPEND ls_extin至lt_extin。

清除ls_extin。
ls_extin-structure ='BAPI_TE_MEPOITEMX'。< br> ls_bapi_tex-po_item = -ebelp。
ls_bapi_tex-zzdi_rule_num ='X'。

s_extin-valuepart1 = ls_bapi_tex。

APPEND ls_extin TO lt_extin。 p>

空代码
4楼-- · 2020-08-21 12:39

有注释 1918804-错误:对于任何材料使用ExtensionIn结构时,ME887 管理 nt BAPI

有一些解释,并且在BAdI的示例代码中还提供了一些代码。

槿木_熙
5楼-- · 2020-08-21 12:36

感谢Sandra,我看到了 之前的笔记,但这对我没有帮助。

他们说:"实现方法MAP2I_EXTENSIONIN和MAP2E_EXTENSIONOUT映射增强参数。" 但他们没有说明如何执行此操作。

SAP浪
6楼-- · 2020-08-21 12:31

我看到了,但对我不起作用。 谢谢

一周热门 更多>