‎2006 Sep 15 10:01 AM
hi,
What are the required fields for executing the BAPI, BAPI_PO_CREATE
‎2006 Sep 15 10:06 AM
hi Preethi,
Check this out
Check this out too ..
Regards,
Santosh
‎2006 Sep 15 10:07 AM
‎2006 Sep 15 10:08 AM
Check the below code:
&----
*& Report YPRA_SAMPLE08 *
*& *
&----
*& *
*& *
&----
REPORT ypra_sample08.
Create Service PO
DATA: wa_po_header TYPE bapiekkoc,
wa_po_add_header TYPE bapiekkoa,
ws_po_number TYPE bapiekkoc-po_number,
ws_po_number1 TYPE bapimepoheader-po_number,
ws_pack_no TYPE packno,
i_poitems TYPE bapiekpoc OCCURS 0 WITH HEADER LINE,
i_poitems_sch TYPE bapieket OCCURS 0 WITH HEADER LINE,
i_acct_ass TYPE bapiekkn OCCURS 0 WITH HEADER LINE,
i_return TYPE bapireturn OCCURS 0 WITH HEADER LINE,
i_return1 TYPE bapiret2 OCCURS 0 WITH HEADER LINE,bapiret2,
i_services TYPE bapiesllc OCCURS 0 WITH HEADER LINE,
bapi_esll TYPE bapiesllc OCCURS 0 WITH HEADER LINE,
i_srv_accass TYPE bapiesklc OCCURS 0 WITH HEADER LINE,
i_po_limits TYPE bapiesuhc OCCURS 0 WITH HEADER LINE,
i_po_contract_limits TYPE bapiesucc OCCURS 0 WITH HEADER LINE.
DATA: serial_no LIKE bapiesknc-serial_no,
line_no LIKE bapiesllc-line_no,
pack_no LIKE bapiesllc-line_no.
wa_po_header-doc_date = sy-datum.
wa_po_header-doc_type = 'ZES3'.
wa_po_header-co_code = 'SP01'.
wa_po_header-purch_org = 'SP01'.
wa_po_header-pur_group = 'ES1'.
wa_po_header-vendor = '0001000025'.
wa_po_header-created_by = sy-uname.
wa_po_header-langu = sy-langu.
i_poitems-po_item = 10.
i_poitems-item_cat = '9'.
i_poitems-acctasscat = 'K'.
i_poitems-plant = 'SP01'.
i_poitems-short_text = '007002046'.
i_poitems-disp_quan = '1'.
*i_poitems-mat_grp = 'ZES1'.
*i_poitems-pckg_no = '0000000265'.
*i_poitems-line_no = 1.
i_poitems-pckg_no = 10.
APPEND i_poitems.
i_poitems_sch-po_item = 10.
i_poitems_sch-deliv_date = sy-datum.
APPEND i_poitems_sch.
i_acct_ass-po_item = 10.
i_acct_ass-serial_no = 01.
*i_acct_ass-g_l_acct = '0007910100'.
i_acct_ass-co_area = '1000'.
i_acct_ass-cost_ctr = '0000012000'.
APPEND i_acct_ass.
i_acct_ass-po_item = 10.
i_acct_ass-serial_no = 02.
i_acct_ass-co_area = '1000'.
i_acct_ass-cost_ctr = '0000012000'.
APPEND i_acct_ass.
i_acct_ass-po_item = 10.
i_acct_ass-serial_no = 03.
i_acct_ass-co_area = '1000'.
i_acct_ass-cost_ctr = '0000012000'.
APPEND i_acct_ass.
*i_acct_ass-po_item = 10.
*i_acct_ass-serial_no = 04.
*i_acct_ass-co_area = '1000'.
*i_acct_ass-cost_ctr = '0000012000'.
*APPEND i_acct_ass.
bapi_esll-pckg_no = 10.
bapi_esll-line_no = 1.
bapi_esll-outl_no = '0'.
bapi_esll-outl_ind = 'X'.
bapi_esll-subpckg_no = 20.
bapi_esll-from_line = 1.
bapi_esll-to_line = 3.
APPEND bapi_esll.
bapi_esll-pckg_no = 20.
bapi_esll-line_no = 2.
bapi_esll-service = '000000000003000018'.
bapi_esll-quantity = '317946.000'.
bapi_esll-gr_price = '21111.0000'.
bapi_esll-price_unit = '10000'.
APPEND bapi_esll.
*bapi_esll-pckg_no = 30.
*bapi_esll-line_no = 1.
*bapi_esll-outl_no = '0'.
*bapi_esll-outl_ind = 'X'.
*bapi_esll-subpckg_no = 40.
*APPEND bapi_esll.
bapi_esll-pckg_no = 20.
bapi_esll-line_no = 3.
bapi_esll-service = '000000000003000017'.
bapi_esll-quantity = '317946.000'.
bapi_esll-gr_price = '21111.0000'.
bapi_esll-price_unit = '10000'.
APPEND bapi_esll.
i_srv_accass-pckg_no = 10.
i_srv_accass-line_no = 1.
i_srv_accass-serno_line = 01.
i_srv_accass-serial_no = 01.
i_srv_accass-percentage = 100.
APPEND i_srv_accass.
i_srv_accass-pckg_no = 20.
i_srv_accass-line_no = 2.
i_srv_accass-serno_line = 02.
i_srv_accass-serial_no = 02.
i_srv_accass-percentage = 100.
i_srv_accass-quantity = '1'.
APPEND i_srv_accass.
i_srv_accass-pckg_no = 20.
i_srv_accass-line_no = 3.
i_srv_accass-serno_line = 03.
i_srv_accass-serial_no = 03.
i_srv_accass-percentage = 100.
i_srv_accass-quantity = '1'.
APPEND i_srv_accass.
*i_srv_accass-pckg_no = 40.
*i_srv_accass-line_no = 3.
*i_srv_accass-serno_line = 03.
*i_srv_accass-serial_no = 03.
*i_srv_accass-percentage = 100.
*i_srv_accass-quantity = '1'.
*APPEND i_srv_accass.
CALL FUNCTION 'BAPI_PO_CREATE'
EXPORTING
po_header = wa_po_header
po_header_add_data = wa_po_add_header
HEADER_ADD_DATA_RELEVANT =
PO_ADDRESS =
skip_items_with_error = 'X'
ITEM_ADD_DATA_RELEVANT =
HEADER_TECH_FIELDS =
IMPORTING
purchaseorder = ws_po_number
TABLES
po_items = i_poitems
PO_ITEM_ADD_DATA =
po_item_schedules = i_poitems_sch
po_item_account_assignment = i_acct_ass
PO_ITEM_TEXT =
return = i_return
po_limits = i_po_limits
po_contract_limits = i_po_contract_limits
po_services = bapi_esll
po_srv_accass_values = i_srv_accass
PO_SERVICES_TEXT =
PO_BUSINESS_PARTNER =
EXTENSIONIN =
POADDRDELIVERY =
.
IF NOT ws_po_number IS INITIAL.
ws_po_number1 = ws_po_number.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = '2'.
WRITE: / ws_po_number.
ENDIF.
break gbpra8.
LOOP AT i_return.
ENDLOOP.
Regards,
Prakash,
‎2006 Sep 15 10:09 AM
PO Header:
Document Date
Document Type
Purchase Organization
Purchasing Group
Vendor
PO Number incase of External Assignment
Po Items:
PO Number incase of External Assignment
Po Item Number - Implicity, PO creates handles but itz
recommended to give explicit item to
have control in handling Schedules and
Conditions
Material Number
Item Category
Storage Location
Plant
Schedule Line
Item Number - Same as in PO ITEMS
Delivery Date
QuantityI guess these should do.
Kind Regards
Eswar