METHOD ZII_SI_PO_IN~SI_PO_IN.
"=================== DATA DECLARATIONS : INTERNAL TABLE ==============================
DATA: IT_ITEM TYPE ZDT_PO_IN_PO_ITEM_TAB.
DATA: IT_RETURN TYPE TABLE OF BAPIRET2.
DATA: IT_POITEM TYPE TABLE OF BAPIMEPOITEM,
IT_POITEMX TYPE TABLE OF BAPIMEPOITEMX.
"=================== DATA DECLARATIONS : WORK AREA ===================================
DATA: WA_HEADER TYPE ZDT_PO_IN_PO_HEADER.
DATA: WA_HEADERX TYPE ZDT_PO_IN_PO_HEADER.
DATA: WA_ITEM TYPE ZDT_PO_IN_PO_ITEM.
"=================== DATA DECLARATIONS : LOCAL VAIRABLES ==============================
DATA: LS_POHEADER TYPE BAPIMEPOHEADER,
LS_POHEADERX TYPE BAPIMEPOHEADERX,
LS_POITEM TYPE BAPIMEPOITEM,
LS_POITEMX TYPE BAPIMEPOITEMX.
DATA: LS_PO_NUMBER TYPE BAPIMEPOHEADER-PO_NUMBER.
"================================ MOVE HEADER DATA : POHEADER =====================================
LS_POHEADER-COMP_CODE = INPUT-MT_PO_IN-PO_HEADER-COMP_CODE.
LS_POHEADER-DOC_TYPE = INPUT-MT_PO_IN-PO_HEADER-DOC_TYPE.
LS_POHEADER-VENDOR = INPUT-MT_PO_IN-PO_HEADER-VENDOR.
LS_POHEADER-LANGU = INPUT-MT_PO_IN-PO_HEADER-LANGU.
LS_POHEADER-PURCH_ORG = INPUT-MT_PO_IN-PO_HEADER-PURCHASE_ORG.
LS_POHEADER-PUR_GROUP = INPUT-MT_PO_IN-PO_HEADER-PURCHASE_GRP.
LS_POHEADER-CURRENCY = INPUT-MT_PO_IN-PO_HEADER-CURRENCY.
"================================ MOVE HEADER DATA : POHEADERX =====================================
LS_POHEADERX-COMP_CODE = INPUT-MT_PO_IN-PO_HEADER-COMP_CODE.
LS_POHEADERX-DOC_TYPE = INPUT-MT_PO_IN-PO_HEADER-DOC_TYPE.
LS_POHEADERX-VENDOR = INPUT-MT_PO_IN-PO_HEADER-VENDOR.
LS_POHEADERX-LANGU = INPUT-MT_PO_IN-PO_HEADER-LANGU.
LS_POHEADERX-PURCH_ORG = INPUT-MT_PO_IN-PO_HEADER-PURCHASE_ORG.
LS_POHEADERX-PUR_GROUP = INPUT-MT_PO_IN-PO_HEADER-PURCHASE_GRP.
LS_POHEADERX-CURRENCY = INPUT-MT_PO_IN-PO_HEADER-CURRENCY.
"================================ MOVE ITEM DATA : POITEM =====================================
LOOP AT INPUT-MT_PO_IN-PO_ITEM INTO WA_ITEM.
LS_POITEM-PO_ITEM = WA_ITEM-ITEM_NUMBER.
LS_POITEM-MATERIAL = WA_ITEM-MATERIAL.
LS_POITEM-PLANT = WA_ITEM-PLANT.
LS_POITEM-QUANTITY = WA_ITEM-QUANTITY.
APPEND LS_POITEM TO IT_POITEM.
ENDLOOP.
"================================ MOVE ITEM DATA : POITEMX =====================================
LOOP AT INPUT-MT_PO_IN-PO_ITEM INTO WA_ITEM.
LS_POITEMX-PO_ITEM = WA_ITEM-ITEM_NUMBER.
LS_POITEMX-MATERIAL = WA_ITEM-MATERIAL.
LS_POITEMX-PLANT = WA_ITEM-PLANT.
LS_POITEMX-QUANTITY = WA_ITEM-QUANTITY.
APPEND LS_POITEMX TO IT_POITEMX.
ENDLOOP.
"================================ CALL BAPI =====================================
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
POHEADER = LS_POHEADER
POHEADERX = LS_POHEADERX
* POADDRVENDOR =
* TESTRUN =
* MEMORY_UNCOMPLETE =
* MEMORY_COMPLETE =
* POEXPIMPHEADER =
* POEXPIMPHEADERX =
* VERSIONS =
* NO_MESSAGING =
* NO_MESSAGE_REQ =
* NO_AUTHORITY =
* NO_PRICE_FROM_PO =
* PARK_COMPLETE =
* PARK_UNCOMPLETE =
IMPORTING
EXPPURCHASEORDER = LS_PO_NUMBER
* EXPHEADER =
* EXPPOEXPIMPHEADER =
TABLES
RETURN = IT_RETURN
POITEM = IT_POITEM
POITEMX = IT_POITEMX
* POADDRDELIVERY =
* POSCHEDULE =
* POSCHEDULEX =
* POACCOUNT =
* POACCOUNTPROFITSEGMENT =
* POACCOUNTX =
* POCONDHEADER =
* POCONDHEADERX =
* POCOND =
* POCONDX =
* POLIMITS =
* POCONTRACTLIMITS =
* POSERVICES =
* POSRVACCESSVALUES =
* POSERVICESTEXT =
* EXTENSIONIN =
* EXTENSIONOUT =
* POEXPIMPITEM =
* POEXPIMPITEMX =
* POTEXTHEADER =
* POTEXTITEM =
* ALLVERSIONS =
* POPARTNER =
* POCOMPONENTS =
* POCOMPONENTSX =
* POSHIPPING =
* POSHIPPINGX =
* POSHIPPINGEXP =
* SERIALNUMBER =
* SERIALNUMBERX =
* INVPLANHEADER =
* INVPLANHEADERX =
* INVPLANITEM =
* INVPLANITEMX =
* NFMETALLITMS =
.
* COMMIT CHANGES TO DB
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
* IMPORTING
* RETURN =
.
OUTPUT-MT_PO_OUT-PO_OUT_HEADER-PO_NUMBER = LS_PO_NUMBER.
COMMIT WORK.
ENDMETHOD.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
37 | |
10 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 | |
2 | |
2 |