BAPI创建委外采购订单

使用BAPI BAPI_PO_CREATE1创建委外采购订单,组件为手工输入时,有几个点需要注意:

1、已通过CS01创建过BOM的物料,创建时会自动带出components。如果要修改当前组件清单,可以通过设置pocomponents-change_id = 'E’来实现
BAPI创建委外采购订单_第1张图片


        lv_sline = lv_sline + 1.
        ls_pocomponents-po_item = l_ebelp + 10.
        ls_pocomponents-ITEM_NO = lv_sline.
        ls_pocomponents-sched_line = 1.
        ls_pocomponents-material = ls_mdpm-matnr.
        ls_pocomponents-ITEM_CAT = '3'.
        ls_pocomponents-plant = ls_mdpm-werks.
        ls_pocomponents-entry_quantity = ls_mdpm-bdmng.
*        ls_pocomponents-entry_uom = ls_mdpm-meins.
        ls_pocomponents-iss_st_loc = ls_mdpm-lgort.
        ls_pocomponents-req_date = ls_mdpm-bdter.
        ls_pocomponents-change_id = 'E'.
        APPEND ls_pocomponents TO lt_pocomponents.
        CLEAR ls_pocomponents.

2、BAPI传参必须包含POSCHEDULE参数,否则手工输入的组件不被接受。


      lS_POSCHEDULE-PO_ITEM = l_ebelp + 10.
      lS_POSCHEDULE-SCHED_LINE = 1.
      lS_POSCHEDULE-DEL_DATCAT_EXT = 'D'."交货日期的类别
      lS_POSCHEDULE-DELIVERY_DATE = SY-DATUM."交货日期
      lS_POSCHEDULE-QUANTITY = ls_item-menge."采购订单数量
      APPEND lS_POSCHEDULE TO lT_POSCHEDULE.

      lS_POSCHEDULEX-PO_ITEM = l_ebelp + 10.
      lS_POSCHEDULEX-SCHED_LINE = 1.
      lS_POSCHEDULEX-DEL_DATCAT_EXT = 'X'."交货日期的类别
      lS_POSCHEDULEX-DELIVERY_DATE = 'X'."交货日期
      lS_POSCHEDULEX-QUANTITY = 'X'."采购订单数量
      APPEND lS_POSCHEDULEX TO lT_POSCHEDULEX.

BAPI创建委外采购订单_第2张图片

你可能感兴趣的:(SAP,abap)