您的位置:首页 > 其它

BAPI调用 - 创建po的bapi BAPI_PO_CREATE1

2013-08-26 20:14 316 查看
*/--------- 採購單 表頭資訊

LOOP AT ITAB_PO_HEADER .

    POHEAD-COMP_CODE = ITAB_PO_HEADER-BUKRS .     " 公司

    POHEAD-DOC_TYPE   = ITAB_PO_HEADER-BSART .    " 單據類別

    POHEAD-CREAT_DATE = SY-DATUM   .              " 建立日期

    POHEAD-VENDOR = ITAB_PO_HEADER-LIFNR.         " 供應商

    POHEAD-PURCH_ORG = ITAB_PO_HEADER-EKORG .     " 採購組織

    POHEAD-PUR_GROUP = ITAB_PO_HEADER-EKGRP.      " 採購群組

    POHEAD-LANGU      = SY-LANGU   .

    POHEAD-DOC_DATE   = SY-DATUM.

    POHEADX-COMP_CODE  = C_X.

    POHEADX-DOC_TYPE   = C_X.

    POHEADX-CREAT_DATE = C_X.

    POHEADX-VENDOR     = C_X.

    POHEADX-PURCH_ORG  = C_X.

    POHEADX-PUR_GROUP  = C_X.

    POHEADX-LANGU      = C_X.

    POHEADX-DOC_DATE   = C_X.

*/------------ 物料數量 資訊

      ITAB_POITEM-PO_ITEM  = W_EBELP .             " 項次編號

      ITAB_POITEM-MATERIAL = ITAB_PO-MATNR .       " 料號

      ITAB_POITEM-PLANT    = ITAB_PO-WERKS .       " 工廠

      ITAB_POITEM-STGE_LOC = ITAB_PO-LGORT .       " 倉別

      ITAB_POITEM-QUANTITY = ITAB_PO-LABST .       " 數量

      ITAB_POITEM-PO_UNIT =  ITAB_PO-MEINS .       " 單位

      ITAB_POITEM-NET_PRICE = ITAB_PO-CURR_PR .    " 單價

      ITAB_POITEM-PRICE_UNIT = ITAB_PO-PEINH.      " 單價基數 ITAB_PO-PEINH ,

      ITAB_POITEM-PREQ_NAME = 'BAPI' .             " 申請人

      ITAB_POITEM-RET_ITEM = 'X' .                 " 退貨註記

      ITAB_POITEM-TRACKINGNO = ITAB_PO-EBELN .     " 上一筆採購單

      ITAB_POITEM-SHORT_TEXT = ITAB_PO-TXZ01 .     " 發票號碼資訊

      APPEND ITAB_POITEM.

      CLEAR ITAB_POITEM.

      ITAB_POITEMX-PO_ITEM    = W_EBELP .

      ITAB_POITEMX-PO_ITEMX   = C_X .

      ITAB_POITEMX-MATERIAL   = C_X .

      ITAB_POITEMX-PLANT      = C_X .

      ITAB_POITEMX-STGE_LOC   = C_X .

      ITAB_POITEMX-QUANTITY   = C_X .

      ITAB_POITEMX-PO_UNIT     = C_X .

      ITAB_POITEMX-NET_PRICE   = C_X .

      ITAB_POITEMX-PRICE_UNIT  = C_X .

      ITAB_POITEMX-PREQ_NAME   = C_X .

      ITAB_POITEMX-RET_ITEM    = C_X .

      ITAB_POITEMX-TRACKINGNO  = C_X .

      ITAB_POITEMX-SHORT_TEXT  = C_X .

      ITAB_POITEMX-TAX_CODE   = C_X .

      ITAB_POITEMX-ITEM_CAT   = C_X .

      ITAB_POITEMX-ACCTASSCAT = C_X .

      APPEND ITAB_POITEMX.

      CLEAR ITAB_POITEMX.

*/---------------- 排程資訊

      ITAB_POSCHED-PO_ITEM        = W_EBELP .

      ITAB_POSCHED-SCHED_LINE     = W_EBELP .

      ITAB_POSCHED-DEL_DATCAT_EXT = 'D'.

      DEL_DATE = SY-DATUM + 1.

      WRITE DEL_DATE TO ITAB_POSCHED-DELIVERY_DATE.

      ITAB_POSCHED-DELIV_TIME     = '000001'.

      ITAB_POSCHED-QUANTITY       = ITAB_PO-LABST.

      APPEND ITAB_POSCHED.

      CLEAR ITAB_POSCHED.

      ITAB_POSCHEDX-PO_ITEM        = W_EBELP.

      ITAB_POSCHEDX-SCHED_LINE     = W_EBELP.

      ITAB_POSCHEDX-PO_ITEMX       = C_X.

      ITAB_POSCHEDX-SCHED_LINEX    = C_X.

      ITAB_POSCHEDX-DEL_DATCAT_EXT = C_X.

      ITAB_POSCHEDX-DELIVERY_DATE  = C_X.

      ITAB_POSCHEDX-QUANTITY       = C_X.

      APPEND ITAB_POSCHEDX.

      CLEAR ITAB_POSCHEDX.

*/----CALL BAPI FUNCTION ----------------------------

  CALL FUNCTION 'BAPI_PO_CREATE1'

       EXPORTING

            POHEADER         = POHEAD

            POHEADERX        = POHEADX

            TESTRUN          = ' '

            NO_PRICE_FROM_PO = 'X'

       IMPORTING

            EXPPURCHASEORDER = EX_PO_NUMBER

            EXPHEADER        = EXP_HEAD

       TABLES

            RETURN           = RETURN

            POITEM           = ITAB_POITEM

            POITEMX          = ITAB_POITEMX

            POSCHEDULE       = ITAB_POSCHED

            POSCHEDULEX      = ITAB_POSCHEDX .

  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

       EXPORTING

            WAIT = 'X' .

转载自:http://blog.csdn.net/shiyanghua/article/details/2800473
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息