使用BAPI_SALESORDER_CHANGE更新销售订单计划行时出现问题

2020-09-03 22:02发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好, 虽然我尝试使用BAPI...

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

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


您好,

虽然我尝试使用BAPI_SALESORDER_CHANGE来补充计划行日期,但它适用于订单项的第一个计划行。 如果我要修改同一订单项的第二个计划行,则其给出的错误为

"系统错误:项目000010的计划行0002不存在"。

请问我是否遇到相同问题或解决此错误的任何想法。

谢谢

Kamalakar。

9条回答
xfwsx85
2020-09-03 22:56

你好Jalena,

感谢您的回复。

请在下面找到我的代码。

在我-> lt_order上引用我-> lr_order
在vbeln NE lv_vbeln。
lv_vbeln = me-> lr_order-> vbeln。
ls_order_header_in-dlvschduse ='WAP'。
ls_order_header_inx-dlvschduse ='X'。

ls_order_header_in-dun_date = lr_order->基准。

ls_order_header_inx-dun_date ='X'。

ls_order_header_inx-updateflag ='U'。

将lt_vbap循环放入ls_vbap所在的地方vbeln = me-> lr_order-> vbeln。
* ls_item-vbeln = ls_vbap-vbeln。
ls_item-itm_number = ls_vbap-posnr__item lt。
ls_itemx-itm_number = ls_vbap-posnr。
ls_itemx-updateflag ='U'。
将ls_itemx附加到lt_itemsx。
将lt_vbep INTO循环到ls_vbep WHERE vbeln = ls_vbrap-n ls_vbap-posnr。

ls_schedule_lines-itm_number = ls_vbep-posnr。
ls_schedule_lines-sched_line = ls_vbep-etenr。"" 0001"。 gi_date = ls_order_header_in-dun_date。
ls_schedule_lines-tp_date = ls_order_header_in-dun_date。
ls_schedule_lines-ms_date = ls_order_header_in-dun_date。
ls_schedule_lines_header_dun_date。

ls_schedule_lines-req_date = ls_schedule_lines-req_date + lv_days1。

APPEND将ls_schedule_lines转换为lt_schedule_lines。

ls_schedulex-itm_number = ls_vbep-posnr。
ls_schedulex-sched_line = ls_vbep-etenr。"'0001'。
ls_schedulex-updateflag = br> ls_schedulex-load_date ='X'。
ls_schedulex-ms_date ='X'。
ls_schedulex-gi_date ='X'。
ls_schedulex-tp_date ='X'。
ls_schedulex-req_date = 'X'。
* ls_schedulex-date_type ='X'。
将ls_schedulex附加到lt_schedulex。

ENDloop。

ENDLOOP。

呼叫功能'BAPI_SALESORDER_CHANGE'
导出
SALESDOCUMENT = me-> lr_order-> vbeln
ORDER_HEADER_IN = ls_order_header_in
ORDER_HEADER_IN = ls_order_header_inx
模拟= p_simul

RETURN = lt_return
ORDER_ITEM_IN = lt_items
ORDER_ITEM_INX = lt_itemsx
SCHEDULE_LINES = lt_Schedule_lines

SCHEDU br> * ... committen
如果p_simul处于初始状态。
通话功能'BAPI_TRANSACTION_COMMIT'
导出
wait ='X'。
ENDIF。

仅当一个订单项有多个计划行时,该项目才有效。如果第二个计划行有错误,则该错误。

谢谢

Kamalakar。

一周热门 更多>