BAPI_PO_CHANGE新商品

2020-09-20 10:41发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我正在根据ERB目录...

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

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


大家好,


我正在根据ERB目录自动生成的客户PO使用BAPI_PO_CHANGE新po项目。
我看了很多其他 Wiki结果在这里,但没有发现任何对我的案情特别有帮助的东西。

这是我的代码,任何人都可以帮忙我做错了什么添加行。

数据:
         ls_mepoheader类型为bapimepoheader,
         ls_mepoheaderx类型为bapimepoheaderx,
         ls_mepoitem类型bapimepoitem,
         ls_mepoitemx类型bapimepoitemx,
         ls_poaccount类型为bapimepoaccount,
         ls_poaccountx类型为bapimepoaccountx,
         ls_meposchedule类型为bapimeposchedule,
         ls_meposchedulx类型为bapimeposchedulx,
         ls_mepocond类型为bapimepocond,
         ls_mepocondx类型为bapimepocondx,
         lv_new_ebelp类型为ebelp,
         api_mepoitem的lt_mepoitem类型表,
         bapimepoitemx的lt_mepoitemx类型表,
         bapimepoaccount的lt_poaccount类型表,
         api_poaccountx的lt_poaccountx类型表,
         bapimeposchedule的lt_meposchedule类型表,
         bapimeposchedulx的lt_meposchedulx类型表,
         bapimepocond的lt_mepocond类型表,
         bapimepocondx的lt_mepocondx类型表,
         ls_return类型bapiret2,
         lv_delivery类型基准。

   执行next_ebelp。  "增加ebelp线。

 " PO HEADER表填充
   ls_mepoheader-po_number = ls_equipment_r-po_quarterly。
   "标题没有任何变化。(X结构中没有'X')
" PO ITEM表填充 ls_mepoitem-po_item = ls_equipment_r-quarterly_ebelp。 ls_mepoitemx-po_item = ls_equipment_r-quarterly_ebelp。 ls_mepoitemx-po_itemx ='X'。 ls_mepoitem-short_text = ls_equipment_r-short_text。 ls_mepoitemx-short_text ='X'。 ls_mepoitem-net_price = ls_equipment_r-price。 ls_mepoitemx-net_price ='X'。 ls_mepoitem-acknowl_no = ls_equipment_r-equi_number。 ls_mepoitemx-acknowl_no ='X'。 ls_mepoitem-preq_no = ls_equipment_r-pr。 ls_mepoitemx-preq_no ='X'。 ls_mepoitem-preq_item = ls_equipment_r-po_line。 ls_mepoitemx-preq_item ='X'。 ls_mepoitem-quantity = ls_zitpm07-billingtime。 ls_mepoitemx-quantity ='X'。 " PO计划表填充 ls_meposchedule-po_item = ls_equipment_r-quarterly_ebelp。 ls_meposchedule-delivery_date = lv_delivery。 ls_meposchedulx-delivery_date ='X'。 ls_meposchedule-sched_line = ls_equipment_r-quarterly_ebelp。 ls_meposchedule-quantity = ls_zitpm07-billingtime。 ls_meposchedulx-quantity ='X'。 ls_meposchedule-sched_line = ls_equipment_r-quarterly_ebelp。 ls_meposchedulx-sched_line ='X'。 " PO帐户表填写 ls_poaccount-po_item = ls_equipment_r-quarterly_ebelp。 ls_poaccount-costcenter = ls_equipment_r-cost_center。 ls_poaccountx-costcenter ='X'。 " PO COND表填充 ls_mepocond-itm_number = ls_equipment_r-quarterly_ebelp。 ls_mepocondx-itm_number ='X'。 将ls_mepoitem附加到lt_mepoitem。 将ls_mepoitemx附加到lt_mepoitemx。 将ls_meposchedule附加到lt_meposchedule。 将ls_meposchedulx附加到lt_meposchedulx。 将ls_poaccount附加到lt_poaccount。 将ls_poaccountx附加到lt_poaccountx。 将ls_mepocond附加到lt_mepocond。 将ls_mepocondx附加到lt_mepocondx。 调用函数" BAPI_PO_CHANGE" 出口采购订单= ls_equipment_r-po_quarterly 表return = lt_return poItem = lt_mepoitem poItemX = lt_mepoitemx poSchedule = lt_meposchedule poSchedulex = lt_meposchedulx poaccount = lt_poaccount poAccountx = lt_poaccountx poCond = lt_mepocond poCondx = lt_mepocondx。

我还包括了两个最有可能是问题的根源的错误:
E-BAPI-003对象类型采购订单的实例4500900444不能更改-poitem

E -MEPO-001-采购订单项目00390仍然包含错误的计划行-项

E- 06-054-Doc。 类型/项目猫。 ZEB/(请购单)<-> NB/(购货单)-安排时间表

非常感谢您帮我!

阿什利

3条回答
吹牛啤
2020-09-20 11:37

我建议直接在ME22N中尝试相同的操作,这样可以告诉您错误是否与BAPI或数据和自定义有关。

我非常确定您也会在ME22N中收到错误06054,并且由于该错误以及其他2个错误。

不幸的是,您没有显示BAPI和现有PO中变量和表的值,因此问题可能出在您在BAPI中使用的数据,而不是编码本身。

一周热门 更多>