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

bapi purchase oder problem

Former Member
0 Likes
2,166

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 here

Please help

Ankesh

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
2,113

Hi Ankesh,

Please check Note : 0001148689

If it is not helping you, Please give some more details about the problem.

Regards,

Swapnil

21 REPLIES 21
Read only

Former Member
0 Likes
2,114

Hi Ankesh,

Please check Note : 0001148689

If it is not helping you, Please give some more details about the problem.

Regards,

Swapnil

Read only

0 Likes
2,113

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.                    " ERRORREPORT

Edited by: Ankesh Jindal on Sep 29, 2008 10:49 AM

Read only

0 Likes
2,113

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

Read only

0 Likes
2,113

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 here

Pls help

Read only

0 Likes
2,113

so you changed it also for POHEADERX and POSCHEDULEX !

kind regards

arthur

Read only

0 Likes
2,113

I HAVE CHANGED IT FOR ALL ..

Read only

0 Likes
2,113

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

Read only

0 Likes
2,113

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

Read only

0 Likes
2,113

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.

Read only

0 Likes
2,113

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

Read only

0 Likes
2,113

ok let me have a check on the defualt values ... i wil revert u after checking it.!!!

Read only

0 Likes
2,113

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

Read only

0 Likes
2,113

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 item

Edited by: Ankesh Jindal on Sep 29, 2008 11:35 AM

Read only

0 Likes
2,113

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

Read only

0 Likes
2,113

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.

Read only

0 Likes
2,113

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

Read only

0 Likes
2,113

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

Read only

0 Likes
2,113

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

Read only

0 Likes
2,113

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

Read only

0 Likes
2,113

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

Read only

Former Member
0 Likes
2,113

*********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