尽管已填充BAPI,但更新用户字段BAPI_ALM_ORDER_MAINTAIN无效

2020-09-01 17:22发布

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

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


嗨,


尽管有以下代码,但无法更新用户字段。

谢谢。


主要程序代码:

数据:iw_methods类型bapi_alm_order_method,
it_methods类型pi表bapi_alm_order_method,
iw_extension_in类型bapiparex,
it_extension_in类型bapiparex表,
it_return TYPE 2类型表
带有标题行的bapi_alm_order_header_i的it_header类型表,
带有标题行的bapi_alm_order_header_up的it_header_up类型表。

iw_methods-objecttype = space。
iw_methods-method ='S。 iw_methods-objectkey =空间。
将iw_methods附加到it_methods。

清除:iw_methods,
ls_zaufk。

iw_methods-refnumber ='000001'。
iw_methods-objecttype = 'HEADER'。
iw_methods-method ='CHANGE'。
iw_methods-objectkey = wa_itab0300-aufnr。

将iw_method附加到it_methods。


ls_zaufk-aufnr = wa_itab0300- 。
ls_zaufk-zzflag_f = wa_itab0300-flag_f。 " Zfield

iw_extension_in-valuepart1 = ls_zaufk。
iw_extension_in-structure ='BAPI_TE_AUFK'。

将iw_extension_in附加到it_extension_in。


呼叫功能'BAPI_ALM_ORDER_ 表
it_methods = it_methods
extension_in = it_extension_in
return = it_return
* it_header = it_header
* it_header_up = it_header_up


呼叫功能'BAPI_TRANSACTION_COMMIT' >导出
等待='X'。

BAPI代码:

数据:ls_zaufk类型zpp_e_modifof,
ls_header_int类型almb_caufvd,
ls_header_int_up类型ibapi_caufvd_update。


检查sy-cprog EQ'YFI_RETRAITCK IN' br>
清除ls_header_int。

读取表ct_header_int INTO ls_header_int INDEX 1.

*读取表extension_in INTO ls_extension_in INDEX 1.

ls_zaufk = extension_in-valuepart1。 br>
ls_header_int-zzflag_f = ls_zaufk-zzflag_f。
ls_header_int_up-zzflag_f = abap_true。

修改ct_header_int FROM ls_header_int INDEX sy_tabix。 zzflag_f。

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

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


嗨,


尽管有以下代码,但无法更新用户字段。

谢谢。


主要程序代码:

数据:iw_methods类型bapi_alm_order_method,
it_methods类型pi表bapi_alm_order_method,
iw_extension_in类型bapiparex,
it_extension_in类型bapiparex表,
it_return TYPE 2类型表
带有标题行的bapi_alm_order_header_i的it_header类型表,
带有标题行的bapi_alm_order_header_up的it_header_up类型表。

iw_methods-objecttype = space。
iw_methods-method ='S。 iw_methods-objectkey =空间。
将iw_methods附加到it_methods。

清除:iw_methods,
ls_zaufk。

iw_methods-refnumber ='000001'。
iw_methods-objecttype = 'HEADER'。
iw_methods-method ='CHANGE'。
iw_methods-objectkey = wa_itab0300-aufnr。

将iw_method附加到it_methods。


ls_zaufk-aufnr = wa_itab0300- 。
ls_zaufk-zzflag_f = wa_itab0300-flag_f。 " Zfield

iw_extension_in-valuepart1 = ls_zaufk。
iw_extension_in-structure ='BAPI_TE_AUFK'。

将iw_extension_in附加到it_extension_in。


呼叫功能'BAPI_ALM_ORDER_ 表
it_methods = it_methods
extension_in = it_extension_in
return = it_return
* it_header = it_header
* it_header_up = it_header_up


呼叫功能'BAPI_TRANSACTION_COMMIT' >导出
等待='X'。

BAPI代码:

数据:ls_zaufk类型zpp_e_modifof,
ls_header_int类型almb_caufvd,
ls_header_int_up类型ibapi_caufvd_update。


检查sy-cprog EQ'YFI_RETRAITCK IN' br>
清除ls_header_int。

读取表ct_header_int INTO ls_header_int INDEX 1.

*读取表extension_in INTO ls_extension_in INDEX 1.

ls_zaufk = extension_in-valuepart1。 br>
ls_header_int-zzflag_f = ls_zaufk-zzflag_f。
ls_header_int_up-zzflag_f = abap_true。

修改ct_header_int FROM ls_header_int INDEX sy_tabix。 zzflag_f。

付费偷看设置
发送
3条回答
悠然的二货
1楼-- · 2020-09-01 17:42

嗨,

尝试一下。

IBAPI_CAUFVD_UPDATE中的追加结构,

CI_AUFK具有Zfields,所以CAUFV已经具有Zfields

从" IBAPI_ALM_ORD_MODIFY"创建BADI。按照下面的链接回答。 它会工作。

BAPI扩展

 iw_extension_in-valuepart1 + 0(12)= W_AUFNR。
 iw_extension_in-valuepart1 + 12(2)= W_ZFIELD。  " Zfield
 将iw_extension_in附加到it_extension_in。


 
compass1988
2楼-- · 2020-09-01 17:41

感谢Nawanandana,


我做了,但是没用。

内部表在BAPI处获取了正确的值,但并未在生产订单上修改该字段。

95年老男孩
3楼-- · 2020-09-01 17:46

一周热门 更多>