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

Errors while executing bapi_po_create1

Former Member
0 Likes
2,453

Hi experts,

I am getting errors while executing bapi_po_create1.

The errors are -

1. No instance of object type purchaseorder has been created.External reference

2.Purchase order still contain faulty item

Please help <removed by moderator>.

Thanks

Sahil

Edited by: Thomas Zloch on Sep 14, 2010 2:30 PM

13 REPLIES 13
Read only

Former Member
0 Likes
2,039

Hi,

Try passing the same data via ME21N to create the PO.

Probably you are missing some mandatory data to be passed.

Can you share the data which you are passing?

Regards,

Ankur Parab

Read only

0 Likes
2,039

Hi

I am passing values are -

header-comp_code = '3000'.

header-doc_type = 'DP25'.

header-creat_date = sy-datum.

header-item_intvl = '10'.

header-vendor = 'ARAMI-00'.

header-langu = sy-langu.

header-pmnttrms = '0001'.

header-purch_org = '3000'.

header-pur_group = '010'.

header-currency = 'USD'.

headerx-comp_code = c_x.

headerx-doc_type = c_x.

headerx-creat_date = c_x.

headerx-item_intvl = c_x .

headerx-vendor = c_x.

headerx-langu = c_x.

headerx-pmnttrms = c_x .

headerx-purch_org = c_x.

headerx-pur_group = c_x

for item

wa_item-material = p_matnr.

wa_item-plant = '3200'.

wa_item-quantity = 100.

wa_item-conf_ctrl = 'Z01'

wa_itemx-po_item = p_int.

wa_itemx-material = c_x.

wa_itemx-plant = c_x .

wa_itemx-stge_loc = c_x .

wa_itemx-quantity = c_x .

wa_itemx-item_cat = c_x .

wa_itemx-acctasscat = c_x .

wa_itemx-conf_ctrl = 'X'.

Thanks,

Sahil

Read only

0 Likes
2,039

Hi ,

Probably you need to pass the unit of measure also.

I suggest the best method would be to simiulate creation of a PO via ME21N with the same data which you are passing to the BAPI to understand the exact cause of error.

Regards,

Ankur Parab

Read only

Former Member
0 Likes
2,039

Hi,

There will be more specific errors in the RETURN structure of BAPI. Refer to all the rows in RETURN to get the exact cause of error.

Regards

Vinod

Read only

Former Member
0 Likes
2,039

Hi,

You have to pass some data into BAPI's TABLE parameters also which are below IMPORT parameters....i faced same problem, but finally i got success...

Thanks...

Read only

0 Likes
2,039

HI prarthans ,

Can you elobrate what are the parameters you have passed to remove these error messages.

Thanks,

Sahil

Read only

Former Member
0 Likes
2,039

Hi,

Pls pass the relevant data into the below fields of related structures...

PO_HEADER

Document Date

Document Type

Company Code

Pur. Organization

Pur. Group

Vendor

PO_HEADER_ADD_DATA

Payment Terms

Currency

Exchange Rate

Incoterm

Incoterm 2

PO_ITEMS

PO Line

Material

Plant

Net Price

PO_ITEM_SCHEDULES

PO Line

Delivery Date

Quantity

Thanks,

Prarthan

Read only

Former Member
0 Likes
2,039

Hi,

I have run the bapi without pass any values then these error are coming as by default.

Thanks,

Sahil

Read only

kesavadas_thekkillath
Active Contributor
0 Likes
2,039

Check whether you have completely filled the header details like PORG,PGRP,CCODE ETC....

Read only

Former Member
0 Likes
2,039

Hi,

Check this code it may help you.

DATA:

W_BAPIMEPOHEADER TYPE BAPIMEPOHEADER,

W_BAPIMEPOHEADERX TYPE BAPIMEPOHEADERX,

T_BAPIRET2 TYPE STANDARD TABLE OF BAPIRET2

WITH HEADER LINE,

T_BAPIMEPOITEM TYPE STANDARD TABLE OF BAPIMEPOITEM

WITH HEADER LINE,

T_BAPIMEPOITEMX TYPE STANDARD TABLE OF BAPIMEPOITEMX

WITH HEADER LINE,

T_POSCHEDULE TYPE STANDARD TABLE OF BAPIMEPOSCHEDULE

WITH HEADER LINE,

T_POSCHEDULEX TYPE STANDARD TABLE OF BAPIMEPOSCHEDULX

WITH HEADER LINE.

W_BAPIMEPOHEADER-COMP_CODE = '1000'.

W_BAPIMEPOHEADER-DOC_TYPE = 'NB'.

W_BAPIMEPOHEADER-CREAT_DATE = SY-DATUM.

W_BAPIMEPOHEADER-CREATED_BY = SY-UNAME.

W_BAPIMEPOHEADER-ITEM_INTVL = '00010'.

W_BAPIMEPOHEADER-VENDOR = '0000300001'.

W_BAPIMEPOHEADER-LANGU = SY-LANGU.

W_BAPIMEPOHEADER-PMNTTRMS = '0001'.

W_BAPIMEPOHEADER-PURCH_ORG = '1000'.

W_BAPIMEPOHEADER-PUR_GROUP = '100'.

W_BAPIMEPOHEADER-CURRENCY = 'INR'.

W_BAPIMEPOHEADER-DOC_DATE = SY-DATUM.

W_BAPIMEPOHEADER-VPER_START = '20100728'.

W_BAPIMEPOHEADER-VPER_END = '20100828'.

W_BAPIMEPOHEADERX-COMP_CODE = 'X'.

W_BAPIMEPOHEADERX-DOC_TYPE = 'X'.

W_BAPIMEPOHEADERX-CREAT_DATE = 'X'.

W_BAPIMEPOHEADERX-CREATED_BY = 'X'..

W_BAPIMEPOHEADERX-ITEM_INTVL = 'X'.

W_BAPIMEPOHEADERX-VENDOR = 'X'.

W_BAPIMEPOHEADERX-LANGU = 'X'.

W_BAPIMEPOHEADERX-PMNTTRMS = 'X'.

W_BAPIMEPOHEADERX-PURCH_ORG = 'X'.

W_BAPIMEPOHEADERX-PUR_GROUP = 'X'.

W_BAPIMEPOHEADERX-CURRENCY = 'X'.

W_BAPIMEPOHEADERX-DOC_DATE = 'X'.

W_BAPIMEPOHEADERX-VPER_START = 'X'.

W_BAPIMEPOHEADERX-VPER_END = 'X'.

T_BAPIMEPOITEM-PO_ITEM = '00010'.

T_BAPIMEPOITEM-MATERIAL = '000000001002000031'.

T_BAPIMEPOITEM-PLANT = '1000'.

T_BAPIMEPOITEM-QUANTITY = '10'.

T_BAPIMEPOITEM-PO_UNIT = 'NOS'.

T_BAPIMEPOITEM-NET_PRICE = '120.00'.

T_BAPIMEPOITEM-INFO_UPD ='X'.

T_BAPIMEPOITEM-PRICE_UNIT = '1'.

T_BAPIMEPOITEM-TAX_CODE = 'VE'.

APPEND T_BAPIMEPOITEM.

T_BAPIMEPOITEMX-PO_ITEM = '00010'.

T_BAPIMEPOITEMX-PO_ITEMX = 'X'.

T_BAPIMEPOITEMX-MATERIAL = 'X'.

T_BAPIMEPOITEMX-PLANT = 'X'.

T_BAPIMEPOITEMX-QUANTITY = 'X'.

T_BAPIMEPOITEMX-PO_UNIT = 'X'.

T_BAPIMEPOITEMx-NET_PRICE = 'X'.

T_BAPIMEPOITEMX-INFO_UPD ='X'.

T_BAPIMEPOITEMX-PRICE_UNIT = 'X'.

T_BAPIMEPOITEMX-TAX_CODE = 'X'.

APPEND T_BAPIMEPOITEMX.

T_POSCHEDULE-PO_ITEM = '00010'.

T_POSCHEDULE-SCHED_LINE = '0001'.

T_POSCHEDULE-DEL_DATCAT_EXT = 'D'.

T_POSCHEDULE-DELIVERY_DATE = '09.09.2010'.

T_POSCHEDULE-QUANTITY = '10'.

APPEND T_POSCHEDULE.

T_POSCHEDULEX-PO_ITEM = '00010'.

T_POSCHEDULEX-SCHED_LINE = '0001'.

T_POSCHEDULEX-PO_ITEMX = 'X'.

T_POSCHEDULEX-SCHED_LINEX = 'X'.

T_POSCHEDULEX-DEL_DATCAT_EXT = 'X'.

T_POSCHEDULEX-DELIVERY_DATE = 'X'.

T_POSCHEDULEX-QUANTITY = 'X'.

APPEND T_POSCHEDULEX.

CALL FUNCTION 'BAPI_PO_CREATE1'

EXPORTING

POHEADER = W_BAPIMEPOHEADER

POHEADERX = W_BAPIMEPOHEADERX

TABLES

RETURN = T_BAPIRET2[]

POITEM = T_BAPIMEPOITEM[]

POITEMX = T_BAPIMEPOITEMX[]

POSCHEDULE = T_POSCHEDULE[]

POSCHEDULEX = T_POSCHEDULEX[].

IF SY-SUBRC = 0.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

  • EXPORTING

  • WAIT =

  • IMPORTING

  • RETURN =

.

ENDIF.

LOOP AT T_BAPIRET2.

WRITE: /

T_BAPIRET2-TYPE ,

T_BAPIRET2-ID,

T_BAPIRET2-NUMBER,

T_BAPIRET2-MESSAGE,

T_BAPIRET2-LOG_NO,

T_BAPIRET2-LOG_MSG_NO,

T_BAPIRET2-MESSAGE_V1,

T_BAPIRET2-MESSAGE_V2,

T_BAPIRET2-MESSAGE_V3,

T_BAPIRET2-MESSAGE_V4,

T_BAPIRET2-PARAMETER,

T_BAPIRET2-ROW,

T_BAPIRET2-FIELD,

T_BAPIRET2-SYSTEM.

WRITE: / '----


'.

ENDLOOP.

Regards,

Jagadeesh T.

Read only

Former Member
0 Likes
2,039

Hi

My question is these two error is coming by default if you run this bapi without passing any values to bapi?

Thanks,

Sahil

Read only

0 Likes
2,039

What did you expect then? Pass no values to the function and get a succes message?

Read only

vikas_naikdesai
Participant
0 Likes
2,039

Hi,

I populated headerdata-incoterms2l along with  headerdatax-incotermsv  = 'X', lwa_headerdatax-incoterms2l = 'X' fields and issue got solved.