使用BAPI_SALESORDER_CHANGE更改销售订单的NF金属数据时出错。

2020-09-30 03:38发布

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

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

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


您好,我想使用BAPI_SALESORDER_CHANGE更改销售订单NF金属数据。 有时程序运行良好,但有时会出错。

返回错误为"项目中的NF原料装料错误,无法保存"。我只想更改080项,但是要查找所有项目并在050项上出错。 我正在提供我的代码。 请帮助解决问题。

选择*从/nfm/torderpos
             在哪里belnr EQ p_vbeln
               与posnr EQ p_posnr。

     ls_nfm-doc_number = p_vbeln。
     ls_nfm-itm_number = p_posnr。
     ls_nfm-nfmkey =/nfm/torderpos-nes。
     l_nfm-compcode =/nfm/torderpos-bukrs。
     ls_nfm-updtype ='U'。
     如果/nfm/torderpos-nfs是INITIAL。
       ls_nfm-ratedetkey = p_fba。
     其他。
       ls_nfm-ratedetkey =/nfm/torderpos-nfs。
     万一。

     如果/nfm/torderpos-neb是INITIAL。
       s_nfm-basekey = p_pbirim。
     其他。
       ls_nfm-basekey =/nfm/torderpos-neb。
     万一。

     如果/nfm/torderpos-bsl是INITIAL。
       ls_nfm-exchangekey = p_borsa。
     其他。
       ls_nfm-exchangekey =/nfm/torderpos-bsl。
     万一。
     ls_nfm-exchangekey =/nfm/torderpos-bsl。
     ls_nfm-zztarih1 = p_tarih1。
     ls_nfm-zztarih2 = p_tarih2。
     附加ls_nfm至lt_nfm。
   ENDSELECT。

   将p_vbeln移动到salesdocument。
   order_header_inx-updateflag ='U'。
   APPEND order_header_inx。
  通话功能'BAPI_SALESORDER_CHANGE'
     出口
       salesdocument = salesdocument
       order_header_inx = order_header_inx
     桌子
       返回= lt_return
       nfmetallitms = lt_nfm。

   在lt_return处循环,在其中键入EQ'E'或键入EQ'A'。
     lv_error ="错误"。
     出口。
   结局。
   IF sy-subrc NE 0。
     通话功能'BAPI_TRANSACTION_COMMIT'
       出口
         等待='X'。
   万一。
 

谢谢