如何执行MB01交易的等价物以执行采购订单的收货?

时间:2011-11-10 10:28:26

标签: sap

我正在尝试更换一些不可靠的sap脚本,我们已经从自定义收货应用程序中执行MB01。我遇到过.NET连接器,看起来它可以为我做好工作。

研究已经推出了名为BAPI_GOODSMVT_CREATE的BAPI,但任何人都可以告诉我执行此交易可能需要哪些参数?

我可以访问SAP测试环境。

BAPI_GOODSMVT_CREATE接受一个名为GOODSMVT_ITEM的值表,其中包含121个字段。我确信并非所有这些领域都是必需的。

最后我想我的问题是,我怎样才能确定哪些是必需的?

2 个答案:

答案 0 :(得分:0)

您是否可以访问SAP系统?我最近使用过这个BAPI,它有非常详细的文档。要查看文档,请使用事务SE37,然后输入BAPI名称。不幸的是,我目前无法访问系统。

您必须要求您的MM /后勤人员告诉您移动类型(BWART)是什么,并且根据配置,您将需要材料编号(MATNR),工厂(WERKS),存储位置等详细信息等

答案 1 :(得分:0)

MB01是用于PO交易的邮政收货,它等效于MIGOBAPI_GOODSMVT_CREATE中的GM_Code 01 MIGO交易是过时的MB01的现代继任者。

因此,根据GM_Code 01的BAPI_GOODSMVT_CREATE文档,以下字段为必填字段:

  • 购买订单
  • 购买订单项
  • 运动类型
  • 运动指示器
  • 进入单位的数量
  • ISO代码的计量单位,用于输入或 数量建议

以下是示例:

gmhead-pstng_date = sy-datum.
gmhead-doc_date = sy-datum.
gmhead-pr_uname = sy-uname.
gmcode-gm_code = '01'.

loop at pcitab.
  itab-move_type  = pcitab-mvt_type.
  itab-mvt_ind    = 'B'.
  itab-plant      = pcitab-plant.
  itab-material   = pcitab-material.
  itab-entry_qnt  = pcitab-qty.
  itab-move_stloc = pcitab-recv_loc.
  itab-stge_loc   = pcitab-issue_loc.
  itab-po_number  = pcitab-pur_doc.
  itab-po_item    = pcitab-po_item.
  concatenate pcitab-del_no pcitab-del_item into itab-item_text.
  itab-move_reas  = pcitab-scrap_reason.
  append itab.
endloop.

call function 'BAPI_GOODSMVT_CREATE'
  exporting
    goodsmvt_header  = gmhead
    goodsmvt_code    = gmcode
 IMPORTING
    goodsmvt_headret = mthead
  tables
    goodsmvt_item    = itab
    return           = errmsg