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

Error while creating po with reference of PR using bapi BAPI_PO_CREATE1

Former Member
0 Likes
6,070

hi,

I am creating a po with reference of PR  using bapi.

I am getting below error

No instance of object type PurchaseOrder has been created. External reference:

my code is below.

ZPO_HEADER-DOC_TYPE EKKO-BSART.

  ZPO_HEADERX-DOC_TYPE = 'X'.

*  ZPO_HEADER-LANGU = SY-LANGU.

*  ZPO_HEADERX-LANGU = 'X'.

*  ZPO_HEADER-OUR_REF = 'hi'.

*  ZPO_HEADERX-OUR_REF = 'X'.

  ZPO_HEADER-COMP_CODE = 'XXXX'.

  ZPO_HEADERX-COMP_CODE = 'X'.

  ZPO_HEADER-VENDOR   = EKKO-LIFNR.

  ZPO_HEADERX-VENDOR  = 'X'.

  ZPO_HEADER-PURCH_ORG EKKO-EKORG.

  ZPO_HEADERX-PURCH_ORG = 'X'.

  ZPO_HEADER-PUR_GROUP EKKO-EKGRP.

  ZPO_HEADERX-PUR_GROUP = 'X'.

*  ZPO_HEADER-CREAT_DATE    = SY-DATUM.

*  ZPO_HEADERX-CREAT_DATE    = 'X'.

*  ZPO_HEADER-CURRENCY = 'INR'.

*  ZPO_HEADERX-CURRENCY = 'X'.

*  ZPO_HEADER-INCOTERMS1 = VBKD-INCO1.

*  ZPO_HEADERX-INCOTERMS1 = 'X'.

  ZPO_HEADER-DOC_DATE  = SY-DATUM.

  ZPO_HEADERX-DOC_DATE  = 'X'.

  APPEND ZPO_HEADER.

  APPEND ZPO_HEADERX.

  CLEAR:EBAN.

  SELECT SINGLE * FROM EBAN WHERE BANFN = VBEP-BANFN.

  SELECT POSNR MATNR KWMENG FROM VBAP INTO TABLE L_TAB_VBAP WHERE VBELN = I_VBELN1 .

  LOOP AT L_TAB_VBAP INTO L_WA_VBAP.

    ZPO_ITEM-PO_ITEM L_WA_VBAP-POSNR.

    ZPO_ITEMX-PO_ITEM = L_WA_VBAP-POSNR.

    ZPO_ITEMX-PO_ITEMX = 'X'.

      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

        EXPORTING

          input  = L_WA_VBAP-MATNR

        IMPORTING

          output = L_WA_VBAP-MATNR.

*      MODIFY xheader.



    ZPO_ITEM-MATERIAL = L_WA_VBAP-MATNR.

    ZPO_ITEMX-MATERIAL = 'X'.

*    ZPO_ITEM-PLANT =

    ZPO_ITEM-QUANTITY = L_WA_VBAP-KWMENG.

    ZPO_ITEMX-QUANTITY = 'X'.

    ZPO_ITEM-TAX_CODE EKPO-MWSKZ.

    ZPO_ITEMX-TAX_CODE = 'X'.

*    ZPO_ITEMX-INFO_UPD = 'X'.

*    ZPO_ITEM-INFO_UPD = 'X'.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

      EXPORTING

        INPUT  = VBEP-BANFN

      IMPORTING

        OUTPUT = VBEP-BANFN.

    ZPO_ITEM-PREQ_NO VBEP-BANFN.

    ZPO_ITEMX-PREQ_NO = 'X'.

    ZPO_ITEM-PREQ_ITEM = L_WA_VBAP-POSNR.

    ZPO_ITEMX-PREQ_ITEM = 'X'.

    ZPO_ACC-PO_ITEM = L_WA_VBAP-POSNR.

    ZPO_ACCNTX-PO_ITEM = L_WA_VBAP-POSNR.

    ZPO_ACCNTX-PO_ITEMX = 'X'.

    ZPO_ACC-COSTCENTER EKKN-KOSTL.

    ZPO_ACCNTX-COSTCENTER = 'X'.

    ZPO_ITEM-PLANT          EBAN-WERKS.

*    ZPO_ITEM-STGE_LOC       =  EBAN-LGORT.

    ZPO_ITEM-PO_UNIT        EBAN-MEINS.

    ZPO_ITEM-PO_UNIT_ISO    EBAN-MEINS.

    ZPO_ITEM-PREQ_NAME      EBAN-AFNAM.



    ZPO_ITEM-PLANT         'X'.

*    ZPO_ITEM-STGE_LOC      =  'X'.

    ZPO_ITEM-PO_UNIT       'X'.

    ZPO_ITEM-PO_UNIT_ISO   'X'.

    ZPO_ITEM-PREQ_NAME     'X'.

    APPEND: ZPO_ITEM,ZPO_ITEMX.

    APPEND: ZPO_ACC,ZPO_ACCNTX.

    ZPO_SHED-PO_ITEM = L_WA_VBAP-POSNR.

    ZPO_SHEDX-PO_ITEM = L_WA_VBAP-POSNR.

    ZPO_SHED-SCHED_LINE = '00001'.

    ZPO_SHEDX-SCHED_LINE = '00001'.

    ZPO_SHEDX-PO_ITEMX = 'X'.

    ZPO_SHED-QUANTITY = L_WA_VBAP-KWMENG.

    ZPO_SHEDX-QUANTITY = 'X'.

    ZPO_SHED-DELIVERY_DATE = SY-DATUM.

    ZPO_SHEDX-DELIVERY_DATE = 'X'.

    CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'

      EXPORTING

        DATE_EXTERNAL            = SY-DATUM

        ACCEPT_INITIAL_DATE      = 'X'

      IMPORTING

        DATE_INTERNAL            = ZPO_SHED-PO_DATE

      EXCEPTIONS

        DATE_EXTERNAL_IS_INVALID = 1

        OTHERS                   = 2.



    ZPO_SHEDX-PO_DATE = 'X'.

    ZPO_SHED-PREQ_NO = VBEP-BANFN..

    ZPO_SHEDX-PREQ_NO = 'X'.

    ZPO_SHED-PREQ_ITEM = L_WA_VBAP-POSNR.

    ZPO_SHEDX-PREQ_ITEM = 'X'.

    APPEND: ZPO_SHED,ZPO_SHEDX.

    CLEAR : ZPO_SHED,ZPO_SHEDX .

  ENDLOOP.

*    CLEAR flag.

  SORT ZPO_ITEM BY PREQ_NAME.

  CALL FUNCTION 'BAPI_PO_CREATE1'

    EXPORTING

      POHEADER         = ZPO_HEADER

      POHEADERX        = ZPO_HEADERX

      NO_PRICE_FROM_PO = 'X'

*        testrun          = 'X'

    IMPORTING

      EXPPURCHASEORDER = L_EXPPURCHASEORDER

    TABLES

      RETURN           = L_RETURN

      POITEM           = ZPO_ITEM

      POITEMX          = ZPO_ITEMX

      POSCHEDULE       = ZPO_SHED

      POSCHEDULEX      = ZPO_SHEDX

      POACCOUNT        = ZPO_ACC

      POACCOUNTX       = ZPO_ACCNTX.

  BREAK-POINT.

  IF SY-SUBRC = '0'..

    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

      EXPORTING

        WAIT = 'X'.



  ENDIF.

SO PLEASE SUGGEST IS THERE ANY MISTAKE IN ABOVE CODE.

THANKS.

28 REPLIES 28
Read only

shah_viraj
Active Participant
0 Likes
4,076

post the whole executable code so that we can execute and check.

Read only

SimoneMilesi
Active Contributor
0 Likes
4,076

   Hello Krishna,

i guess the error is here


     ZPO_ITEM-PREQ_NO VBEP-BANFN.

    ZPO_ITEMX-PREQ_NO = 'X'.

    ZPO_ITEM-PREQ_ITEM = L_WA_VBAP-POSNR.


You are passing VBAP-POSNR instead of EBAN-BNFPO

even more, instead of VBEP-BANFN you should try to pass EBAN-BANFN

Ah, more again, fill the X structures' fields only if the corresponding fields are filled. For example: if you  have BANFN empty, ZPO_ITEMX-PREQ_NO should be blank

Read only

0 Likes
4,076

HI SIMONE,

thanks ...

there is no difference between VBAP-POSNR and EBAN-BNFPO both are same(item nos)

I did the same changes earlier but I am getting same error still..

Read only

former_member302911
Active Participant
0 Likes
4,076

Hi Krishna,

have you checked all the messages in RETURN table ? Are there messages of type 'E' ?

Regards,

Angelo.

Read only

0 Likes
4,076

hi angelo,

yes it's showing error message .when I check testrun it is working fine. while executing the bapi I am getting this error.

Read only

Former Member
0 Likes
4,076

Hi,

Please try to do like this,

Step1:      Retrieve the relevant data for the given purchase Requisition number

                 using the bapi 'BAPI_PR_GETDETAIL'.

CALL FUNCTION 'BAPI_PR_GETDETAIL'

    EXPORTING

      number             = p_banfn

      account_assignment = gc_x

    IMPORTING

      prheader           = gs_prheader

    TABLES

      return             = gt_return

      pritem             = gt_pritem

      praccount          = gt_praccount.

Step 2: Create PO:

CALL FUNCTION 'BAPI_PO_CREATE1'

    EXPORTING

      poheader         = gs_poheader

      poheaderx        = gs_poheaderx

    IMPORTING

      exppurchaseorder = gv_pono

    TABLES

      return           = gt_return

      poitem           = gt_poitem

      poitemx          = gt_poitemx

      poschedule       = gt_poschedule

      poschedulex      = gt_poschedulex

      poaccount        = gt_poaccount

      poaccountx       = gt_poaccountx.

Read only

Former Member
0 Likes
4,076

Hi Krishna,

I am also working on the same requirement. For me below code is working:

CLEAR :iw_poheader,iw_poheaderx,it_result.

   iw_poheader-doc_date    = sy-datum .

   iw_poheader-creat_date  = sy-datum .

   iw_poheader-item_intvl  = '00010'."item.

   iw_poheader-doc_type    = 'UB'.

   iw_poheader-comp_code   = '2000'.

   iw_poheader-purch_org   = '2000'.

   iw_poheader-pur_group   = '100' .

   iw_poheader-vendor      = p_shipfrom .

   iw_poheaderx-comp_code  = 'X'.

   iw_poheaderx-doc_type   = 'X'.

   iw_poheaderx-creat_date = 'X'.

   iw_poheaderx-item_intvl = 'X'.

   iw_poheaderx-vendor     = 'X'.

   iw_poheaderx-purch_org  = 'X'.

   iw_poheaderx-pur_group  = 'X'.

   iw_poheaderx-doc_date   = 'X'.

   CLEAR :valu,item,iw_poitem,i_poitem,iw_poitemx,i_poitemx.

   LOOP AT gt_data ASSIGNING <fs> WHERE bwtar IS NOT INITIAL AND del_qty IS NOT INITIAL.

     item = item + 10.

     valu = 99.

     iw_poitem-po_item       = item.

     iw_poitem-material      = <fs>-matnr.

     iw_poitem-plant         = p_shipto.

     iw_poitem-stge_loc      = <fs>-lgort .

     iw_poitem-quantity      = <fs>-del_qty .

*  iw_poitem-po_unit       = wa_final-uom .

     iw_poitem-batch         = <fs>-bwtar.

     iw_poitem-val_type      = <fs>-bwtar.

     iw_poitem-preq_no = <fs>-banfn.

     iw_poitem-preq_item = <fs>-bnfpo.

     APPEND iw_poitem TO i_poitem.

     iw_poitemx-po_item      = item.

     iw_poitemx-material     = 'X'.

     iw_poitemx-plant        = 'X'.

     iw_poitemx-stge_loc     = 'X'.

     iw_poitemx-quantity     = 'X'.

     iw_poitemx-batch        = 'X'.

     iw_poitemx-val_type      = 'X'.

*

     iw_poitemx-preq_no = 'X'.

     iw_poitemx-preq_item = 'X'.

     APPEND iw_poitemx TO i_poitemx.

     CLEAR:iw_poitemx,iw_poitem.

   ENDLOOP.

IF iw_poheader IS NOT INITIAL AND i_poitem[] IS NOT INITIAL.

     CLEAR :return,po.

     CALL FUNCTION 'BAPI_PO_CREATE1'

       EXPORTING

         poheader         = iw_poheader

         poheaderx        = iw_poheaderx

       IMPORTING

         exppurchaseorder = po

       TABLES

         return           = return

         poitem           = i_poitem

         poitemx          = i_poitemx.

     IF po IS NOT INITIAL.

       CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

*                    EXPORTING

*                     WAIT          =

*                   IMPORTING

*                     RETURN        =

             .

endif.

Please check. Above code is working for me.

Moreover please tell all the messages you are getting in return table of BAPI.

Regrads,

Pankaj

Read only

0 Likes
4,076

DATA:P_BANFN TYPE BAPIMEREQHEADER-PREQ_NO,

        GC_X TYPE BAPIMMPARA-SELECTION,

        GS_PRHEADER TYPE BAPIMEREQHEADER,

        GT_RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE,

        GT_PRITEM LIKE BAPIMEREQITEM OCCURS 0 WITH HEADER LINE,

        GT_PRACCOUNT LIKE BAPIMEREQACCOUNT OCCURS 0 WITH HEADER LINE.

  P_BANFN = VBEP-BANFN.

  CALL FUNCTION 'BAPI_PR_GETDETAIL'

    EXPORTING

      NUMBER             = P_BANFN

      ACCOUNT_ASSIGNMENT = GC_X

    IMPORTING

      PRHEADER           = GS_PRHEADER

    TABLES

      RETURN             = GT_RETURN

      PRITEM             = GT_PRITEM

      PRACCOUNT          = GT_PRACCOUNT.





*  ZPO_HEADER-PO_NUMBER = 9801041094.

  ZPO_HEADER-DOC_TYPE EKKO-BSART.

  ZPO_HEADER-COMP_CODE = 'UTCL'.

  ZPO_HEADER-VENDOR   = EKKO-LIFNR.

  ZPO_HEADER-PURCH_ORG EKKO-EKORG.

  ZPO_HEADER-PUR_GROUP EKKO-EKGRP.

  ZPO_HEADER-CREAT_DATE    = SY-DATUM.

  ZPO_HEADER-CURRENCY = 'INR'.

  ZPO_HEADER-INCOTERMS1 = VBKD-INCO1.

  ZPO_HEADER-INCOTERMS2 = VBKD-INCO1.

  ZPO_HEADER-DOC_DATE  = SY-DATUM.

  ZPO_HEADER-PMNTTRMS = '0001'.

  ZPO_HEADER-ITEM_INTVL  = '00010'.



  ZPO_HEADERX-DOC_TYPE = 'X'.

  ZPO_HEADERX-COMP_CODE = 'X'.

  ZPO_HEADERX-VENDOR  = 'X'.

  ZPO_HEADERX-PURCH_ORG = 'X'.

  ZPO_HEADERX-PUR_GROUP = 'X'.

  ZPO_HEADERX-CREAT_DATE = 'X'.

  ZPO_HEADERX-CURRENCY = 'X'.

  ZPO_HEADERX-INCOTERMS1 = 'X'.

  ZPO_HEADERX-INCOTERMS2 = 'X'.

  ZPO_HEADERX-DOC_DATE  = 'X'.

  ZPO_HEADERX-PMNTTRMS = 'X'.

  ZPO_HEADERX-ITEM_INTVL  = 'X'.

*  ZPO_HEADER-LANGU = SY-LANGU.

*  ZPO_HEADERX-LANGU = 'X'.

*  ZPO_HEADER-OUR_REF = 'hi'.

*  ZPO_HEADERX-OUR_REF = 'X'.



  APPEND ZPO_HEADER. APPEND ZPO_HEADERX.



  CLEAR:EBAN.

  SELECT SINGLE * FROM EBAN WHERE BANFN = VBEP-BANFN.

  SELECT POSNR MATNR KWMENG FROM VBAP INTO TABLE L_TAB_VBAP WHERE VBELN = I_VBELN1 .

  LOOP AT L_TAB_VBAP INTO L_WA_VBAP.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

      EXPORTING

        INPUT  = L_WA_VBAP-MATNR

      IMPORTING

        OUTPUT = L_WA_VBAP-MATNR.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

      EXPORTING

        INPUT  = VBEP-BANFN

      IMPORTING

        OUTPUT = VBEP-BANFN.

    READ TABLE GT_PRITEM WITH KEY PREQ_ITEM = L_WA_VBAP-POSNR.

    ZPO_ITEM-PO_ITEM GT_PRITEM-PREQ_ITEM."L_WA_VBAP-POSNR.

    ZPO_ITEM-MATERIAL = GT_PRITEM-MATERIAL."L_WA_VBAP-MATNR.

    ZPO_ITEM-QUANTITY = GT_PRITEM-QUANTITY."L_WA_VBAP-KWMENG.

    ZPO_ITEM-TAX_CODE EKPO-MWSKZ.

    ZPO_ITEM-ACCTASSCAT = 'X'.

    ZPO_ITEM-ITEM_CAT = 'S'.

    ZPO_ITEM-PREQ_NO VBEP-BANFN.

    ZPO_ITEM-PREQ_ITEM = L_WA_VBAP-POSNR.

    ZPO_ITEM-PLANT          = GT_PRITEM-PLANT. "PLANT-WERKS.

    ZPO_ITEM-PO_UNIT        = GT_PRITEM-UNIT ."PLANT-MEINS.

    ZPO_ITEM-PO_UNIT_ISO    = GT_PRITEM-PREQ_UNIT_ISO ."PLANT-MEINS.

    ZPO_ITEM-PREQ_NAME      GT_PRITEM-PREQ_NAME."PLANT-AFNAM.

    ZPO_ITEM-IR_IND         'X'.

*    ZPO_ITEM-GR_BASEDIV     =  'X'.

    ZPO_ITEM-GR_IND 'X'.

*    ZPO_ITEM-NET_PRICE = 500.



    ZPO_ITEMX-PO_ITEM = L_WA_VBAP-POSNR.

    ZPO_ITEMX-PO_ITEMX = 'X'.

    ZPO_ITEMX-MATERIAL = 'X'.

    ZPO_ITEMX-QUANTITY = 'X'.

    ZPO_ITEMX-TAX_CODE = 'X'.

    ZPO_ITEMX-ACCTASSCAT = 'X'.

    ZPO_ITEMX-ITEM_CAT = 'X'.

    ZPO_ITEMX-PREQ_NO = 'X'.

    ZPO_ITEMX-PREQ_ITEM = 'X'.

    ZPO_ITEMX-PLANT         'X'.

    ZPO_ITEMX-PO_UNIT       'X'.

    ZPO_ITEMX-PO_UNIT_ISO   'X'.

    ZPO_ITEMX-PREQ_NAME     'X'.

    ZPO_ITEMX-IR_IND         'X'.

*    ZPO_ITEMX-GR_BASEDIV     =  'X'.

    ZPO_ITEMX-GR_IND 'X'.

*    ZPO_ITEMX-NET_PRICE = 'X'.

    APPEND: ZPO_ITEM,ZPO_ITEMX.

    CLEAR:ZPO_ITEM,ZPO_ITEMX.

    ZPO_ACC-PO_ITEM = L_WA_VBAP-POSNR.

    ZPO_ACC-COSTCENTER EKKN-KOSTL.

    ZPO_ACC-CO_AREA = 'GIL'.

    ZPO_ACC-GL_ACCOUNT = '0000705958'.



    ZPO_ACCNTX-PO_ITEM = L_WA_VBAP-POSNR.

    ZPO_ACCNTX-PO_ITEMX = 'X'.

    ZPO_ACCNTX-COSTCENTER = 'X'.

    ZPO_ACCNTX-CO_AREA = 'X'.

    ZPO_ACCNTX-GL_ACCOUNT = 'X'.

    APPEND: ZPO_ACC,ZPO_ACCNTX.

    CLEAR:ZPO_ACC,ZPO_ACCNTX.

    ZPO_SHED-PO_ITEM = L_WA_VBAP-POSNR.

    ZPO_SHED-SCHED_LINE = '00001'.

    ZPO_SHED-QUANTITY = L_WA_VBAP-KWMENG.

    ZPO_SHED-DEL_DATCAT_EXT = 'D'.

    ZPO_SHED-DELIVERY_DATE = SY-DATUM.

    ZPO_SHED-STAT_DATE = SY-DATUM.

    ZPO_SHED-PO_DATE = SY-DATUM.

    ZPO_SHED-PREQ_NO = VBEP-BANFN..

    ZPO_SHED-PREQ_ITEM = L_WA_VBAP-POSNR.



    ZPO_SHEDX-PO_ITEM = L_WA_VBAP-POSNR.

    ZPO_SHEDX-PO_ITEMX = 'X'.

    ZPO_SHEDX-SCHED_LINE = '00001'.

    ZPO_SHEDX-QUANTITY = 'X'.

    ZPO_SHEDX-DEL_DATCAT_EXT = 'X'.

    ZPO_SHEDX-DELIVERY_DATE = 'X'.

    ZPO_SHEDX-STAT_DATE = 'X'.

    ZPO_SHEDX-PO_DATE = 'X'.

    ZPO_SHEDX-PREQ_NO = 'X'.

    ZPO_SHEDX-PREQ_ITEM = 'X'.

    APPEND: ZPO_SHED,ZPO_SHEDX.

    CLEAR : ZPO_SHED,ZPO_SHEDX .



  ENDLOOP.

  DATA:C(1) TYPE C.

*c = 'X'.

  BREAK-POINT.

  SORT ZPO_ITEM BY PREQ_NAME.

  CALL FUNCTION 'BAPI_PO_CREATE1'

    EXPORTING

      POHEADER         ZPO_HEADER

      POHEADERX        = ZPO_HEADERX

*      NO_PRICE_FROM_PO = 'X'

        TESTRUN          = C

    IMPORTING

      EXPPURCHASEORDER = L_EXPPURCHASEORDER

    TABLES

      RETURN           = L_RETURN

      POITEM           = ZPO_ITEM[]

      POITEMX          = ZPO_ITEMX[]

      POSCHEDULE       = ZPO_SHED[]

      POSCHEDULEX      = ZPO_SHEDX[]

      POACCOUNT        = ZPO_ACC[]

      POACCOUNTX       = ZPO_ACCNTX[].

  BREAK-POINT.

  IF SY-SUBRC = '0'..

    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

      EXPORTING

        WAIT = 'X'.



  ENDIF.

Read only

0 Likes
4,076

Hi Krishna,

Please debug your code and tell us all messages coming in L_RETURN table. Open i_return table in debugging mode and tell me all the messages coming after execution of BAPI.

Regards,

Pankaj

Read only

0 Likes
4,076

Hi Krishna,

Please use the conversions where ever applicable like material number cost center vendor GL Account  etc... and check.

For example,

    ST_POACCOUNT-GL_ACCOUNT = '0000511750'.

        ST_POACCOUNTX-GL_ACCOUNT = 'X'.



        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

          EXPORTING

            INPUT  = ST_POACCOUNT-GL_ACCOUNT

          IMPORTING

            OUTPUT = ST_POACCOUNT-GL_ACCOUNT.

Regards.

Prakash.

Prakash J
Read only

0 Likes
4,076

hi,

I am getting below messages

TYPEIDNUMBERMESSAGELOG_NOLOG_MSG_NOMESSAGE_V1MESSAGE_V2MESSAGE_V3MESSAGE_V4PARAMETERROWFIELD
WME887Error transferring ExtensionIn data for enhancement CI_EKPODB0CI_EKPODBPOHEADER1
WME887Error transferring ExtensionIn data for enhancement CI_EKKODB0CI_EKKODBPOHEADER1
EBAPI1No instance of object type PurchaseOrder has been created. External
  reference:
0PurchaseOrderPOHEADER1
W6261No message generated for output of purchasing document0POHEADER1
WME40Can delivery date be met?0POSCHEDULE1
Read only

0 Likes
4,076

Hi Krishna,

There is only one error message.

Try by passing only the necessary fields to "ZPO_HEADER" and "ZPO_HEADERX" tables.

for example:

ZPO_HEADER-CURRENCY = 'INR'.

  ZPO_HEADER-INCOTERMS1 = VBKD-INCO1.

  ZPO_HEADER-INCOTERMS2 = VBKD-INCO1.

  ZPO_HEADER-DOC_DATE  = SY-DATUM.

  ZPO_HEADER-PMNTTRMS = '0001'.


Above fields are not required. Try by commenting these fields from "ZPO_HEADER" and "ZPO_HEADERX" tables. Just try and check if you get any error message.


Regards,

Pankaj

Read only

0 Likes
4,076

hi pankaj,

I did the same and still I am getting same error.

Read only

0 Likes
4,076

Hi Krishna,

Refer below link..

http://scn.sap.com/thread/1494977

As per coding side, your code seems to be fine. I think this is an enhancement related issue. Check for any SAP Note for this ..

Regards,

Pankaj

Read only

0 Likes
4,076

Hi Krishna,

Refer below link..

http://scn.sap.com/thread/1494977

As per coding side, your code seems to be fine. I think this is an enhancement related issue. Check for any SAP Note for this ..

Regards,

Pankaj

Read only

prakashjasti
Contributor
0 Likes
4,076

Hi Krishna,

It seems that the are mandatory fields on your BAPI Extension for creating PO.

you have to pass the Extension details also.

**Creation of PO using BAPI

 
CALL FUNCTION 'BAPI_PO_CREATE1'

   
EXPORTING

      POHEADER         
= ST_POHEADER

      POHEADERX        
= ST_POHEADERX

      TESTRUN          
= W_TESTRUN

   
IMPORTING

      EXPPURCHASEORDER 
= ST_EXPPURCHASEORDER

      EXPHEADER        
= ST_EXPHEADER

      EXPPOEXPIMPHEADER
= ST_EXPPOEXPIMPHEADER

   
TABLES

     
RETURN            = TBL_RETURN

      POITEM           
= TBL_POITEM

      POITEMX          
= TBL_POITEMX

      POSCHEDULE       
= TBL_POSCHEDULE

      POSCHEDULEX      
= TBL_POSCHEDULEX

      POACCOUNT        
= TBL_POACCOUNT

      POACCOUNTX       
= TBL_POACCOUNTX

      EXTENSIONIN      
= GT_EXTENSION_IN "GT_EXTENSIONIN.

      POTEXTHEADER     
= TBL_POTEXTHEADER

      POTEXTITEM       
= TBL_POTEXTITEM.



 
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

   
EXPORTING

     
WAIT = 'X'.

Regards,

Prakash.

Prakash J
Read only

0 Likes
4,076

Hi parka,

First two are warning messages and 3rd one error message.

Read only

0 Likes
4,076

Hi Krishna,

yes i agree, but still there is no other clue in the error table..

Recently i came across a scenario in which a standard functionality was not working and there was one SNOTE available for that. Many times there are some sort of enhancements  or SNotes due to which standard functionality gets obstruct.

Regards,

Pankaj

Read only

0 Likes
4,076

Hi Krishna,

Are you providing the PO number from your BAPI ? or it is configured to take the next number in the sequence. Try sending the PO number from the program itself.

                      MOVE VALUE TO ST_POHEADER-PO_NUMBER.

         
MOVE 'X' TO ST_POHEADERX-PO_NUMBER

.

Regards,

Prakash.

Prakash J
Read only

0 Likes
4,076

Prakash,

I have passed the po manually also but I am getting same error.

Read only

0 Likes
4,076

Hi Krishna ,

Please check the date format of purchase order date, which may not be

compatible with what the BAPI is expecting.

Good luck,

Regards,

Prakash.

Prakash J
Read only

0 Likes
4,076

prakash,

I am passing date as per data type only.. but still I am getting same error

Read only

0 Likes
4,076

Hi Krishna,

Please attach your piece of code and a screenshot of PO which was created manually.

Regards,

Prakash.

Prakash J
Read only

0 Likes
4,076

Through me21n it's working fine but through bapi it's not working . wether we need any configuration setting required from functional side?

DATA:P_BANFN TYPE BAPIMEREQHEADER-PREQ_NO,

        GC_X TYPE BAPIMMPARA-SELECTION,

        GS_PRHEADER TYPE BAPIMEREQHEADER,

        GT_RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE,

        GT_PRITEM LIKE BAPIMEREQITEM OCCURS 0 WITH HEADER LINE,

        GT_PRACCOUNT LIKE BAPIMEREQACCOUNT OCCURS 0 WITH HEADER LINE.

  P_BANFN = VBEP-BANFN.

  CALL FUNCTION 'BAPI_PR_GETDETAIL'

    EXPORTING

      NUMBER             = P_BANFN

      ACCOUNT_ASSIGNMENT = GC_X

    IMPORTING

      PRHEADER           = GS_PRHEADER

    TABLES

      RETURN             = GT_RETURN

      PRITEM             = GT_PRITEM

      PRACCOUNT          = GT_PRACCOUNT.





*  ZPO_HEADER-PO_NUMBER = 9801041094.

  ZPO_HEADER-DOC_TYPE EKKO-BSART.

  ZPO_HEADER-COMP_CODE = 'UTCL'.

  ZPO_HEADER-VENDOR   = EKKO-LIFNR.

  ZPO_HEADER-PURCH_ORG EKKO-EKORG.

  ZPO_HEADER-PUR_GROUP EKKO-EKGRP.

*  ZPO_HEADER-CREAT_DATE    = SY-DATUM.

  ZPO_HEADER-CURRENCY = 'INR'.

*  ZPO_HEADER-INCOTERMS1 = VBKD-INCO1.

*  ZPO_HEADER-INCOTERMS2 = VBKD-INCO1.

*  ZPO_HEADER-DOC_DATE  = SY-DATUM.

*  ZPO_HEADER-PMNTTRMS = '0001'.

*  ZPO_HEADER-ITEM_INTVL  = '00010'.



  ZPO_HEADERX-DOC_TYPE = 'X'.

  ZPO_HEADERX-COMP_CODE = 'X'.

  ZPO_HEADERX-VENDOR  = 'X'.

  ZPO_HEADERX-PURCH_ORG = 'X'.

  ZPO_HEADERX-PUR_GROUP = 'X'.

*  ZPO_HEADERX-CREAT_DATE = 'X'.

  ZPO_HEADERX-CURRENCY = 'X'.

*  ZPO_HEADERX-INCOTERMS1 = 'X'.

*  ZPO_HEADERX-INCOTERMS2 = 'X'.

*  ZPO_HEADERX-DOC_DATE  = 'X'.

*  ZPO_HEADERX-PMNTTRMS = 'X'.

*  ZPO_HEADERX-ITEM_INTVL  = 'X'.

*  ZPO_HEADER-LANGU = SY-LANGU.

*  ZPO_HEADERX-LANGU = 'X'.

*  ZPO_HEADER-OUR_REF = 'hi'.

*  ZPO_HEADERX-OUR_REF = 'X'.



  APPEND ZPO_HEADER. APPEND ZPO_HEADERX.



  CLEAR:EBAN.

  SELECT SINGLE * FROM EBAN WHERE BANFN = VBEP-BANFN.

  SELECT POSNR MATNR KWMENG FROM VBAP INTO TABLE L_TAB_VBAP WHERE VBELN = I_VBELN1 .

  LOOP AT L_TAB_VBAP INTO L_WA_VBAP.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

      EXPORTING

        INPUT  = L_WA_VBAP-MATNR

      IMPORTING

        OUTPUT = L_WA_VBAP-MATNR.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

      EXPORTING

        INPUT  = VBEP-BANFN

      IMPORTING

        OUTPUT = VBEP-BANFN.

    READ TABLE GT_PRITEM WITH KEY PREQ_ITEM = L_WA_VBAP-POSNR.

    ZPO_ITEM-PO_ITEM GT_PRITEM-PREQ_ITEM."L_WA_VBAP-POSNR.

    ZPO_ITEM-MATERIAL = GT_PRITEM-MATERIAL."L_WA_VBAP-MATNR.

    ZPO_ITEM-QUANTITY = GT_PRITEM-QUANTITY."L_WA_VBAP-KWMENG.

    ZPO_ITEM-TAX_CODE EKPO-MWSKZ.

    ZPO_ITEM-ACCTASSCAT = 'X'.

    ZPO_ITEM-ITEM_CAT = 'S'.

    ZPO_ITEM-PREQ_NO VBEP-BANFN.

    ZPO_ITEM-PREQ_ITEM = L_WA_VBAP-POSNR.

    ZPO_ITEM-PLANT          = GT_PRITEM-PLANT. "PLANT-WERKS.

    ZPO_ITEM-PO_UNIT        = GT_PRITEM-UNIT ."PLANT-MEINS.

    ZPO_ITEM-PO_UNIT_ISO    = GT_PRITEM-PREQ_UNIT_ISO ."PLANT-MEINS.

    ZPO_ITEM-PREQ_NAME      GT_PRITEM-PREQ_NAME."PLANT-AFNAM.

    ZPO_ITEM-IR_IND         'X'.

    ZPO_ITEM-MATL_GROUP     GT_PRITEM-MATL_GROUP.

    ZPO_ITEM-GR_IND 'X'.

*    ZPO_ITEM-NET_PRICE = 500.



    ZPO_ITEMX-PO_ITEM = L_WA_VBAP-POSNR.

*    ZPO_ITEMX-PO_ITEMX = 'X'.

    ZPO_ITEMX-MATERIAL = 'X'.

    ZPO_ITEMX-QUANTITY = 'X'.

    ZPO_ITEMX-TAX_CODE = 'X'.

    ZPO_ITEMX-ACCTASSCAT = 'X'.

    ZPO_ITEMX-ITEM_CAT = 'X'.

    ZPO_ITEMX-PREQ_NO = 'X'.

    ZPO_ITEMX-PREQ_ITEM = 'X'.

    ZPO_ITEMX-PLANT         'X'.

    ZPO_ITEMX-PO_UNIT       'X'.

    ZPO_ITEMX-PO_UNIT_ISO   'X'.

    ZPO_ITEMX-PREQ_NAME     'X'.

    ZPO_ITEMX-IR_IND         'X'.

    ZPO_ITEMX-MATL_GROUP      'X'.

    ZPO_ITEMX-GR_IND 'X'.

*    ZPO_ITEMX-NET_PRICE = 'X'.

    APPEND: ZPO_ITEM,ZPO_ITEMX.

    CLEAR:ZPO_ITEM,ZPO_ITEMX.

    ZPO_ACC-PO_ITEM = L_WA_VBAP-POSNR.

    ZPO_ACC-COSTCENTER EKKN-KOSTL.

    ZPO_ACC-CO_AREA = 'GIL'.

    ZPO_ACC-GL_ACCOUNT = '0000705958'.



    ZPO_ACCNTX-PO_ITEM = L_WA_VBAP-POSNR.

*    ZPO_ACCNTX-PO_ITEMX = 'X'.

    ZPO_ACCNTX-COSTCENTER = 'X'.

    ZPO_ACCNTX-CO_AREA = 'X'.

    ZPO_ACCNTX-GL_ACCOUNT = 'X'.

    APPEND: ZPO_ACC,ZPO_ACCNTX.

    CLEAR:ZPO_ACC,ZPO_ACCNTX.

    ZPO_SHED-PO_ITEM = L_WA_VBAP-POSNR.

    ZPO_SHED-SCHED_LINE = 1.

    ZPO_SHED-QUANTITY = L_WA_VBAP-KWMENG.

    ZPO_SHED-DEL_DATCAT_EXT = 'D'.

    ZPO_SHED-DELIVERY_DATE = '28.10.2014'."SY-DATUM.

    ZPO_SHED-STAT_DATE = SY-DATUM.

    ZPO_SHED-PO_DATE = SY-DATUM.

    ZPO_SHED-PREQ_NO = VBEP-BANFN..

    ZPO_SHED-PREQ_ITEM = L_WA_VBAP-POSNR.



    ZPO_SHEDX-PO_ITEM = L_WA_VBAP-POSNR.

*    ZPO_SHEDX-PO_ITEMX = 'X'.

    ZPO_SHEDX-SCHED_LINE = 0001.

    ZPO_SHEDX-QUANTITY = 'X'.

    ZPO_SHEDX-DEL_DATCAT_EXT = 'X'.

    ZPO_SHEDX-DELIVERY_DATE = 'X'.

    ZPO_SHEDX-STAT_DATE = 'X'.

    ZPO_SHEDX-PO_DATE = 'X'.

    ZPO_SHEDX-PREQ_NO = 'X'.

    ZPO_SHEDX-PREQ_ITEM = 'X'.

    APPEND: ZPO_SHED,ZPO_SHEDX.

    CLEAR : ZPO_SHED,ZPO_SHEDX .

*    ZPO_COND1-ITM_NUMBER = L_WA_VBAP-POSNR.

*    ZPO_COND1-COND_ST_NO = 010.

*    ZPO_COND1-COND_COUNT = 01.

*    ZPO_COND1-COND_TYPE = 'ZBRC'.

*    ZPO_COND1-COND_VALUE = 500.

*    ZPO_COND1X-ITM_NUMBER = L_WA_VBAP-POSNR.

*    ZPO_COND1X-COND_ST_NO = 010.

*    ZPO_COND1X-COND_COUNT = 01.

*    ZPO_COND1X-COND_TYPE = 'X'.

*    ZPO_COND1X-COND_VALUE = 'X'.

*    APPEND: ZPO_COND1,ZPO_COND1X.

  ENDLOOP.

  DATA:C(1) TYPE C.

  C = SPACE.

  BREAK-POINT.

*  ZPO_HEADERX-PO_NUMBER = 'X'.

  SORT ZPO_ITEM BY PREQ_NAME.

  CALL FUNCTION 'BAPI_PO_CREATE1'

    EXPORTING

      POHEADER         ZPO_HEADER

      POHEADERX        = ZPO_HEADERX

*      NO_PRICE_FROM_PO = 'X'

*        TESTRUN          = C

    IMPORTING

      EXPPURCHASEORDER = L_EXPPURCHASEORDER

    TABLES

      RETURN           = L_RETURN

      POITEM           = ZPO_ITEM[]

      POITEMX          = ZPO_ITEMX[]

      POSCHEDULE       = ZPO_SHED[]

      POSCHEDULEX      = ZPO_SHEDX[]

      POACCOUNT        = ZPO_ACC[]

      POACCOUNTX       = ZPO_ACCNTX[].

*      POCOND           = ZPO_COND1[]

*      POCONDX          = ZPO_COND1X[].

  BREAK-POINT.

  IF SY-SUBRC = '0'..

    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

      EXPORTING

        WAIT = 'X'.

Read only

0 Likes
4,076

Hi Krishna,

Please use the conversions where ever applicable after GL Account and check.

after

ZPO_ACC-GL_ACCOUNT = '0000705958'

.

For example,

    ST_POACCOUNT-GL_ACCOUNT = '0000511750'.

        ST_POACCOUNTX-GL_ACCOUNT = 'X'.



        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

          EXPORTING

            INPUT  = ST_POACCOUNT-GL_ACCOUNT

          IMPORTING

            OUTPUT = ST_POACCOUNT-GL_ACCOUNT.

Regards.

Prakash.

Prakash J
Read only

0 Likes
4,076

hi prakash,

I think problem was not that . I am getting error from L2012F26 include and below code.

main program:SAPL2012

IF im_aktyp EQ hin.

        MESSAGE e001(bapi) WITH 'PurchaseOrder' '' '' ch_po->po_number

                           INTO gl_dummy.

        mmpur_message_forced sy-msgty sy-msgid sy-msgno sy-msgv1

                             sy-msgv2 sy-msgv3 sy-msgv4.

      ELSE.

Read only

0 Likes
4,076

hi all,

problem was solved .

problem because of BADI ME_BAPI_PO_CUST (implementation ).

thanks every one.....

Read only

0 Likes
4,076

Good to know this..

that's what i was saying that it is probably due to some enhancement or missing SNOTE.

Regards,

Pankaj