BAPI_ALM_ORDER_MAINTAIN IT_SRULE以错误结尾

2020-09-20 21:26发布

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

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

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


大家好

我正在尝试使用'BAPI_ALM_ORDER_MAINTAIN'更新生产订单结算规则。

我需要更改结算规则的数量,但BAPI总是返回错误。

IWO_BAPI 402使用外部号码读取结算规则时发生错误
IWO_BAPI2 113处理BAPI方法期间发生错误

这是用于测试BAPI的示例代码。

数据:lt_srule bapi_alm_order_srule的类型表,
         ls_srules与lt_srule类似,
         lt_srule_up bapi_alm_order_srule_up的类型表,
         ls_srule_up与lt_srule_up类似,
         lt_methods bapi_alm_order_method的类型表,
         ls_methods与lt_method类似,
         lt_return bapiret2的标准类型表,
         ls_return TYPE bapiret2,
         ls_cobrb TYPE cobrb。

   数据:lv_aufnr TYPE aufnr VALUE'000000501576'。

   SELECT * INTO ls_cobrb从cobrb
                         在哪里aufnr = lv_aufnr
                           AND lfdnr ='001'。
     清除ls_srules。
     ls_srules-objnr = ls_cobrb-objnr。
     ls_srules-lfdnr = ls_cobrb-lfdnr。
     ls_srules-equiv_number = 0。
     ls_srules-orderid = ls_cobrb-aufnr。
     将ls_srules附加到lt_srule。

     ls_srule_up-equiv_number ='X'。
     附加ls_srule_up至lt_srule_up。
   ENDSELECT。

   清除ls_methods。
   ls_methods-refnumber = 1。
   ls_methods-objecttype ='SRULE'。
   ls_methods-method ='CHANGE'。
   ls_methods-objectkey = lv_aufnr。
   将ls_methods附加到lt_methods。

   清除ls_methods。
   ls_methods-refnumber = 1。
   ls_methods-objecttype =空间。
   ls_methods-method ='保存'。
   ls_methods-objectkey = lv_aufnr。
   将ls_methods附加到lt_methods。

   通话功能'BAPI_ALM_ORDER_MAINTAIN'
     桌子
       it_methods = lt_methods
       it_srule = lt_srule
       it_srule_up = lt_srule_up
       返回= lt_return
     。

   读取表lt_return进入具有键类型='A'的ls_return。
   检查sy-subrc <> 0。
   读取表lt_return进入具有键类型='E'的ls_return。
   检查sy-subrc <> 0。

   通话功能'BAPI_TRANSACTION_COMMIT'
     出口
       等待='X'
     。