‎2008 Sep 29 9:41 AM
While creating PO i am getting following three error, i am using bapi_create_po1 for me21n , TRPO
1. No instance of object type PurchaseOrder has been created. External reference:
2. Purchase order still contains faulty items
3. Unknown account assignment not defined for use herePlease help
Ankesh
‎2008 Sep 29 9:45 AM
Hi Ankesh,
Please check Note : 0001148689
If it is not helping you, Please give some more details about the problem.
Regards,
Swapnil
‎2008 Sep 29 9:45 AM
Hi Ankesh,
Please check Note : 0001148689
If it is not helping you, Please give some more details about the problem.
Regards,
Swapnil
‎2008 Sep 29 9:47 AM
whr i wil check this note , and i am attaching my program code below
it is throwing above three error ..
*&---------------------------------------------------------------------*
*& Report ZPURCHASE_ORDER_BAPI
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZPURCHASE_ORDER_BAPI.
data po_header type BAPIMEPOHEADER.
DATA POHEADERX TYPE BAPIMEPOHEADERX.
DATA PO_ITEM TYPE BAPIMEPOITEM OCCURS 0 WITH HEADER LINE. " ITEM LEVEL
DATA POITEMX TYPE BAPIMEPOITEMX OCCURS 0 WITH HEADER LINE. " ITEM LEVEL
DATA PO_LIMITS TYPE BAPIESUHC OCCURS 0 WITH HEADER LINE. " LIMIT DATA
DATA PO_SERVICES TYPE BAPIESLLC OCCURS 0 WITH HEADER LINE. " TAX DATA
DATA POSCHEDULE TYPE BAPIMEPOSCHEDULE OCCURS 0 WITH HEADER LINE . " DELIVERY SCDHULE DATA
DATA POSCHEDULEX TYPE BAPIMEPOSCHEDULX OCCURS 0 WITH HEADER LINE . " DELIVERY SCDHULE DATA
DATA SALESDOCUMENT TYPE BAPIMEPOHEADER-PO_NUMBER.
DATA PO_ITEM_ACCOUNT_ASSIGNMENT TYPE BAPIEKKN OCCURS 0 WITH HEADER LINE.
DATA V_MESSAGE TYPE STRING.
DATA : RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE.
********MESSAGE RELATED DATA
DATA: GD_CURRENTROW TYPE I.
DATA : PURCHASEORDER LIKE EKKO-EBELN.
DATA: TOT_REC TYPE I, "Total Records
GD_UPDATE TYPE I, "Main Table Increement Counter
GD_LINES TYPE I, "Success Table increement Counter
W_TEXTOUT LIKE T100-TEXT. "VARIABLE TO GET ERRORLOG
DATA : BEGIN OF IT_SUCCESS OCCURS 0,
SALESDOCUMENT LIKE BAPIVBELN-VBELN, "PROJECT
END OF IT_SUCCESS.
DATA V_TEXT TYPE CHAR33.
DATA : BEGIN OF IT_ERROR OCCURS 0,
SRNO(4),
ERR_MSG(73) TYPE C, "TO RETREIVE ERROR MESSAGES
END OF IT_ERROR.
DATA : SRNO(4).
********************
****HEADER DATA.
po_header-DOC_DATE = sy-datum.
po_header-DOC_TYPE = 'TRPO'.
*po_header-DOC_CAT =
po_header-COmp_CODE = '1000'.
po_header-PURCH_ORG = '1000'.
po_header-PUR_GROUP = '402'.
po_header-VENDOR = 'JR00006'.
po_header-CURRENCY = 'INR'.
po_header-VPER_START = '20081001'.
po_header-VPER_END = '20081030'.
****another header FOR INTERFACE
POHEADERX-DOC_DATE = sy-datum.
POHEADERX-DOC_TYPE = 'TRPO'.
*po_header-DOC_CAT =
POHEADERX-COmp_CODE = '1000'.
POHEADERX-PURCH_ORG = '1000'.
POHEADERX-PUR_GROUP = '402'.
POHEADERX-VENDOR = 'JR00006'.
POHEADERX-CURRENCY = 'INR'.
POHEADERX-VPER_START = '20081001'.
POHEADERX-VPER_END = '20081030'.
****ITEM LEVEL DETAILS
PO_ITEM-PO_ITEM = '00010'.
PO_ITEM-ACCTASSCAT = 'U'.
PO_ITEM-ITEM_CAT = 'D'.
PO_ITEM-SHORT_TEXT = 'CEMENT'. " SHORT TEXT
PO_ITEM-MATL_GROUP = '101001'. " MAT GRP
PO_ITEM-PLANT = '1100'. " PLANT
PO_ITEM-STge_LOC = 'FG01'. " STORAGE LOCATION
PO_ITEM-TRACKINGNO = '41'. " DEPARTMENT CODE
PO_ITEM-QUANTITY = '1.00'.
APPEND PO_ITEM.
***ABOTHER ITEM LEVEL DETAIL FOR INTERFACE
POITEMX-PO_ITEM = '00010'.
POITEMX-ACCTASSCAT = 'U'.
PO_ITEM-ITEM_CAT = 'D'.
POITEMX-SHORT_TEXT = 'CEMENT'. " SHORT TEXT
POITEMX-MATL_GROUP = '101001'. " MAT GRP
POITEMX-PLANT = '1100'. " PLANT
POITEMX-STge_LOC = 'FG01'. " STORAGE LOCATION
POITEMX-TRACKINGNO = '41'. " DEPARTMENT CODE
POITEMX-QUANTITY = '1.00'.
APPEND POITEMX.
******LIMIT DATA
PO_LIMITS-LIMIT = '99999999'.
PO_LIMITS-EXP_VALUE = '99999999'.
APPEND PO_LIMITS.
*****TAX DATA
PO_SERVICES-TAX_CODE = 'V0'.
APPEND PO_SERVICES.
****DELIVERY SCDDULE DATA.
POSCHEDULE-PO_ITEM = '00010'.
POSCHEDULE-DEL_DATCAT_EXT = 'M'.
POSCHEDULE-DELIVERY_DATE = '102008'.
POSCHEDULE-STAT_DATE = '20081030'.
APPEND POSCHEDULE.
POSCHEDULEX-PO_ITEM = '00010'.
POSCHEDULEX-DEL_DATCAT_EXT = 'M'.
POSCHEDULEX-DELIVERY_DATE = '102008'.
POSCHEDULEX-STAT_DATE = '20081030'.
APPEND POSCHEDULEX .
********PO ACCOUNT ASSIGNMENT.
*PO_ITEM_ACCOUNT_ASSIGNMENT
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
POHEADER = po_header
POHEADERX = POHEADERX
* POADDRVENDOR =
* TESTRUN =
* MEMORY_UNCOMPLETE =
* MEMORY_COMPLETE =
* POEXPIMPHEADER =
* POEXPIMPHEADERX =
* VERSIONS =
* NO_MESSAGING =
* NO_MESSAGE_REQ =
* NO_AUTHORITY =
* NO_PRICE_FROM_PO =
IMPORTING
EXPPURCHASEORDER = SALESDOCUMENT
* EXPHEADER =
* EXPPOEXPIMPHEADER =
TABLES
RETURN = RETURN
POITEM = PO_ITEM
POITEMX = POITEMX
* POADDRDELIVERY =
POSCHEDULE = POSCHEDULE
POSCHEDULEX = POSCHEDULEX
* POACCOUNT =
* POACCOUNTPROFITSEGMENT =
* POACCOUNTX =
* POCONDHEADER =
* POCONDHEADERX =
* POCOND =
* POCONDX =
POLIMITS = PO_LIMITS
* POCONTRACTLIMITS =
POSERVICES = PO_SERVICES
* POSRVACCESSVALUES =
* POSERVICESTEXT =
* EXTENSIONIN =
* EXTENSIONOUT =
* POEXPIMPITEM =
* POEXPIMPITEMX =
* POTEXTHEADER =
* POTEXTITEM =
* ALLVERSIONS =
* POPARTNER =
* POCOMPONENTS =
* POCOMPONENTSX =
* POSHIPPING =
* POSHIPPINGX =
* POSHIPPINGEXP =
.
.
IF SALESDOCUMENT <> SPACE.
COMMIT WORK.
ADD 1 TO GD_UPDATE.
IT_SUCCESS-SALESDOCUMENT = SALESDOCUMENT.
APPEND IT_SUCCESS.
CLEAR :SALESDOCUMENT,PO_HEADER.
* REFRESH : RETURN,ORDER_ITEMS_IN,ORDER_PARTNERS.
ELSE.
LOOP AT RETURN.
* IT_ERROR-SRNO = TAB-SRNO.
IT_ERROR-ERR_MSG = RETURN-MESSAGE .
APPEND IT_ERROR.
ENDLOOP.
CLEAR :SALESDOCUMENT,PO_HEADER.
* REFRESH : RETURN,ORDER_ITEMS_IN,ORDER_PARTNERS.
ENDIF.
DESCRIBE TABLE IT_SUCCESS LINES GD_LINES.
IF GD_LINES GT 0.
* Display result report column headings
PERFORM DISPLAY_COLUMN_HEADINGS.
PERFORM DISPLAY_SUCESS.
ENDIF.
* IF SUCESS FAILS Display Error Report
DESCRIBE TABLE IT_ERROR LINES GD_LINES.
IF GD_LINES GT 0.
PERFORM ERRORHEADINGS.
PERFORM ERRORREPORT.
ENDIF.
*&---------------------------------------------------------------------*
*& Form DISPLAY_COLUMN_HEADINGS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DISPLAY_COLUMN_HEADINGS .
WRITE:2 ' Success Report '(014) COLOR COL_POSITIVE.
SKIP.
WRITE:2 'The following records inserted successfully:'(013).
WRITE:/ SY-ULINE(15).
FORMAT COLOR COL_HEADING.
WRITE:/ SY-VLINE,
(10) 'Sales order'(004), SY-VLINE.
WRITE:/ SY-ULINE(15).
"display_column_headings
ENDFORM. " DISPLAY_COLUMN_HEADINGS
*&---------------------------------------------------------------------*
*& Form DISPLAY_SUCESS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DISPLAY_SUCESS .
FORMAT COLOR COL_NORMAL.
LOOP AT IT_SUCCESS.
WRITE:/ SY-VLINE,
(10) IT_SUCCESS-SALESDOCUMENT, SY-VLINE.
CLEAR IT_SUCCESS.
ENDLOOP.
WRITE:/ SY-ULINE(15).
REFRESH: IT_SUCCESS.
FORMAT COLOR COL_BACKGROUND.
ENDFORM. " DISPLAY_SUCESS
*&---------------------------------------------------------------------*
*& Form ERRORHEADINGS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ERRORHEADINGS .
SKIP.
WRITE:2 ' Error Report '(007) COLOR COL_NEGATIVE.
SKIP.
WRITE:2 'The following records failed during update:'(008).
WRITE:/ SY-ULINE(104).
FORMAT COLOR COL_HEADING.
WRITE:/ SY-VLINE,
(10) 'ERROR.'(009), SY-VLINE.
WRITE:/ SY-ULINE(104).
FORMAT COLOR COL_NORMAL.
ENDFORM. " ERRORHEADINGS
*&---------------------------------------------------------------------*
*& Form ERRORREPORT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ERRORREPORT .
LOOP AT IT_ERROR.
WRITE:/ SY-VLINE,
(10) IT_ERROR-SRNO, SY-VLINE,
(40) IT_ERROR-ERR_MSG, SY-VLINE.
ENDLOOP.
WRITE:/ SY-ULINE(104).
REFRESH: IT_ERROR.
ENDFORM. " ERRORREPORTEdited by: Ankesh Jindal on Sep 29, 2008 10:49 AM
‎2008 Sep 29 9:56 AM
in the header poheaderx you just put an 'X' as value.
for some bapis it is mandatory that you specify which fields you are using,
example
w_poitem-PO_ITEM = '00010'.
w_poitem-SHORT_TEXT = p_TXZ01.
w_poitem-PLANT = p_werks.
w_poitem-MATL_GROUP = p_matkl.
w_poitem-QUANTITY = p_menge.
w_poitem-PO_UNIT = p_meins.
w_poitem-NET_PRICE = p_netpr.
w_poitem-EST_PRICE = p_schpr.
w_poitem-PREQ_NAME = p_afnam.
w_poitem-ORDERPR_UN = p_epein.
append w_poitem to i_poitem.
w_poitemx-PO_ITEM = '00010'.
w_poitemx-SHORT_TEXT = 'X'.
w_poitemx-PLANT = 'X'.
w_poitemx-MATL_GROUP = 'X'.
w_poitemx-QUANTITY = 'X'.
w_poitemx-PO_UNIT = 'X'.
w_poitemx-NET_PRICE = 'X'.
w_poitemx-EST_PRICE = 'X'.
w_poitemx-ACCTASSCAT = 'X'.
w_poitemx-PREQ_NAME = 'X'.
w_poitemx-ORDERPR_UN = 'X'.
append w_poitemx to i_poitemx.
kind regards
arthur de smidt
Edited by: A. de Smidt on Sep 29, 2008 10:57 AM
Edited by: A. de Smidt on Sep 29, 2008 10:59 AM
‎2008 Sep 29 10:02 AM
i have changed these field to 'X' but three errors are still coming
1 E BAPI 001 No instance of object type PurchaseOrder has been created. External reference:
2 E MEPO 000 Purchase order still contains faulty items
3 E ME 069 Unknown account assignment not defined for use herePls help
‎2008 Sep 29 10:07 AM
so you changed it also for POHEADERX and POSCHEDULEX !
kind regards
arthur
‎2008 Sep 29 10:09 AM
‎2008 Sep 29 10:11 AM
and I see that there is no assignment for settlement ??
w_poaccount-PO_ITEM = '00010'.
w_poaccount-SERIAL_NO = '01'.
w_poaccount-CREAT_DATE = sy-datum.
w_poaccount-GL_ACCOUNT = p_saknr.
w_poaccount-ORDERID = h_aufnr.
append w_poaccount to i_poaccount.
w_poaccountx-PO_ITEM = '00010'.
w_poaccountx-SERIAL_NO = '01'.
w_poaccountX-CREAT_DATE = 'X'.
w_poaccountx-GL_ACCOUNT = 'X'.
w_poaccountx-ORDERID = 'X'.
append w_poaccountx to i_POACCOUNTX.
??
normally when all the values are right you can also try what happens if you put it in manually with me21n and perhaps which values are missing or conflict with each other
‎2008 Sep 29 10:11 AM
and I see that there is no assignment for settlement ??
w_poaccount-PO_ITEM = '00010'.
w_poaccount-SERIAL_NO = '01'.
w_poaccount-CREAT_DATE = sy-datum.
w_poaccount-GL_ACCOUNT = p_saknr.
w_poaccount-ORDERID = h_aufnr.
append w_poaccount to i_poaccount.
w_poaccountx-PO_ITEM = '00010'.
w_poaccountx-SERIAL_NO = '01'.
w_poaccountX-CREAT_DATE = 'X'.
w_poaccountx-GL_ACCOUNT = 'X'.
w_poaccountx-ORDERID = 'X'.
append w_poaccountx to i_POACCOUNTX.
also the key has not to be changed to X !
??
normally when all the values are right you can also try what happens if you put it in manually with me21n and perhaps which values are missing or conflict with each other
Edited by: A. de Smidt on Sep 29, 2008 11:12 AM
‎2008 Sep 29 10:14 AM
Buddy when i am creating with me21n i am able to create without any problem , but i m nt able to go thru with bapi as these errors are coming
i am taking acc assingnment as 'U' , bapi_po_create1 is also not accepting it , i dont know why but when i am creating manually i m able to create without any probs.
‎2008 Sep 29 10:17 AM
when you create it manually there are also a lot of default values passed . are these values also covered in the bapi ?
I will have a look to see what otherwise can be the problem
kind regards
arthur de smidt
‎2008 Sep 29 10:20 AM
ok let me have a check on the defualt values ... i wil revert u after checking it.!!!
‎2008 Sep 29 10:27 AM
OK perrhaps it is also that some silly basics like language have to be transfered.
w_BAPIMEPOHEADER-LANGU = 'NL'.
that's mostly the problem with bapis , you have to tell them everything
kind regards
arthur
‎2008 Sep 29 10:35 AM
I HVE CHANGED IT TO 'E' BUT STILL IT IS SHOWING ERROR
No instance of object type PurchaseOrder has been created. External reference:
Purchase order still contains faulty items
In case of account assignment, please enter acc. assignment data for itemEdited by: Ankesh Jindal on Sep 29, 2008 11:35 AM
‎2008 Sep 29 12:15 PM
the error is now much more understandable.
can you perhaps put you're complete code down here again so I can check what might be wrong ?
kind regards
arthur de smidt
‎2008 Sep 29 12:17 PM
This is my Complete code below , waiting 4 ur reply
*&---------------------------------------------------------------------*
*& Report ZPURCHASE_ORDER_BAPI
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZPURCHASE_ORDER_BAPI.
DATA PO_HEADER TYPE BAPIMEPOHEADER.
DATA POHEADERX TYPE BAPIMEPOHEADERX.
DATA PO_ITEM TYPE BAPIMEPOITEM OCCURS 0 WITH HEADER LINE. " ITEM LEVEL
DATA POITEMX TYPE BAPIMEPOITEMX OCCURS 0 WITH HEADER LINE. " ITEM LEVEL
DATA PO_LIMITS TYPE BAPIESUHC OCCURS 0 WITH HEADER LINE. " LIMIT DATA
DATA PO_SERVICES TYPE BAPIESLLC OCCURS 0 WITH HEADER LINE. " TAX DATA
DATA POSCHEDULE TYPE BAPIMEPOSCHEDULE OCCURS 0 WITH HEADER LINE . " DELIVERY SCDHULE DATA
DATA POSCHEDULEX TYPE BAPIMEPOSCHEDULX OCCURS 0 WITH HEADER LINE . " DELIVERY SCDHULE DATA
DATA SALESDOCUMENT TYPE BAPIMEPOHEADER-PO_NUMBER.
DATA PO_ITEM_ACCOUNT_ASSIGNMENT TYPE BAPIEKKN OCCURS 0 WITH HEADER LINE.
DATA POACCOUNT LIKE BAPIMEPOACCOUNT OCCURS 0 WITH HEADER LINE.
DATA POACCOUNTX LIKE BAPIMEPOACCOUNTX OCCURS 0 WITH HEADER LINE.
DATA V_MESSAGE TYPE STRING.
DATA : RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE.
********MESSAGE RELATED DATA
DATA: GD_CURRENTROW TYPE I.
DATA : PURCHASEORDER LIKE EKKO-EBELN.
DATA: TOT_REC TYPE I, "Total Records
GD_UPDATE TYPE I, "Main Table Increement Counter
GD_LINES TYPE I, "Success Table increement Counter
W_TEXTOUT LIKE T100-TEXT. "VARIABLE TO GET ERRORLOG
DATA : BEGIN OF IT_SUCCESS OCCURS 0,
SALESDOCUMENT LIKE BAPIVBELN-VBELN, "PROJECT
END OF IT_SUCCESS.
DATA V_TEXT TYPE CHAR33.
DATA : BEGIN OF IT_ERROR OCCURS 0,
SRNO(4),
ERR_MSG(73) TYPE C, "TO RETREIVE ERROR MESSAGES
END OF IT_ERROR.
DATA : SRNO(4).
****************************
********************
****HEADER DATA.
PO_HEADER-CREAT_DATE = SY-DATUM.
PO_HEADER-DOC_DATE = SY-DATUM.
PO_HEADER-DOC_TYPE = 'TRPO'.
*po_header-DOC_CAT =
PO_HEADER-COMP_CODE = '1000'.
PO_HEADER-PURCH_ORG = '1000'.
PO_HEADER-PUR_GROUP = '402'.
PO_HEADER-VENDOR = 'A000010'. "'JR00006'.
PO_HEADER-CURRENCY = 'INR'.
PO_HEADER-VPER_START = '20081001'.
PO_HEADER-VPER_END = '20081030'.
PO_HEADER-LANGU = 'E'.
****another header FOR INTERFACE
POHEADERX-CREAT_DATE = SY-DATUM.
POHEADERX-DOC_DATE = 'X'.
POHEADERX-DOC_TYPE = 'X'.
POHEADERX-COMP_CODE = 'X'.
POHEADERX-PURCH_ORG = 'X'.
POHEADERX-PUR_GROUP = 'X'.
POHEADERX-VENDOR = 'X'.
POHEADERX-CURRENCY = 'X'.
POHEADERX-VPER_START = 'X'.
POHEADERX-VPER_END = 'X'.
PO_HEADER-LANGU = 'X'.
****ITEM LEVEL DETAILS
PO_ITEM-PO_ITEM = '00010'.
PO_ITEM-ACCTASSCAT = 'D'.
PO_ITEM-ITEM_CAT = 'D'.
PO_ITEM-SHORT_TEXT = 'CEMENT'. " SHORT TEXT
PO_ITEM-MATL_GROUP = '101001'. " MAT GRP
PO_ITEM-PLANT = '1100'. " PLANT
PO_ITEM-STGE_LOC = 'FG01'. " STORAGE LOCATION
PO_ITEM-TRACKINGNO = '41'. " DEPARTMENT CODE
PO_ITEM-QUANTITY = '1.00'.
PO_ITEM-PO_UNIT = 'AU'.
PO_ITEM-PREQ_NAME = 'Abc@xyz'.
PO_ITEM-NET_PRICE = '1000'.
APPEND PO_ITEM.
*** ITEM LEVEL DETAIL FOR INTERFACE
POITEMX-PO_ITEM = '00010'.
POITEMX-ACCTASSCAT = 'X'.
PO_ITEM-ITEM_CAT = 'X'.
POITEMX-SHORT_TEXT = 'X'. " SHORT TEXT
POITEMX-MATL_GROUP = 'X'. " MAT GRP
POITEMX-PLANT = 'X'. " PLANT
POITEMX-STGE_LOC = 'X'. " STORAGE LOCATION
POITEMX-TRACKINGNO = 'X'. " DEPARTMENT CODE
POITEMX-QUANTITY = 'X'.
POITEMX-PO_UNIT = 'X'.
POITEMX-PREQ_NAME = 'X'.
POITEMX-NET_PRICE = 'X'.
APPEND POITEMX.
******LIMIT DATA
PO_LIMITS-LIMIT = '1000'.
PO_LIMITS-EXP_VALUE = '1000'.
APPEND PO_LIMITS.
*****TAX DATA
PO_SERVICES-TAX_CODE = 'JA'.
APPEND PO_SERVICES.
****DELIVERY SCDDULE DATA.
POSCHEDULE-PO_ITEM = '00010'.
POSCHEDULE-SCHED_LINE = '0001'.
POSCHEDULE-DEL_DATCAT_EXT = 'M'.
POSCHEDULE-DELIVERY_DATE = '102008'.
POSCHEDULE-STAT_DATE = '20081030'.
APPEND POSCHEDULE.
****FOR INTERFACE DELIVERY DATA
POSCHEDULEX-PO_ITEM = '00010'.
POSCHEDULEX-SCHED_LINE = '0001'.
POSCHEDULEX-DEL_DATCAT_EXT = 'X'.
POSCHEDULEX-DELIVERY_DATE = 'X'.
POSCHEDULEX-STAT_DATE = 'X'.
APPEND POSCHEDULEX .
*********PO ACCOUNT ASSIGNMENT.
*POACCOUNT-PO_ITEM = '00010'.
*POACCOUNT-SERIAL_NO = '01'.
*POACCOUNT-CREAT_DATE = SY-DATUM.
*POACCOUNT-GL_ACCOUNT = '0000400000'.
*POACCOUNT-COSTCENTER = '0000001000' .
*APPEND POACCOUNT .
*
*POACCOUNTX-PO_ITEM = '00010'.
*POACCOUNTX-SERIAL_NO = '01'.
*POACCOUNTX-CREAT_DATE = 'X'.
*POACCOUNTX-GL_ACCOUNT = 'X'.
*POACCOUNTX-CO_AREA = 'X'.
*POACCOUNT-COSTCENTER = 'X' .
*APPEND POACCOUNTX.
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
POHEADER = PO_HEADER
POHEADERX = POHEADERX
* POADDRVENDOR =
* TESTRUN =
* MEMORY_UNCOMPLETE =
* MEMORY_COMPLETE =
* POEXPIMPHEADER =
* POEXPIMPHEADERX =
* VERSIONS =
* NO_MESSAGING =
* NO_MESSAGE_REQ =
* NO_AUTHORITY =
* NO_PRICE_FROM_PO =
IMPORTING
EXPPURCHASEORDER = SALESDOCUMENT
* EXPHEADER =
* EXPPOEXPIMPHEADER =
TABLES
RETURN = RETURN
POITEM = PO_ITEM
POITEMX = POITEMX
* POADDRDELIVERY =
POSCHEDULE = POSCHEDULE
POSCHEDULEX = POSCHEDULEX
POACCOUNT = POACCOUNT
* POACCOUNTPROFITSEGMENT =
POACCOUNTX = POACCOUNTX
* POCONDHEADER =
* POCONDHEADERX =
* POCOND =
* POCONDX =
POLIMITS = PO_LIMITS
* POCONTRACTLIMITS =
POSERVICES = PO_SERVICES
* POSRVACCESSVALUES =
* POSERVICESTEXT =
* EXTENSIONIN =
* EXTENSIONOUT =
* POEXPIMPITEM =
* POEXPIMPITEMX =
* POTEXTHEADER =
* POTEXTITEM =
* ALLVERSIONS =
* POPARTNER =
* POCOMPONENTS =
* POCOMPONENTSX =
* POSHIPPING =
* POSHIPPINGX =
* POSHIPPINGEXP =
.
*CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
* EXPORTING
* WAIT =
* IMPORTING
* RETURN =
.
IF SALESDOCUMENT <> SPACE.
COMMIT WORK.
ADD 1 TO GD_UPDATE.
IT_SUCCESS-SALESDOCUMENT = SALESDOCUMENT.
APPEND IT_SUCCESS.
CLEAR :SALESDOCUMENT,PO_HEADER.
* REFRESH : RETURN,ORDER_ITEMS_IN,ORDER_PARTNERS.
ELSE.
LOOP AT RETURN.
* IT_ERROR-SRNO = TAB-SRNO.
IT_ERROR-ERR_MSG = RETURN-MESSAGE .
APPEND IT_ERROR.
ENDLOOP.
CLEAR :SALESDOCUMENT,PO_HEADER.
* REFRESH : RETURN,ORDER_ITEMS_IN,ORDER_PARTNERS.
ENDIF.
DESCRIBE TABLE IT_SUCCESS LINES GD_LINES.
IF GD_LINES GT 0.
* Display result report column headings
PERFORM DISPLAY_COLUMN_HEADINGS.
PERFORM DISPLAY_SUCESS.
ENDIF.
* IF SUCESS FAILS Display Error Report
DESCRIBE TABLE IT_ERROR LINES GD_LINES.
IF GD_LINES GT 0.
PERFORM ERRORHEADINGS.
PERFORM ERRORREPORT.
ENDIF.
*&---------------------------------------------------------------------*
*& Form DISPLAY_COLUMN_HEADINGS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DISPLAY_COLUMN_HEADINGS .
WRITE:2 ' Success Report '(014) COLOR COL_POSITIVE.
SKIP.
WRITE:2 'The following records inserted successfully:'(013).
WRITE:/ SY-ULINE(15).
FORMAT COLOR COL_HEADING.
WRITE:/ SY-VLINE,
(10) 'Sales order'(004), SY-VLINE.
WRITE:/ SY-ULINE(15).
"display_column_headings
ENDFORM. " DISPLAY_COLUMN_HEADINGS
*&---------------------------------------------------------------------*
*& Form DISPLAY_SUCESS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DISPLAY_SUCESS .
FORMAT COLOR COL_NORMAL.
LOOP AT IT_SUCCESS.
WRITE:/ SY-VLINE,
(10) IT_SUCCESS-SALESDOCUMENT, SY-VLINE.
CLEAR IT_SUCCESS.
ENDLOOP.
WRITE:/ SY-ULINE(15).
REFRESH: IT_SUCCESS.
FORMAT COLOR COL_BACKGROUND.
ENDFORM. " DISPLAY_SUCESS
*&---------------------------------------------------------------------*
*& Form ERRORHEADINGS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ERRORHEADINGS .
SKIP.
WRITE:2 ' Error Report '(007) COLOR COL_NEGATIVE.
SKIP.
WRITE:2 'The following records failed during update:'(008).
WRITE:/ SY-ULINE(104).
FORMAT COLOR COL_HEADING.
WRITE:/ SY-VLINE,
(10) 'ERROR.'(009), SY-VLINE.
WRITE:/ SY-ULINE(104).
FORMAT COLOR COL_NORMAL.
ENDFORM. " ERRORHEADINGS
*&---------------------------------------------------------------------*
*& Form ERRORREPORT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ERRORREPORT .
LOOP AT IT_ERROR.
WRITE:/ SY-VLINE,
(10) IT_ERROR-SRNO, SY-VLINE,
(40) IT_ERROR-ERR_MSG, SY-VLINE.
ENDLOOP.
WRITE:/ SY-ULINE(104).
REFRESH: IT_ERROR.
‎2008 Sep 29 12:25 PM
i hve to use account assignment that is either D or U
and in case of U it is giving below error
Unknown account assignment not defined for use here
‎2008 Sep 29 12:35 PM
let us first fix
No instance of object type PurchaseOrder has been created. External reference:
Purchase order still contains faulty items
there are some fields you have not filled up in the headerx and itemx strs please cross check..you need to have and 'X' to all the fields which you pass in header and item in headerx and itemx
example in itemx you dint pass PO_ITEMX = 'X'.
santhosh
‎2008 Sep 29 12:40 PM
I Hve checked it deeply now its acc to as u said above but still i am getting these 3 error.??
001 No instance of object type PurchaseOrder has been created. External reference:
000 Purchase order still contains faulty items
069 Unknown account assignment not defined for use here
‎2008 Sep 29 12:47 PM
Hi,
Check your T163K table you would see in which all documents can you use 'U' in your sytem. contact your Functional regarrding this..I think there's no PO there thats the problem.
santhosh
‎2008 Sep 29 12:51 PM
if i am creating with me21n manually then it is showing no error but when i am creating it with bapi by taking U it is showing eror
Unknown account assignment not defined for use here
i hve to take either U and D but r working when i do it manually
‎2008 Sep 29 12:23 PM
*********PO ACCOUNT ASSIGNMENT.
*POACCOUNT-PO_ITEM = '00010'.
*POACCOUNT-SERIAL_NO = '01'.
*POACCOUNT-CREAT_DATE = SY-DATUM.
*POACCOUNT-GL_ACCOUNT = '0000400000'.
*POACCOUNT-COSTCENTER = '0000001000' .
*APPEND POACCOUNT .
*
*POACCOUNTX-PO_ITEM = '00010'.
*POACCOUNTX-SERIAL_NO = '01'.
*POACCOUNTX-CREAT_DATE = 'X'.
*POACCOUNTX-GL_ACCOUNT = 'X'.
*POACCOUNTX-CO_AREA = 'X'.
*POACCOUNT-COSTCENTER = 'X' .
*APPEND POACCOUNTX.
in this you are missing
PO_ITEMX = 'X'.
SERIAL_NOX = 'X'.
also you are missing PO_ITEMX in ITEMX structure check out BAPIMEPOITEMX.
santhosh
Edited by: Kaluvala Santhosh on Sep 29, 2008 4:54 PM