cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

bapi_po_create1 error

mohithvarma11
Explorer
0 Likes
253

hi experts,

please help to solve error while creating bapi_po_create1

code :


TYPESBEGIN OF ty_DATA,
         bsart TYPE ESART,
         bukrs TYPE BUKRS,
         ekorg TYPE EKORG,
         ekgrp TYPE BKGRP,
         lifnr TYPE LIFNR,
         matnr TYPE MATNR,
         werks TYPE EWERK,
         lgort TYPE LGORT_D,
         menge TYPE BSTMG,
         netpr TYPE BPREI,
         eindt TYPE EINDT,
         waers TYPE WAERS,
       END OF ty_DATA.


DATA IT_DATA TYPE TABLE OF TY_DATA,
       WA_DATA TYPE TY_DATA.

data wa_POHEADER  type  BAPIMEPOHEADER,
wa_POHEADERX  type  BAPIMEPOHEADERX,
it_RETURN  type table of  BAPIRET2,
wa_RETURN type  BAPIRET2,
it_POITEM  type table of  BAPIMEPOITEM,
wa_POITEM type BAPIMEPOITEM,
it_POITEMX  type table of BAPIMEPOITEMX,
wa_POITEMX type BAPIMEPOITEMX,
it_POSCHEDULE  type table of  BAPIMEPOSCHEDULE,
wa_POSCHEDULE type  BAPIMEPOSCHEDULE,
it_POSCHEDULEX  type table of BAPIMEPOSCHEDULX,
wa_POSCHEDULEX  type  BAPIMEPOSCHEDULX,
lv_EXPPURCHASEORDER type  BAPIMEPOHEADER-PO_NUMBER.


DATA IT_FILE TYPE STRING.


PARAMETERS  P_FILE TYPE LOCALFILE.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.

  CALL FUNCTION 'F4_FILENAME'
    EXPORTING
      PROGRAM_NAME  SYST-CPROG
      DYNPRO_NUMBER SYST-DYNNR
      FIELD_NAME    ' '
    IMPORTING
      FILE_NAME     P_FILE.
  .

START-OF-SELECTION.

  IT_FILE  P_FILE.

  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      FILENAME                IT_FILE
*     FILETYPE                = 'ASC'
      HAS_FIELD_SEPARATOR     'X'
*     HEADER_LENGTH           = 0
*     READ_BY_LINE            = 'X'
*     DAT_MODE                = ' '
*     CODEPAGE                = ' '
*     IGNORE_CERR             = ABAP_TRUE
*     REPLACEMENT             = '#'
*     CHECK_BOM               = ' '
*     VIRUS_SCAN_PROFILE      =
*     NO_AUTH_CHECK           = ' '
* IMPORTING
*     FILELENGTH              =
*     HEADER                  =
    TABLES
      DATA_TAB                IT_DATA
* CHANGING
*     ISSCANPERFORMED         = ' '
    EXCEPTIONS
      FILE_OPEN_ERROR         1
      FILE_READ_ERROR         2
      NO_BATCH                3
      GUI_REFUSE_FILETRANSFER 4
      INVALID_TYPE            5
      NO_AUTHORITY            6
      UNKNOWN_ERROR           7
      BAD_DATA_FORMAT         8
      HEADER_NOT_ALLOWED      9
      SEPARATOR_NOT_ALLOWED   10
      HEADER_TOO_LONG         11
      UNKNOWN_DP_ERROR        12
      ACCESS_DENIED           13
      DP_OUT_OF_MEMORY        14
      DISK_FULL               15
      DP_TIMEOUT              16
      OTHERS                  17.
  IF SY-SUBRC <> 0.
* Implement suitable error handling here
  ENDIF.

  LOOP AT it_data INTO wa_data.


    REFRESHit_poitemit_poitemxit_poscheduleit_poschedulexit_return.
    CLEARwa_poheaderwa_poheaderxlv_exppurchaseorder.


    "HEADER

wa_POHEADER-DOC_TYPE WA_DATA-BSART.
wa_POHEADER-COMP_CODE wa_data-bukrs.
wa_POHEADER-PURCH_ORG WA_DATA-EKORG.
wa_POHEADER-PUR_GROUP WA_DATA-EKGRP.
wa_POHEADER-VENDOR WA_DATA-LIFNR.
wa_POHEADER-CURRENCY WA_DATA-WAERS.

wa_POHEADERX-DOC_TYPE 'X'.
wa_POHEADERX-COMP_CODE 'X'.
wa_POHEADERX-PURCH_ORG 'X'.
wa_POHEADERX-PUR_GROUP 'X'.
wa_POHEADERX-VENDOR 'X'.
wa_POHEADERX-CURRENCY 'X'.

"ITEM


wa_POITEM-MATERIAL WA_DATA-MATNR.
wa_POITEM-PLANT WA_DATA-WERKS.
wa_POITEM-STGE_LOC WA_DATA-LGORT.
wa_POITEM-QUANTITY WA_DATA-MENGE.
wa_POITEM-NET_PRICE WA_DATA-NETPR.

APPEND wa_poitem TO it_poitem.


wa_POITEMX-MATERIAL 'X'.
wa_POITEMX-PLANT 'X'.
wa_POITEMX-STGE_LOC 'X'.
wa_POITEMX-QUANTITY 'X'.
wa_POITEMX-NET_PRICE 'X'.

APPEND wa_poitemX TO it_poitemX.

" SCHEDULE

wa_POSCHEDULE-DELIVERY_DATE WA_DATA-EINDT.

APPEND wa_POSCHEDULE TO IT_POSCHEDULE.

.
wa_POSCHEDULEX-DELIVERY_DATE 'X'.

APPEND wa_POSCHEDULEX TO IT_POSCHEDULEX.


CALL FUNCTION 'BAPI_PO_CREATE1'
  EXPORTING
    POHEADER                     wa_POHEADER
   POHEADERX                    wa_POHEADERX
*   POADDRVENDOR                 =
*   TESTRUN                      =
*   MEMORY_UNCOMPLETE            =
*   MEMORY_COMPLETE              =
*   POEXPIMPHEADER               =
*   POEXPIMPHEADERX              =
*   VERSIONS                     =
*   NO_MESSAGING                 =
*   NO_MESSAGE_REQ               =
*   NO_AUTHORITY                 =
*   NO_PRICE_FROM_PO             =
*   PARK_COMPLETE                =
*   PARK_UNCOMPLETE              =
 IMPORTING
   EXPPURCHASEORDER             lv_EXPPURCHASEORDER
*   EXPHEADER                    =
*   EXPPOEXPIMPHEADER            =
 TABLES
   RETURN                       it_RETURN
   POITEM                       it_POITEM
   POITEMX                      it_POITEMX
*   POADDRDELIVERY               =
   POSCHEDULE                   it_POSCHEDULE
   POSCHEDULEX                  it_POSCHEDULEX
*   POACCOUNT                    =
*   POACCOUNTPROFITSEGMENT       =
*   POACCOUNTX                   =
*   POCONDHEADER                 =
*   POCONDHEADERX                =
*   POCOND                       =
*   POCONDX                      =
*   POLIMITS                     =
*   POCONTRACTLIMITS             =
*   POSERVICES                   =
*   POSRVACCESSVALUES            =
*   POSERVICESTEXT               =
*   EXTENSIONIN                  =
*   EXTENSIONOUT                 =
*   POEXPIMPITEM                 =
*   POEXPIMPITEMX                =
*   POTEXTHEADER                 =
*   POTEXTITEM                   =
*   ALLVERSIONS                  =
*   POPARTNER                    =
*   POCOMPONENTS                 =
*   POCOMPONENTSX                =
*   POSHIPPING                   =
*   POSHIPPINGX                  =
*   POSHIPPINGEXP                =
*   SERIALNUMBER                 =
*   SERIALNUMBERX                =
*   INVPLANHEADER                =
*   INVPLANHEADERX               =
*   INVPLANITEM                  =
*   INVPLANITEMX                 =
          .

READ TABLE it_return INTO wa_return WITH KEY type 'E'.
  IF sy-subrc 0.
    WRITE'Error for Vendor:'wa_data-lifnr.
    LOOP AT it_return INTO wa_return.
      WRITE/ wa_return-typewa_return-message.
    ENDLOOP.
  ELSE.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        wait 'X'.

    WRITE'PO Created Successfully:',lv_EXPPURCHASEORDER.
  ENDIF.

ENDLOOP.

error :

mohithvarma11_0-1776253825740.png

thankyou.

 

View Entire Topic
Sathya_Gunasekaran
Contributor
0 Likes

Hello,

 

Can you try populating the po_item field in all those itabs?  (example: 00010 for the first item)

mohithvarma11
Explorer
0 Likes
thankyou it worked