BAPI Enhancement
BAPI Enhancement
*you fill purchase order data with sample values that allow
*creation of a purchase order on a standard IDES system
*but you can change those so they will reflect your
*sample purchase orders
*header segment
LS_BAPIMEPOHEADER-COMP_CODE = '1000'.
LS_BAPIMEPOHEADER-DOC_TYPE = 'NB'.
LS_BAPIMEPOHEADER-ITEM_INTVL = '00001'.
LS_BAPIMEPOHEADER-VENDOR = '0000000117'.
LS_BAPIMEPOHEADER-PURCH_ORG = '1000'.
LS_BAPIMEPOHEADER-PUR_GROUP = '025'.
LS_BAPIMEPOHEADER-CURRENCY = 'EUR'.
LS_BAPIMEPOHEADERX-COMP_CODE = 'X'.
LS_BAPIMEPOHEADERX-DOC_TYPE = 'X'.
LS_BAPIMEPOHEADERX-ITEM_INTVL = 'X'.
LS_BAPIMEPOHEADERX-VENDOR = 'X'.
LS_BAPIMEPOHEADERX-PURCH_ORG = 'X'.
LS_BAPIMEPOHEADERX-PUR_GROUP = 'X'.
*item segment
LS_POITEM-PO_ITEM = '00001'.
LS_POITEM-MATERIAL = 'DPC1042'.
LS_POITEM-PLANT = '1000'.
LS_POITEM-QUANTITY = '15.000'.
LS_POITEM-BATCH = '0000343455'.
LS_POITEM-VENDRBATCH = '000000000002222'.
LS_POSCHEDULE-PO_ITEM = '00001'.
LS_POSCHEDULE-SCHED_LINE = '0001'.
LS_POSCHEDULE-DELIVERY_DATE = '20.11.2008'.
LS_POSCHEDULE-QUANTITY ='15.000'.
LS_POSCHEDULEX-PO_ITEM = '00001'.
LS_POSCHEDULEX-SCHED_LINE = '0001'.
LS_POSCHEDULEX-PO_ITEMX = 'X'.
LS_POSCHEDULEX-SCHED_LINEX = 'X'.
LS_POSCHEDULEX-DELIVERY_DATE = 'X'.
LS_POSCHEDULEX-QUANTITY = 'X'.
*item account
LS_POACCOUNT-PO_ITEM = '00001'.
LS_POACCOUNT-SERIAL_NO = '01'.
LS_POACCOUNT-QUANTITY = '15.000'.
LS_POACCOUNTX-PO_ITEM = '00001'.
LS_POACCOUNTX-SERIAL_NO = '01'.
LS_POACCOUNTX-QUANTITY = 'X'.
*item conditions
LS_POCOND-ITM_NUMBER = '000001'.
LS_POCOND-COND_ST_NO = '001'.
LS_POCOND-CURRENCY = 'EUR'.
LS_POCOND-CURRENCY_ISO = 'EUR'.
LS_POCOND-COND_P_UNT = '1'.
LS_POCOND-CHANGE_ID = 'U'.
LS_POCONDX-ITM_NUMBER = '000001'.
LS_POCONDX-COND_ST_NO = '001'.
LS_POCONDX-ITM_NUMBERX = 'X'.
LS_POCONDX-CURRENCY = 'X'.
*extensions
*for header you need to put the name of the structure as BAPI_TE_MEPOHEADER
*and put the values in VALUEPART1
*as PO number ZZPZ since you dont know PO number as you are creating
*then you can give 10 spaces and then put the ZZPZ number
LS_EXTENSIONIN-STRUCTURE = 'BAPI_TE_MEPOHEADER'.
LS_EXTENSIONIN-VALUEPART1 = ' EXTREF007'.
LS_EXTENSIONIN-STRUCTURE = 'BAPI_TE_MEPOHEADERX'.
LS_EXTENSIONIN-VALUEPART1 = ' X'.
*for line you need to put the name of the structure as BAPI_TE_MEPOITEM
*and put the values in VALUEPART1 as
*line number PO number ZZBEDNR and again you can leave
*the PO number empty as you dont know it during creation
LS_EXTENSIONIN-STRUCTURE = 'BAPI_TE_MEPOITEM'.
LS_EXTENSIONIN-VALUEPART1 = '00001 007'.
LS_EXTENSIONIN-STRUCTURE = 'BAPI_TE_MEPOITEMX'.
LS_EXTENSIONIN-VALUEPART1 = '00001 X'.
*BAPI call if you need to use some other tables to create a document
*you can do that just make sure structure LT_EXTENSIONIN will remain
*header data
LS_ORDER_HEADER_IN-DOC_TYPE = 'TA'.
LS_ORDER_HEADER_IN-SALES_ORG = '0001'.
LS_ORDER_HEADER_IN-DISTR_CHAN = '01'.
LS_ORDER_HEADER_IN-PURCH_DATE = sy-datum.
LS_ORDER_HEADER_IN-DIVISION = '01'.
*item data
LS_ORDER_ITEMS_IN-ITM_NUMBER = '000010'.
LS_ORDER_ITEMS_IN-material = '000000000000000385'.
LS_ORDER_ITEMS_IN-PLANT = '0001'.
LS_ORDER_SCHEDULES_IN-ITM_NUMBER = '000010'.
LS_ORDER_SCHEDULES_IN-REQ_QTY = '20'.
LS_ORDER_PARTNERS-PARTN_ROLE = 'SP'.
LS_ORDER_PARTNERS-PARTN_NUMB = '0000000118'.
LS_ORDER_PARTNERS-PARTN_ROLE = 'WE'.
LS_ORDER_PARTNERS-PARTN_NUMB = '0000000118'.
*extensions
*for header you need to put the name of the structure as BAPE_VBAP
*and put the values in VALUEPART1
*as SO number SO line ZZKOSTL since you dont know SO number as you are creating
*then you can give 10 spaces and then put the line number and then the ZZKOSTL number
LS_EXTENSIONIN-STRUCTURE = 'BAPE_VBAP'.
LS_EXTENSIONIN-VALUEPART1 = ' 0000109999'.
LS_EXTENSIONIN-STRUCTURE = 'BAPE_VBAPX'.
LS_EXTENSIONIN-VALUEPART1 = ' 000010X'.