OverView
BAPI_PO_CREATE1 will be used when creating a purchase order slip with an add-on program.
Of course, you can do it with batch input, but it is quite difficult to control according to customization and control tab movement, so if you want to create it simply, use BAPI_PO_CREATE1.
In this article, the sample code that can be input at least at this point is described.However, depending on the customization, the required items may differ, so please change it according to your environment and requirements. I want to.
Sample Code
DATA: wa_poheader type bapimepoheader. DATA: wa_poheaderx type bapimepoheaderx. DATA: it_poitem type table of bapimepoitem. DATA: it_poitemx type table of bapimepoitemx. DATA: wa_poitem like line of it_poitem. DATA: wa_poitemx like line of it_poitemx. DATA: it_bapiret2 type table of bapiret2. DATA: wa_bapiret2 like line of it_bapiret2. DATA: v_ebeln TYPE ebeln. * Edit header clear: wa_poheader. wa_poheader-comp_code = '0123'. wa_poheader-doc_type = 'NB'. wa_poheader-vendor = '0001000000'. wa_poheader-creat_date = sy-datum. wa_poheader-purch_org = 'D000'. wa_poheader-pur_group = 'X01'. wa_poheader-doc_date = sy-datum. clear: wa_poheaderx. wa_poheaderx-comp_code = 'X'. wa_poheaderx-doc_type = 'X'. wa_poheaderx-vendor = 'X'. wa_poheaderx-creat_date = 'X'. wa_poheaderx-purch_org = 'X'. wa_poheaderx-pur_group = 'X'. wa_poheaderx-doc_date = 'X'. * Edit Item clear: wa_poitem. wa_poitem-po_item = '00010'. wa_poitem-material = '000000000200000000'. wa_poitem-plant = 'D001'. wa_poitem-tax_code = 'V1'. wa_poitem-quantity = 1. APPEND wa_poitem to it_poitem. clear: wa_poitem. wa_poitemx-po_item = '00010'. wa_poitemx-po_itemx = 'X'. wa_poitemx-plant = 'X'. wa_poitemx-tax_code = 'X'. wa_poitemx-material = 'X'. wa_poitemx-quantity = 'X'. APPEND wa_poitemx to it_poitemx. * Call BAPI CALL FUNCTION 'BAPI_PO_CREATE1' EXPORTING poheader = wa_poheader poheaderx = wa_poheaderx * TESTRUN = 'X' IMPORTING exppurchaseorder = v_ebeln TABLES return = it_bapiret2 poitem = it_poitem poitemx = it_poitemx * poschedule = * poschedulex = . IF NOT v_ebeln IS INITIAL. * Commit CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'. **** Success **** ELSE. LOOP AT it_bapiret2 INTO wa_bapiret2 WHERE type = 'E'. **** Error **** ENDLOOP. ENDIF.
Recent Comments