Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Required fields for executing the BAPI_PO_CREATE

Former Member
0 Likes
697

hi,

What are the required fields for executing the BAPI, BAPI_PO_CREATE

4 REPLIES 4
Read only

Former Member
0 Likes
504
Read only

0 Likes
504

look at rih answer ...

and this bapi used in BAPI is used in the include <b>MMWE0F01</b>

Read only

Former Member
0 Likes
504

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,

Read only

Former Member
0 Likes
504
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
  Quantity

I guess these should do.

Kind Regards

Eswar