‎2010 Sep 14 10:46 AM
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
‎2010 Sep 14 10:50 AM
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
‎2010 Sep 14 11:13 AM
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
‎2010 Sep 14 11:18 AM
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
‎2010 Sep 14 10:53 AM
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
‎2010 Sep 14 10:57 AM
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...
‎2010 Sep 14 11:15 AM
HI prarthans ,
Can you elobrate what are the parameters you have passed to remove these error messages.
Thanks,
Sahil
‎2010 Sep 14 11:18 AM
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
‎2010 Sep 14 11:22 AM
Hi,
I have run the bapi without pass any values then these error are coming as by default.
Thanks,
Sahil
‎2010 Sep 14 11:23 AM
Check whether you have completely filled the header details like PORG,PGRP,CCODE ETC....
‎2010 Sep 14 11:24 AM
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.
‎2010 Sep 14 11:37 AM
Hi
My question is these two error is coming by default if you run this bapi without passing any values to bapi?
Thanks,
Sahil
‎2010 Sep 14 11:49 AM
What did you expect then? Pass no values to the function and get a succes message?
‎2016 Sep 26 2:04 PM
Hi,
I populated headerdata-incoterms2l along with headerdatax-incotermsv = 'X', lwa_headerdatax-incoterms2l = 'X' fields and issue got solved.