BAPI_ALM_ORDER_MAINTAIN-功能位置更改后更新设备的订单

2020-09-13 06:16发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 我正在编写一...

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

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


专家您好,

我正在编写一个程序,以在将设备从Fuloc移到另一个位置之后,在工作订单中更正设备和功能位置数据。

因此,我使用了BAPI_ALM_ORDER_MAINTAIN。

问题:

更新工作订单时,我会在BAPI中传递新的设备和新的功能位置。 但是,当我保存并提交设备的旧功能位置后,它会按工作顺序保存(而不是我通过的新功能位置)。 我担心这是因为订单的参考日期(该日期是过去的,无法更新)。

示例:

EQUI1于01.09.2018从FuLoc AAA移至FuLoc BBB。

当我更新123456号订单(参考日期为01.01.2018)时,我在BAPI中通过了设备EQUI1和FuLoc BBB。 但是,保存并提交后,订单具有EQUI1和FuLoc AAA(仍然是旧的)。

编码摘要:

清除:ls_methods。
   ls_methods-refnumber ='000001'。
   ls_methods-objecttype ='HEADER'。
   ls_methods-method ='CHANGE'。
   ls_methods-objectkey = iv_orderid。
   将ls_methods附加到lt_methods。

 " 保存
   ls_methods-refnumber ='000001'。
   ls_methods-method ='保存'。
   ls_methods-objecttype =''。
   ls_methods-objectkey = iv_orderid。  
附加ls_methods到lt_methods。 设置等值和功能位置 ls_header-orderid = iv_orderid。 ls_header-equipment = iv_equi。 " EQUI1 ls_header-funct_loc = iv_tplnr。 " BBB
APP将ls_header附加到lt_header。 "更改标志 ls_header_x-orderid = iv_orderid。 ls_header_x设备= abap_true。 ls_header_x-funct_loc = abap_true。
附加ls_header_x到lt_header_x。 "更改和保存订单电话功能'BAPI_ALM_ORDER_MAINTAIN'TABLES it_methods = lt_methods it_header = lt_header it_header_up = lt_header_x return = lt_return。

当我在IW32对话框中设置设备时,会弹出消息IW501,但是新的功能位置将被保存。

有人有同样的问题吗? 是否还有其他BAPI或FM用于更改工作顺序中的设备和功能位置?

谢谢您的帮助。

亲切的问候。

Mathias

2条回答
My梦
2020-09-13 06:54

Hello Suleyman,

感谢您的反馈。

与此同时,我找到了解决方案。 SAP Note 2649351已解决问题。

https://launchpad.support.sap.com/#/notes/2649351

然后使用系统日期搜索设备的功能位置。

亲切的问候。

Mathias

一周热门 更多>

相关问答