Error release purchase order using transaction code me29n

i have warning error this purchasing document number cannot be released.
while i enter me29n t code.why?
then how to release purchase order using me29n t code?
can anyone answer this two questions.

hi
i have warning error this purchasing document number cannot be released. while i enter me29n t code.why?
is the release strategy is triggred for the po ?? check thisin  P order in me23n ,in header level check release strategy tab ,
then how to release purchase order using me29n t code? can anyone answer this two questions.
just go to me29n >release strategy tab here just click on the release button in front of the release code

Similar Messages

  • Create a purchase order using transaction ME21

    Hello Abappers,
    I want to create a STO( purchase order using the sales order data) using transcation ME21.
    Kindly provide step wise details as i am a technical person adn dont have to functional knowledge to create it.Also mention where the pricing conditions, the delivery address of the receiving plant. etc will have to be mentioned.
    Thanks a lot in advance.
    Appropriate points wil be rewarded to.

    check this link::
    http://web.mit.edu/sapr3/windocs/bpors03m.htm
    from Purchase Requisition
    http://web.mit.edu/sapr3/windocs/bpors03n.htm

  • Error while posting material using transaction code MB1C

    Hi Experts,
    While I am trying to post material into warehouse its giving warning message initially as : MAT  IS A MISS PART MRP CONTROLLER KNUITZ WILL BE NOTIFIED
    MESSAGE NO: M7133
    Diagnosis
    Material is a missing part of plant
    when I am pressing enter Its giving an error message as : MATERIAL DOES NOT EXIST IN WAREHOUSE
    MESSAGE NO: L9023
    All the materials that you use within a warehouse no must also be defined for this warehouse no.
    Can Any one please explain me how to resolve this error in detail.
    Thankyou
    SAHER

    Dear Siraj,
    I have extended the material to warehouse numbers as you suggested.  Then I got error as: WM MOVEMENT TYPE 561 IS NOT ALLOWED FOR WAREHOUSE NUMBER.
    then I defined moment type in Logistic Execution -->shipping ---> picking --> Lean WM ---> Define moment types
    Now its giving new error after defining the moment type for store location as: STORAGE BIN DOES NOT EXIST
    MESSAGE: L9009
    Thank you,
    SAHER.

  • Issue with ME28 - Release Purchase Order

    Dear All,
    One of our user is unable to release a purchase order through Transaction code ME28.
    The role is assigned only with the Transaction Code ME28 with the correct Release code and Group.
    We have tested from our end and see that the Auth Objects M_BEST_BSA and M_BEST_EKO are missing based on SU53. When we have added back it worked.
    When i check in Su24 the Auth Obj M_BEST_BSA and M_BEST_EKO are not set to CHECK -> Value "NO".
    I dont understand how this Transaction is working, when the behaviour of the Transaction ME28 is to release the purchase order why is the system asking for additional Auth Objects.
    please advice.
    Regards

    Hi
    M_BEST_BSA and M_BEST_EKO are not set to CHECK -> Value "NO".
    If the check is not set to the standard delivered SAP what is the value in SU24 ?  Has it been changed to CHECK > YES or DO NOT CHECK ?
    I am sure you are aware that SAP does not deliver all objects coded in the programme under AUTHORITY-CHECK Statement in the SU24 Indicators with a CHECK > YES that are in transaction ME28.  SAP only deliver a fraction of the values in the proposal as YES and the rest must be maintianed by the security team as they are discovered to be relevant to your organisations need of the particular functions within the transaction.This will then keep PFCG updated with all the CHECK YES objects the next time you add transaction ME28.
    In other words all the objects listed in SU24 ( that are CHECK ) for ME28 will all be coded in the programme somewhere but it depends on which bits of the functionality within ME28 you are using that determines if they are called.

  • PM: Create notification from a work order using transaction IW32.

    Hi guys,
    I am trying to create a Notification for a Functional Location thru Work Order Using transaction Code IW32.
    The actual transaction works fine as below -
    1. Open a work order in change mode using T code IW32
    2. Choose tab "Objects" to see the list of functional locations.
    3. Select a line with a functional loc, for which you want to create Notification & click "Create" Button at the bottom of the list.
    4. Enter Notification type on the pop up screen & enter.
    5. Enter the activity code, text & start date on the notif create screen & click Back. You can see the temp Notif Number in the row selected from the object list.
    6. Click save on the order change screen & the Notification is saved & is associated with the order & func Loc..
    However I can not do this in a program.
    I tried using Batch Input method. It works, but the problem is if you have more than 1 page of the Objects (Func locations) in objects tab, you can not goto the next pages.
    I also tried using BAPI_ALM_NOTIF_CREATE. Which doesnot for this purpose. It tries to create Notification but can't associate with the order.
    I appreciate your help.
    Thank you,
    Raj

    Hi:
    Check with Tcode: IBIP - Plant maintenace batch input utility tool.
    Hope, it may help!
    Thanks,
    Murali.

  • Z Report of Transaction ME28.(Release Purchase Order)

    Dear all,
                   I want to make Z Report for the Transaction ME28 (Release Purchase Order).
    I am facing problem of GUI status in my Z Report. Actually Report is not displaying like ME28.
    and all the menu and function keys are also not coming properly.
    So, pls suggest me good solution.
    Thanks & Regards,
    Sandip Sonar.

    I am attaching a copy of ME28. Please give it to your ABAP consultant.
    He should be able to do the needful:
    REPORT RM06EF00 NO STANDARD PAGE HEADING MESSAGE-ID ME.
           Anzeigen Einkaufsbelege zur Belegnummer                       *
    Tabellen                                                            *
    INCLUDE FM06LTO1.
    INCLUDE FM06LCFR.
    **table added t16fc  - SAPBY     6 Feb 98
    TABLES: T16FG, T16FS, T16FV, T16FE, RM06B, T160B, T16FC.
    DATA: BEGIN OF XEKPO OCCURS 100.
            INCLUDE STRUCTURE EKPO.
    DATA: END OF XEKPO.
    *- Interne Tabelle der Zustände -
    DATA: BEGIN OF ZUS OCCURS 10.
            INCLUDE STRUCTURE T16FV.
    DATA: END OF ZUS.
    DATA: BEGIN OF ZUSKEY,
             MANDT LIKE EKKO-MANDT,
             FRGGR LIKE EKKO-FRGGR,
             FRGSX LIKE EKKO-FRGSX,
          END OF ZUSKEY.
    Parameter und Select-Options                                        *
    PARAMETERS:     P_FRGCO LIKE T16FC-FRGCO OBLIGATORY.
    SELECT-OPTIONS: S_FRGGR FOR EKKO-FRGGR.
    PARAMETERS:     P_FRGSE LIKE RM06A-P_FRGSE DEFAULT 'X',
                    P_FRGRS LIKE RM06A-P_FRGRS,
                    P_FRGVO LIKE RM06A-P_FRGVO DEFAULT 'X',
    set default to 'X' to show items as well - SAPBY
                    P_MITPOS AS CHECKBOX DEFAULT 'X',
    set default to 'DEFAULT'  - SAPBY
                    LISTU LIKE T160O-LISTU DEFAULT 'DEFAULT'.
    SELECT-OPTIONS: S_BSTYP FOR EKKO-BSTYP,
                    S_EKORG FOR EKKO-EKORG,
                    S_EBELN FOR EKKO-EBELN MATCHCODE OBJECT MEKK
                                           MEMORY ID BES,
                    S_BSART FOR EKKO-BSART,
                    S_EKGRP FOR EKKO-EKGRP,
                    S_LIFNR FOR EKKO-LIFNR MATCHCODE OBJECT KRED,
                    S_RESWK FOR EKKO-RESWK,
                    S_BEDAT FOR EKKO-BEDAT.
    Hilfsfelder                                                         *
    INCLUDE FM06LCEK.
    DATA: XFRG1 LIKE EKKO-FRGZU,
          XFRG2 LIKE EKKO-FRGZU.
    DATA: XSELKB LIKE EKKO-BSTYP,
          XSELKK LIKE EKKO-BSTYP,
          XSELKL LIKE EKKO-BSTYP,
          XSELKA LIKE EKKO-BSTYP.
    FIELD-SYMBOLS: .
    DATA: HFDPOS LIKE SY-FDPOS.
    **workflow line added for workflow
    DATA : LAST_USER_COMMAND  LIKE SY-UCOMM.
    Intitialisierung                                                    *
    INITIALIZATION.
      PERFORM ANFORDERUNGSBILD(SAPFM06L) USING XSELKB XSELKK
                                               XSELKL XSELKA.
    lines 67, 70 and 73 commented out -SAPBY
    **listu = t160b-listu.
      S_BSTYP-SIGN = 'I'.
      S_BSTYP-OPTION = 'EQ'.
    **if xselkb ne space.
      S_BSTYP-LOW = 'F'.
      APPEND S_BSTYP.
    **endif.
      IF XSELKK NE SPACE.
        S_BSTYP-LOW = 'K'.
        APPEND S_BSTYP.
      ENDIF.
      IF XSELKL NE SPACE.
        S_BSTYP-LOW = 'L'.
        APPEND S_BSTYP.
      ENDIF.
      IF XSELKA NE SPACE.
        S_BSTYP-LOW = 'A'.
        APPEND S_BSTYP.
      ENDIF.
    next two lines added to default the release code
      IMPORT T16FC-FRGCO FROM MEMORY.
    get parameter id 'ZRC' field t16fc-frgco.
      P_FRGCO = T16FC-FRGCO.
    Seketionsbild                                                       *
    AT SELECTION-SCREEN ON LISTU.
      PERFORM LISTUMFANG(SAPFM06L) USING LISTU.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FRGCO.
      CALL FUNCTION 'HELP_VALUES_FRGAB'
           EXPORTING
                I_FRGOT = '2'
           IMPORTING
                E_FRGAB = P_FRGCO
           EXCEPTIONS
                OTHERS  = 1.
    AT SELECTION-SCREEN.
      CALL FUNCTION 'ME_REL_CHECK_MANY'
           EXPORTING
                I_FRGOT = '2'
                I_FRGCO = P_FRGCO
           TABLES
                T_FRGGR = S_FRGGR
                T_T16FV = ZUS.
    Beginn der Selektion                                                *
    START-OF-SELECTION.
      NOT_FOUND = 'X'.
      SET PF-STATUS 'FREI'.
      SET TITLEBAR '001' WITH P_FRGCO.
      PERFORM FRG_INIT(SAPFM06L) USING P_FRGCO P_MITPOS.
    *- Lesen Belegköpfe -
      SELECT * FROM EKKO APPENDING TABLE XEKKO
                         FOR ALL ENTRIES IN ZUS
                         WHERE FRGRL EQ 'X'
                           AND FRGGR EQ ZUS-FRGGR
                           AND FRGSX EQ ZUS-FRGSX
                           AND EBELN IN S_EBELN
                           AND BSTYP IN S_BSTYP
                           AND EKORG IN S_EKORG
                           AND LIFNR IN S_LIFNR
                           AND RESWK IN S_RESWK
                           AND BEDAT IN S_BEDAT
                           AND BSART IN S_BSART
                           AND EKGRP IN S_EKGRP
                           AND LOEKZ EQ SPACE.
      IF P_FRGRS NE SPACE.
        SELECT * FROM EKKO APPENDING TABLE XEKKO
                           FOR ALL ENTRIES IN ZUS
                           WHERE FRGRL EQ SPACE
                             AND FRGGR EQ ZUS-FRGGR
                             AND FRGSX EQ ZUS-FRGSX
                             AND EBELN IN S_EBELN
                             AND BSTYP IN S_BSTYP
                             AND EKORG IN S_EKORG
                             AND LIFNR IN S_LIFNR
                             AND RESWK IN S_RESWK
                             AND BEDAT IN S_BEDAT
                             AND BSART IN S_BSART
                             AND EKGRP IN S_EKGRP
                             AND LOEKZ EQ SPACE.
      ENDIF.
      SORT XEKKO.
    *- Prüfen Freigabevoraussetzungen -
      LOOP AT XEKKO.
        MOVE-CORRESPONDING XEKKO TO ZUSKEY.
        READ TABLE ZUS WITH KEY ZUSKEY BINARY SEARCH.
        CHECK SY-SUBRC EQ 0.
        XFRG1 = ZUS+9(8).
        XFRG2 = XEKKO-FRGZU.
        TRANSLATE XFRG2 USING 'X  +'.
        OVERLAY XFRG1 WITH XFRG2 ONLY '+'.
        SEARCH XFRG1 FOR 'X'.
    *---- Keine Freigabezuständigkeit -
        IF SY-SUBRC NE 0.
          DELETE XEKKO.
        ELSE.
    *---- Freigabestelle merken -
          HFDPOS = SY-FDPOS.
          ASSIGN XFRG2+SY-FDPOS(1) TO .
    *---- Freigabe bereits erfolgt -
          IF P_FRGRS EQ SPACE AND
              EQ SPACE.
            DELETE XEKKO.
          ELSE.
    *---- Freigabe noch nicht erfolgt -
            IF P_FRGSE EQ SPACE AND
                NE SPACE.
              DELETE XEKKO.
            ELSE.
    *---- Freigabevoraussetzung fehlt -
              IF XFRG1 CA '+' AND
                 P_FRGVO NE SPACE.
                DELETE XEKKO.
              ELSE.
                EKKO = XEKKO.
                PERFORM FRG_FEKKO_AUFBAUEN(SAPFM06L) USING HFDPOS.
              ENDIF.
            ENDIF.
          ENDIF.
        ENDIF.
      ENDLOOP.
      SORT XEKKO.
    *- Lesen Belegpositionen -
      IF P_MITPOS NE SPACE.
        SELECT * FROM EKPO APPENDING TABLE XEKPO
                           FOR ALL ENTRIES IN XEKKO
                           WHERE EBELN EQ XEKKO-EBELN.
      ENDIF.
    *- Ausgabe -
      LOOP AT XEKKO.
        EKKO = XEKKO.
        PERFORM EKKO_ANSCHRIFT(SAPFM06L).
        PERFORM EKKO_AUSGABE(SAPFM06L).
        IF P_MITPOS NE SPACE.
          LOOP AT XEKPO WHERE EBELN EQ EKKO-EBELN.
            EKPO = XEKPO.
            PERFORM FC_ME_READ_HISTORY(SAPFM06L).
            PERFORM EKPO_AUSGABE(SAPFM06L).
          ENDLOOP.
        ENDIF.
      ENDLOOP.
    Ende der Selektion                                                  *
    END-OF-SELECTION.
      IF NOT_FOUND NE SPACE.
        MESSAGE S260.
        IF SY-CALLD NE SPACE.
          LEAVE.
        ELSE.
          LEAVE TO TRANSACTION SY-TCODE.
        ENDIF.
      ENDIF.
      WRITE: /(81) SY-ULINE.
    OK-Code-Eingabe                                                     *
    AT USER-COMMAND.
    **workflow inserted 6 Feb 98 by SAPBY
        PERFORM WORKFLOW_AT_USER_COMMAND.
    INS GSB 18/02/2004 - check user approving is not user that create
    PO
    if sy-ucomm = 'FRGU' or sy-ucomm = 'FRGS'.
    loop at xekko.
      if xekko-ERNAM = sy-uname.
         CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'
           EXPORTING
             TITEL              = 'Error'
    TEXTLINE1 = 'As the creator of this pruchase order you cannot approve it
    as well !'
        leave program.
      endif.
    endloop.
    endif.
      PERFORM USER_COMMAND(SAPFM06L).
    Seitenueberschrift                                                  *
    TOP-OF-PAGE.
      PERFORM TOP(SAPFM06L).
    TOP-OF-PAGE DURING LINE-SELECTION.
      PERFORM TOP(SAPFM06L).
    **& form workflow_at_user_command
    TEXT
    ---> p1  text
    <--  p2  text
    FORM WORKFLOW_AT_USER_COMMAND.
      IF LAST_USER_COMMAND IS INITIAL.
        LAST_USER_COMMAND = SY-UCOMM.
      ENDIF.
      IF SY-UCOMM EQ 'ZURU'.
         PERFORM TRIGGER_WORKFLOW.
      ENDIF.
      CASE SY-UCOMM.
        WHEN 'BU'.
          IF P_MITPOS EQ 'X'.
            CHECK LAST_USER_COMMAND <> 'FRGR'.
            PERFORM TRIGGER_WORKFLOW.
          ELSE.
            CHECK LAST_USER_COMMAND = 'FRGS'.
            PERFORM TRIGGER_WORKFLOW.
          ENDIF.
        WHEN 'FRGU'.
          PERFORM TRIGGER_WORKFLOW.
      ENDCASE.
      LAST_USER_COMMAND = SY-UCOMM.
    ENDFORM.
    **& form TRIGGER_WORKFLOW.
    TEXT
    ---> p1  text
    <--  p2  text
    FORM TRIGGER_WORKFLOW.
    DATA : BEGIN OF ZEKKO OCCURS 20.
              INCLUDE STRUCTURE ZEKKO.
    DATA : END OF ZEKKO.
    DATA : BEGIN OF YEKKO OCCURS 20.
              INCLUDE STRUCTURE ZEKKO.
    DATA : END OF YEKKO.
    DATA : WFBAN LIKE EKKO-EBELN,
           WFERN LIKE EKKO-ERNAM.
    CLEAR : WFBAN, WFERN.
    MOVE-CORRESPONDING XEKKO TO YEKKO.
    CONCATENATE YEKKO-FRGZU 'X' INTO YEKKO-FRGZU.
    APPEND YEKKO.
    MOVE-CORRESPONDING XEKKO TO ZEKKO.
    *XEKKO-KZ = 'F'.
    APPEND ZEKKO.
    SELECT SINGLE KOKRS KOSTL
         INTO (EKKN-KOKRS, EKKN-KOSTL)
         FROM EKKN
         WHERE EBELN = XEKKO-EBELN
         AND EBELP   = '00010'.
    if sy-subrc <> 0.                  " Cost centres not mandatory at XXX
      exit.
    endif.
    CALL FUNCTION 'Z_ME_REL_EVENT_EKKO'
         EXPORTING
              I_CALL_UPDKZ = 'F'
              I_WFBAN      = EKKO-EBELN
              I_FRGCO      = T16FC-FRGCO
              I_ERNAM      = SY-UNAME
              I_UCOMM      = SY-UCOMM
         TABLES
              I_EKKO_NEW   =  YEKKO
              I_EKKO_OLD   =  ZEKKO.
    ENDFORM.

  • Error in : Purchase order Creation using BAPI_PO_CREATE1

    Hell  guys,
    I am trying to create a PO using a BAPI - BAPI_PO_CREATE1
    I want the new PO to have all the characteristics of an existing PO. whose PO # is  stored in wa_order_split_create-docnr and for the new PO, i want the quantity from wa_order_split_create-qty_acptd and the delivery data to be wa_order_split_create-dly_date. But this process and code below gives a short dump in the std FM - MEPO_DOC_ITEM_GET . It raises an exception of failure. I am trying to create many new PO's in the loop below. If there is just one row, sometimes, it creates the PO even with the exception failure ( which is pretty weird).
    Am i making any mistake while filling the header or item or schedule lines for the BAPI_PO_CREATE1 ? Any tips or clues why I am getting a dump ?
    DATA: i_insert,
            i_create_order,
            i_cycle     TYPE cycle,
            i_qty_acpt  TYPE dzmeng,
            i_dly_date  TYPE vbak-vdatu,
            i_item      TYPE roijnomiio .
      DATA: i_order TYPE symsgv,
            i_return TYPE swd_return .
      DATA: i_vbak      TYPE vbak,
            i_vbap      TYPE vbap,
            i_ekko      TYPE ekko,
            i_ekpo      TYPE ekpo,
            i_bsoh      TYPE bapisdhd1,
            i_bsohx     TYPE bapisdhd1x,
            i_bpoh      TYPE bapimepoheader,
            i_bpohx     TYPE bapimepoheaderx,
            i_vbeln     TYPE vbeln_va,
            i_posnr     TYPE posnr_va,
            i_contr     TYPE vbeln_va,
            i_conit     TYPE posnr_va,
            i_ebeln     TYPE ebeln,
            i_ebelp     TYPE ebelp,
            i_pargr     TYPE pargr,
            i_thead     TYPE thead,
            i_line      TYPE tline,
            i_note      TYPE txw_note,
            i_new_vbeln TYPE vbeln_va,
            i_new_ebeln TYPE ebeln,
            i_wa_bsoi   TYPE bapisditm,
            i_wa_bsoix  TYPE bapisditmx,
            i_wa_bsop   TYPE bapiparnr,
            i_wa_bsos   TYPE bapischdl,
            i_wa_bsosx  TYPE bapischdlx,
            i_wa_vbpa   TYPE vbpa,
            i_wa_vbkd   TYPE vbkd,
            i_wa_bpoi   TYPE bapimepoitem,
            i_wa_bpoix  TYPE bapimepoitemx,
            i_wa_bpos   TYPE bapimeposchedule,
            i_wa_bposx  TYPE bapimeposchedulx,
            i_wa_bpop   TYPE bapiekkop,
            i_wa_ekpa   TYPE ekpa,
            i_message   TYPE char72,
            i_bapiretn  TYPE bapiret2,
            i_bapiret2  TYPE TABLE OF bapiret2 INITIAL SIZE 1,
            i_vbpa      TYPE TABLE OF vbpa INITIAL SIZE 1,
            i_vbkd      TYPE TABLE OF vbkd INITIAL SIZE 1,
            i_ekpa      TYPE TABLE OF ekpa INITIAL SIZE 1,
            i_bsoi      TYPE TABLE OF bapisditm INITIAL SIZE 1,
            i_bsoix     TYPE TABLE OF bapisditmx INITIAL SIZE 1,
            i_bsos      TYPE TABLE OF bapischdl INITIAL SIZE 1,
            i_bsosx     TYPE TABLE OF bapischdlx INITIAL SIZE 1,
            i_bsop      TYPE TABLE OF bapiparnr INITIAL SIZE 1,
            i_bpoi      TYPE TABLE OF bapimepoitem INITIAL SIZE 1,
            i_bpoix     TYPE TABLE OF bapimepoitemx INITIAL SIZE 1,
            i_bpos      TYPE TABLE OF bapimeposchedule INITIAL SIZE 1,
            i_bposx     TYPE TABLE OF bapimeposchedulx INITIAL SIZE 1,
            i_bpop      TYPE TABLE OF bapiekkop INITIAL SIZE 1,
            i_text_tab  TYPE TABLE OF tline INITIAL SIZE 1,
            i_line_tab  TYPE TABLE OF tline INITIAL SIZE 1,
            i_txw_note  TYPE TABLE OF txw_note INITIAL SIZE 1,
            i_oij_el_doc_mot TYPE oij_el_doc_mot .
      CONSTANTS: c_char_c VALUE 'C',
                 c_char_e VALUE 'E',
                 c_char_p VALUE 'P',
                 c_char_g VALUE 'G',
                 c_char_i VALUE 'I',
                 c_char_s VALUE 'S',
                 c_char_x VALUE 'X',
                 c_zsw(3) VALUE 'ZSW',
                 c_nomit_stat(4) VALUE 'ZDNY' .
      DATA : lv_nomtk_split        TYPE oij_nomtk.
      DATA : i_order_split_create  TYPE TABLE OF zsws_order_split.
      DATA : wa_order_split_create TYPE zsws_order_split.
      LOOP AT i_order_split_create INTO wa_order_split_create.
        IF NOT i_create_order IS INITIAL .
          CLEAR: i_create_order .
              MOVE: wa_order_split_create-docnr  TO i_ebeln,
                    wa_order_split_create-docitm TO i_ebelp .
              CALL FUNCTION 'ME_EKKO_SINGLE_READ'
                   EXPORTING
                        pi_ebeln         = i_ebeln
                   IMPORTING
                        po_ekko          = i_ekko
                   EXCEPTIONS
                        no_records_found = 1
                        OTHERS           = 2.
              IF sy-subrc <> 0 .
              ENDIF .
    * Fill PO Header
              i_bpoh-comp_code   = i_ekko-bukrs .
              i_bpoh-doc_type    = i_ekko-bsart .
              i_bpoh-vendor      = i_ekko-lifnr .
              i_bpoh-langu       = i_ekko-spras .
              i_bpoh-pmnttrms    = i_ekko-zterm .
              i_bpoh-purch_org   = i_ekko-ekorg .
              i_bpoh-pur_group   = i_ekko-ekgrp .
              i_bpoh-currency    = i_ekko-waers .
              i_bpoh-agreement   = i_ekko-konnr .
              i_bpoh-incoterms1  = i_ekko-inco1 .
              i_bpoh-incoterms2  = i_ekko-inco2 .
    * Fill PO update indicator 'X'
              i_bpohx-comp_code  = c_char_x .
              i_bpohx-doc_type   = c_char_x .
              i_bpohx-vendor     = c_char_x .
              i_bpohx-langu      = c_char_x .
              i_bpohx-pmnttrms   = c_char_x .
              i_bpohx-purch_org  = c_char_x .
              i_bpohx-pur_group  = c_char_x .
              i_bpohx-currency   = c_char_x .
              i_bpohx-agreement  = c_char_x .
              i_bpohx-incoterms1 = c_char_x .
              i_bpohx-incoterms2 = c_char_x .
              CALL FUNCTION 'ME_EKPO_SINGLE_READ'
                   EXPORTING
                        pi_ebeln         = i_ebeln
                        pi_ebelp         = i_ebelp
                   IMPORTING
                        po_ekpo          = i_ekpo
                   EXCEPTIONS
                        no_records_found = 1
                        OTHERS           = 2.
              IF sy-subrc <> 0 .
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
              ENDIF .
    * Fill PO Item
              i_wa_bpoi-po_item    = i_ekpo-ebelp .
              i_wa_bpoi-material   = i_ekpo-matnr .
              i_wa_bpoi-plant      = i_ekpo-werks .
              i_wa_bpoi-stge_loc   = i_ekpo-lgort .
              i_wa_bpoi-quantity   = wa_order_split_create-qty_acptd .
              i_wa_bpoi-po_unit    = i_ekpo-meins .
              i_wa_bpoi-tax_code   = i_ekpo-mwskz .
              i_wa_bpoi-val_type   = i_ekpo-bwtar .
              i_wa_bpoi-item_cat   = i_ekpo-pstyp .
              i_wa_bpoi-acctasscat = i_ekpo-knttp .
              i_wa_bpoi-agreement  = i_ekpo-konnr .
              i_wa_bpoi-agmt_item  = i_ekpo-ktpnr .
              APPEND i_wa_bpoi TO i_bpoi .
    * Fill PO Item update indicator 'X'
              i_wa_bpoix-po_item    = i_ekpo-ebelp .
              i_wa_bpoix-po_itemx   = c_char_x .
              i_wa_bpoix-material   = c_char_x .
              i_wa_bpoix-plant      = c_char_x .
              i_wa_bpoix-stge_loc   = c_char_x .
              i_wa_bpoix-quantity   = c_char_x .
              i_wa_bpoix-po_unit    = c_char_x .
              i_wa_bpoix-tax_code   = c_char_x .
              i_wa_bpoix-val_type   = c_char_x .
              i_wa_bpoix-item_cat   = c_char_x .
              i_wa_bpoix-acctasscat = c_char_x .
              i_wa_bpoix-agreement  = c_char_x .
              i_wa_bpoix-agmt_item  = c_char_x .
              APPEND i_wa_bpoix TO i_bpoix .
    * Fill PO Item Schedule
              i_wa_bpos-po_item       = i_ekpo-ebelp .
              i_wa_bpos-sched_line    = '0001' .
              i_wa_bpos-delivery_date = wa_order_split_create-dly_date .
              i_wa_bpos-quantity      = wa_order_split_create-qty_acptd .
              APPEND i_wa_bpos TO i_bpos .
    * Fill PO Item schedule update indicator 'X'
              i_wa_bposx-po_item       = i_ekpo-ebelp .
              i_wa_bposx-sched_line    = '0001' .
              i_wa_bposx-delivery_date = c_char_x .
              i_wa_bposx-quantity      = c_char_x .
              APPEND i_wa_bposx TO i_bposx .
              CLEAR: i_pargr .
              SELECT SINGLE pargr
                INTO i_pargr
                FROM t161
               WHERE bstyp = i_ekko-bstyp
                 AND bsart = i_ekko-bsart .
              CLEAR i_ekpa[].
              CALL FUNCTION 'MM_READ_PARTNERS'
                   EXPORTING
                        application = c_char_p
                        ebeln       = i_ebeln
                        bstyp       = i_ekko-bstyp
                        pargr       = i_pargr
                   TABLES
                        x_ekpa      = i_ekpa[].
              LOOP AT i_ekpa INTO i_wa_ekpa .
                i_wa_bpop-partnerdesc = i_wa_ekpa-parvw .
                i_wa_bpop-langu = sy-langu .
                IF NOT i_wa_ekpa-lifn2 IS INITIAL .
                  i_wa_bpop-buspartno = i_wa_ekpa-lifn2 .
                ELSE .
                  i_wa_bpop-buspartno = i_wa_ekpa-parnr .
                ENDIF .
                APPEND i_wa_bpop TO i_bpop .
                CLEAR: i_wa_ekpa, i_wa_bpop .
              ENDLOOP .
              CALL FUNCTION 'DIALOG_SET_NO_DIALOG'.
              CALL FUNCTION 'BAPI_PO_CREATE1'
                   EXPORTING
                        poheader         = i_bpoh
                        poheaderx        = i_bpohx
                   IMPORTING
                        exppurchaseorder = i_new_ebeln
                   TABLES
                        return           = i_bapiret2
                        poitem           = i_bpoi[]
                        poitemx          = i_bpoix[]
                        poschedule       = i_bpos[]
                        poschedulex      = i_bposx[].
              i_order = i_new_ebeln .
              SHIFT i_order LEFT DELETING LEADING '0' .
              i_return-errortype = c_char_i .
              i_return-workarea  = c_zsw .
              i_return-message   = '064' .
              i_return-variable1 = i_order .
            loop at i_bapiret2 into i_bapiretn where type ca 'EAX' .
            append i_bapiretn to t_bapi_return .
          endloop .
          if t_bapi_return[] is initial .
             i_create_order = c_char_x .
               CALL FUNCTION 'SWD_POPUP_MESSAGE_SEND'
                   EXPORTING
                        act_return = i_return. "Popup with new PO no.
          ENDCASE .                                     " Docind
        ENDIF .
      ENDLOOP.

    Hi Shareen,
    I think in the following parts of the code,
              CALL FUNCTION 'MM_READ_PARTNERS'
                   EXPORTING
                        application = c_char_p
                        ebeln       = i_ebeln
                        bstyp       = i_ekko-bstyp
                        pargr       = i_pargr
                   TABLES
                        x_ekpa      = i_ekpa[].
    Error in : Purchase order Creation using BAPI_PO_CREATE1
    Posted: Mar 20, 2006 7:39 PM      Reply      E-mail this post 
    Hell guys,
    I am trying to create a PO using a BAPI - BAPI_PO_CREATE1
    I want the new PO to have all the characteristics of an existing PO. whose PO # is stored in wa_order_split_create-docnr and for the new PO, i want the quantity from wa_order_split_create-qty_acptd and the delivery data to be wa_order_split_create-dly_date. But this process and code below gives a short dump in the std FM - MEPO_DOC_ITEM_GET . It raises an exception of failure. I am trying to create many new PO's in the loop below. If there is just one row, sometimes, it creates the PO even with the exception failure ( which is pretty weird).
    Am i making any mistake while filling the header or item or schedule lines for the BAPI_PO_CREATE1 ? Any tips or clues why I am getting a dump ?
    DATA: i_insert,
            i_create_order,
            i_cycle     TYPE cycle,
            i_qty_acpt  TYPE dzmeng,
            i_dly_date  TYPE vbak-vdatu,
            i_item      TYPE roijnomiio .
      DATA: i_order TYPE symsgv,
            i_return TYPE swd_return .
      DATA: i_vbak      TYPE vbak,
            i_vbap      TYPE vbap,
            i_ekko      TYPE ekko,
            i_ekpo      TYPE ekpo,
            i_bsoh      TYPE bapisdhd1,
            i_bsohx     TYPE bapisdhd1x,
            i_bpoh      TYPE bapimepoheader,
            i_bpohx     TYPE bapimepoheaderx,
            i_vbeln     TYPE vbeln_va,
            i_posnr     TYPE posnr_va,
            i_contr     TYPE vbeln_va,
            i_conit     TYPE posnr_va,
            i_ebeln     TYPE ebeln,
            i_ebelp     TYPE ebelp,
            i_pargr     TYPE pargr,
            i_thead     TYPE thead,
            i_line      TYPE tline,
            i_note      TYPE txw_note,
            i_new_vbeln TYPE vbeln_va,
            i_new_ebeln TYPE ebeln,
            i_wa_bsoi   TYPE bapisditm,
            i_wa_bsoix  TYPE bapisditmx,
            i_wa_bsop   TYPE bapiparnr,
            i_wa_bsos   TYPE bapischdl,
            i_wa_bsosx  TYPE bapischdlx,
            i_wa_vbpa   TYPE vbpa,
            i_wa_vbkd   TYPE vbkd,
            i_wa_bpoi   TYPE bapimepoitem,
            i_wa_bpoix  TYPE bapimepoitemx,
            i_wa_bpos   TYPE bapimeposchedule,
            i_wa_bposx  TYPE bapimeposchedulx,
            i_wa_bpop   TYPE bapiekkop,
            i_wa_ekpa   TYPE ekpa,
            i_message   TYPE char72,
            i_bapiretn  TYPE bapiret2,
            i_bapiret2  TYPE TABLE OF bapiret2 INITIAL SIZE 1,
            i_vbpa      TYPE TABLE OF vbpa INITIAL SIZE 1,
            i_vbkd      TYPE TABLE OF vbkd INITIAL SIZE 1,
            i_ekpa      TYPE TABLE OF ekpa INITIAL SIZE 1,
            i_bsoi      TYPE TABLE OF bapisditm INITIAL SIZE 1,
            i_bsoix     TYPE TABLE OF bapisditmx INITIAL SIZE 1,
            i_bsos      TYPE TABLE OF bapischdl INITIAL SIZE 1,
            i_bsosx     TYPE TABLE OF bapischdlx INITIAL SIZE 1,
            i_bsop      TYPE TABLE OF bapiparnr INITIAL SIZE 1,
            i_bpoi      TYPE TABLE OF bapimepoitem INITIAL SIZE 1,
            i_bpoix     TYPE TABLE OF bapimepoitemx INITIAL SIZE 1,
            i_bpos      TYPE TABLE OF bapimeposchedule INITIAL SIZE 1,
            i_bposx     TYPE TABLE OF bapimeposchedulx INITIAL SIZE 1,
            i_bpop      TYPE TABLE OF bapiekkop INITIAL SIZE 1,
            i_text_tab  TYPE TABLE OF tline INITIAL SIZE 1,
            i_line_tab  TYPE TABLE OF tline INITIAL SIZE 1,
            i_txw_note  TYPE TABLE OF txw_note INITIAL SIZE 1,
            i_oij_el_doc_mot TYPE oij_el_doc_mot .
      CONSTANTS: c_char_c VALUE 'C',
                 c_char_e VALUE 'E',
                 c_char_p VALUE 'P',
                 c_char_g VALUE 'G',
                 c_char_i VALUE 'I',
                 c_char_s VALUE 'S',
                 c_char_x VALUE 'X',
                 c_zsw(3) VALUE 'ZSW',
                 c_nomit_stat(4) VALUE 'ZDNY' .
      DATA : lv_nomtk_split        TYPE oij_nomtk.
      DATA : i_order_split_create  TYPE TABLE OF zsws_order_split.
      DATA : wa_order_split_create TYPE zsws_order_split.
      LOOP AT i_order_split_create INTO wa_order_split_create.
        IF NOT i_create_order IS INITIAL .
          CLEAR: i_create_order .
              MOVE: wa_order_split_create-docnr  TO i_ebeln,
                    wa_order_split_create-docitm TO i_ebelp .
              CALL FUNCTION 'ME_EKKO_SINGLE_READ'
                   EXPORTING
                        pi_ebeln         = i_ebeln
                   IMPORTING
                        po_ekko          = i_ekko
                   EXCEPTIONS
                        no_records_found = 1
                        OTHERS           = 2.
              IF sy-subrc <> 0 .
              ENDIF .
    Fill PO Header
              i_bpoh-comp_code   = i_ekko-bukrs .
              i_bpoh-doc_type    = i_ekko-bsart .
              i_bpoh-vendor      = i_ekko-lifnr .
              i_bpoh-langu       = i_ekko-spras .
              i_bpoh-pmnttrms    = i_ekko-zterm .
              i_bpoh-purch_org   = i_ekko-ekorg .
              i_bpoh-pur_group   = i_ekko-ekgrp .
              i_bpoh-currency    = i_ekko-waers .
              i_bpoh-agreement   = i_ekko-konnr .
              i_bpoh-incoterms1  = i_ekko-inco1 .
              i_bpoh-incoterms2  = i_ekko-inco2 .
    Fill PO update indicator 'X'
              i_bpohx-comp_code  = c_char_x .
              i_bpohx-doc_type   = c_char_x .
              i_bpohx-vendor     = c_char_x .
              i_bpohx-langu      = c_char_x .
              i_bpohx-pmnttrms   = c_char_x .
              i_bpohx-purch_org  = c_char_x .
              i_bpohx-pur_group  = c_char_x .
              i_bpohx-currency   = c_char_x .
              i_bpohx-agreement  = c_char_x .
              i_bpohx-incoterms1 = c_char_x .
              i_bpohx-incoterms2 = c_char_x .
              CALL FUNCTION 'ME_EKPO_SINGLE_READ'
                   EXPORTING
                        pi_ebeln         = i_ebeln
                        pi_ebelp         = i_ebelp
                   IMPORTING
                        po_ekpo          = i_ekpo
                   EXCEPTIONS
                        no_records_found = 1
                        OTHERS           = 2.
              IF sy-subrc <> 0 .
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
              ENDIF .
    Fill PO Item
              i_wa_bpoi-po_item    = i_ekpo-ebelp .
              i_wa_bpoi-material   = i_ekpo-matnr .
              i_wa_bpoi-plant      = i_ekpo-werks .
              i_wa_bpoi-stge_loc   = i_ekpo-lgort .
              i_wa_bpoi-quantity   = wa_order_split_create-qty_acptd .
              i_wa_bpoi-po_unit    = i_ekpo-meins .
              i_wa_bpoi-tax_code   = i_ekpo-mwskz .
              i_wa_bpoi-val_type   = i_ekpo-bwtar .
              i_wa_bpoi-item_cat   = i_ekpo-pstyp .
              i_wa_bpoi-acctasscat = i_ekpo-knttp .
              i_wa_bpoi-agreement  = i_ekpo-konnr .
              i_wa_bpoi-agmt_item  = i_ekpo-ktpnr .
              APPEND i_wa_bpoi TO i_bpoi .
    Fill PO Item update indicator 'X'
              i_wa_bpoix-po_item    = i_ekpo-ebelp .
              i_wa_bpoix-po_itemx   = c_char_x .
              i_wa_bpoix-material   = c_char_x .
              i_wa_bpoix-plant      = c_char_x .
              i_wa_bpoix-stge_loc   = c_char_x .
              i_wa_bpoix-quantity   = c_char_x .
              i_wa_bpoix-po_unit    = c_char_x .
              i_wa_bpoix-tax_code   = c_char_x .
              i_wa_bpoix-val_type   = c_char_x .
              i_wa_bpoix-item_cat   = c_char_x .
              i_wa_bpoix-acctasscat = c_char_x .
              i_wa_bpoix-agreement  = c_char_x .
              i_wa_bpoix-agmt_item  = c_char_x .
              APPEND i_wa_bpoix TO i_bpoix .
    Fill PO Item Schedule
              i_wa_bpos-po_item       = i_ekpo-ebelp .
              i_wa_bpos-sched_line    = '0001' .
              i_wa_bpos-delivery_date = wa_order_split_create-dly_date .
              i_wa_bpos-quantity      = wa_order_split_create-qty_acptd .
              APPEND i_wa_bpos TO i_bpos .
    Fill PO Item schedule update indicator 'X'
              i_wa_bposx-po_item       = i_ekpo-ebelp .
              i_wa_bposx-sched_line    = '0001' .
              i_wa_bposx-delivery_date = c_char_x .
              i_wa_bposx-quantity      = c_char_x .
              APPEND i_wa_bposx TO i_bposx .
              CLEAR: i_pargr .
              SELECT SINGLE pargr
                INTO i_pargr
                FROM t161
               WHERE bstyp = i_ekko-bstyp
                 AND bsart = i_ekko-bsart .
              CLEAR i_ekpa[].
              CALL FUNCTION 'MM_READ_PARTNERS'
                   EXPORTING
                        application = c_char_p
                        ebeln       = i_ebeln
                        bstyp       = i_ekko-bstyp
                        pargr       = i_pargr
                   TABLES
                        x_ekpa      = <b>i_ekpa[].</b>
              LOOP AT i_ekpa INTO i_wa_ekpa .
                i_wa_bpop-partnerdesc = i_wa_ekpa-parvw .
                i_wa_bpop-langu = sy-langu .
                IF NOT i_wa_ekpa-lifn2 IS INITIAL .
                  i_wa_bpop-buspartno = i_wa_ekpa-lifn2 .
                ELSE .
                  i_wa_bpop-buspartno = i_wa_ekpa-parnr .
                ENDIF .
                APPEND i_wa_bpop TO i_bpop .
                CLEAR: i_wa_ekpa, i_wa_bpop .
              ENDLOOP .
              CALL FUNCTION 'DIALOG_SET_NO_DIALOG'.
              CALL FUNCTION 'BAPI_PO_CREATE1'
                   EXPORTING
                        poheader         = i_bpoh
                        poheaderx        = i_bpohx
                   IMPORTING
                        exppurchaseorder = i_new_ebeln
                   TABLES
                        return           = i_bapiret2
                    <b>    poitem           = i_bpoi[]
                        poitemx          = i_bpoix[]
                        poschedule       = i_bpos[]
                        poschedulex      = i_bposx[].</b>
    it should be only i_bpoi, i_bpoix, i_bpos, i_bposx but not  i_bpoi[], i_bpoix[], i_bpos[], i_bposx[].
    CHange the code as follows:
    DATA: i_insert,
            i_create_order,
            i_cycle     TYPE cycle,
            i_qty_acpt  TYPE dzmeng,
            i_dly_date  TYPE vbak-vdatu,
            i_item      TYPE roijnomiio .
      DATA: i_order TYPE symsgv,
            i_return TYPE swd_return .
      DATA: i_vbak      TYPE vbak,
            i_vbap      TYPE vbap,
            i_ekko      TYPE ekko,
            i_ekpo      TYPE ekpo,
            i_bsoh      TYPE bapisdhd1,
            i_bsohx     TYPE bapisdhd1x,
            i_bpoh      TYPE bapimepoheader,
            i_bpohx     TYPE bapimepoheaderx,
            i_vbeln     TYPE vbeln_va,
            i_posnr     TYPE posnr_va,
            i_contr     TYPE vbeln_va,
            i_conit     TYPE posnr_va,
            i_ebeln     TYPE ebeln,
            i_ebelp     TYPE ebelp,
            i_pargr     TYPE pargr,
            i_thead     TYPE thead,
            i_line      TYPE tline,
            i_note      TYPE txw_note,
            i_new_vbeln TYPE vbeln_va,
            i_new_ebeln TYPE ebeln,
            i_wa_bsoi   TYPE bapisditm,
            i_wa_bsoix  TYPE bapisditmx,
            i_wa_bsop   TYPE bapiparnr,
            i_wa_bsos   TYPE bapischdl,
            i_wa_bsosx  TYPE bapischdlx,
            i_wa_vbpa   TYPE vbpa,
            i_wa_vbkd   TYPE vbkd,
            i_wa_bpoi   TYPE bapimepoitem,
            i_wa_bpoix  TYPE bapimepoitemx,
            i_wa_bpos   TYPE bapimeposchedule,
            i_wa_bposx  TYPE bapimeposchedulx,
            i_wa_bpop   TYPE bapiekkop,
            i_wa_ekpa   TYPE ekpa,
            i_message   TYPE char72,
            i_bapiretn  TYPE bapiret2,
            i_bapiret2  TYPE TABLE OF bapiret2 INITIAL SIZE 1,
            i_vbpa      TYPE TABLE OF vbpa INITIAL SIZE 1,
            i_vbkd      TYPE TABLE OF vbkd INITIAL SIZE 1,
            i_ekpa      TYPE TABLE OF ekpa INITIAL SIZE 1,
            i_bsoi      TYPE TABLE OF bapisditm INITIAL SIZE 1,
            i_bsoix     TYPE TABLE OF bapisditmx INITIAL SIZE 1,
            i_bsos      TYPE TABLE OF bapischdl INITIAL SIZE 1,
            i_bsosx     TYPE TABLE OF bapischdlx INITIAL SIZE 1,
            i_bsop      TYPE TABLE OF bapiparnr INITIAL SIZE 1,
            i_bpoi      TYPE TABLE OF bapimepoitem INITIAL SIZE 1,
            i_bpoix     TYPE TABLE OF bapimepoitemx INITIAL SIZE 1,
            i_bpos      TYPE TABLE OF bapimeposchedule INITIAL SIZE 1,
            i_bposx     TYPE TABLE OF bapimeposchedulx INITIAL SIZE 1,
            i_bpop      TYPE TABLE OF bapiekkop INITIAL SIZE 1,
            i_text_tab  TYPE TABLE OF tline INITIAL SIZE 1,
            i_line_tab  TYPE TABLE OF tline INITIAL SIZE 1,
            i_txw_note  TYPE TABLE OF txw_note INITIAL SIZE 1,
            i_oij_el_doc_mot TYPE oij_el_doc_mot .
      CONSTANTS: c_char_c VALUE 'C',
                 c_char_e VALUE 'E',
                 c_char_p VALUE 'P',
                 c_char_g VALUE 'G',
                 c_char_i VALUE 'I',
                 c_char_s VALUE 'S',
                 c_char_x VALUE 'X',
                 c_zsw(3) VALUE 'ZSW',
                 c_nomit_stat(4) VALUE 'ZDNY' .
      DATA : lv_nomtk_split        TYPE oij_nomtk.
      DATA : i_order_split_create  TYPE TABLE OF zsws_order_split.
      DATA : wa_order_split_create TYPE zsws_order_split.
      LOOP AT i_order_split_create INTO wa_order_split_create.
        IF NOT i_create_order IS INITIAL .
          CLEAR: i_create_order .
              MOVE: wa_order_split_create-docnr  TO i_ebeln,
                    wa_order_split_create-docitm TO i_ebelp .
              CALL FUNCTION 'ME_EKKO_SINGLE_READ'
                   EXPORTING
                        pi_ebeln         = i_ebeln
                   IMPORTING
                        po_ekko          = i_ekko
                   EXCEPTIONS
                        no_records_found = 1
                        OTHERS           = 2.
              IF sy-subrc <> 0 .
              ENDIF .
    Fill PO Header
              i_bpoh-comp_code   = i_ekko-bukrs .
              i_bpoh-doc_type    = i_ekko-bsart .
              i_bpoh-vendor      = i_ekko-lifnr .
              i_bpoh-langu       = i_ekko-spras .
              i_bpoh-pmnttrms    = i_ekko-zterm .
              i_bpoh-purch_org   = i_ekko-ekorg .
              i_bpoh-pur_group   = i_ekko-ekgrp .
              i_bpoh-currency    = i_ekko-waers .
              i_bpoh-agreement   = i_ekko-konnr .
              i_bpoh-incoterms1  = i_ekko-inco1 .
              i_bpoh-incoterms2  = i_ekko-inco2 .
    Fill PO update indicator 'X'
              i_bpohx-comp_code  = c_char_x .
              i_bpohx-doc_type   = c_char_x .
              i_bpohx-vendor     = c_char_x .
              i_bpohx-langu      = c_char_x .
              i_bpohx-pmnttrms   = c_char_x .
              i_bpohx-purch_org  = c_char_x .
              i_bpohx-pur_group  = c_char_x .
              i_bpohx-currency   = c_char_x .
              i_bpohx-agreement  = c_char_x .
              i_bpohx-incoterms1 = c_char_x .
              i_bpohx-incoterms2 = c_char_x .
              CALL FUNCTION 'ME_EKPO_SINGLE_READ'
                   EXPORTING
                        pi_ebeln         = i_ebeln
                        pi_ebelp         = i_ebelp
                   IMPORTING
                        po_ekpo          = i_ekpo
                   EXCEPTIONS
                        no_records_found = 1
                        OTHERS           = 2.
              IF sy-subrc <> 0 .
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
              ENDIF .
    Fill PO Item
              i_wa_bpoi-po_item    = i_ekpo-ebelp .
              i_wa_bpoi-material   = i_ekpo-matnr .
              i_wa_bpoi-plant      = i_ekpo-werks .
              i_wa_bpoi-stge_loc   = i_ekpo-lgort .
              i_wa_bpoi-quantity   = wa_order_split_create-qty_acptd .
              i_wa_bpoi-po_unit    = i_ekpo-meins .
              i_wa_bpoi-tax_code   = i_ekpo-mwskz .
              i_wa_bpoi-val_type   = i_ekpo-bwtar .
              i_wa_bpoi-item_cat   = i_ekpo-pstyp .
              i_wa_bpoi-acctasscat = i_ekpo-knttp .
              i_wa_bpoi-agreement  = i_ekpo-konnr .
              i_wa_bpoi-agmt_item  = i_ekpo-ktpnr .
              APPEND i_wa_bpoi TO i_bpoi .
    Fill PO Item update indicator 'X'
              i_wa_bpoix-po_item    = i_ekpo-ebelp .
              i_wa_bpoix-po_itemx   = c_char_x .
              i_wa_bpoix-material   = c_char_x .
              i_wa_bpoix-plant      = c_char_x .
              i_wa_bpoix-stge_loc   = c_char_x .
              i_wa_bpoix-quantity   = c_char_x .
              i_wa_bpoix-po_unit    = c_char_x .
              i_wa_bpoix-tax_code   = c_char_x .
              i_wa_bpoix-val_type   = c_char_x .
              i_wa_bpoix-item_cat   = c_char_x .
              i_wa_bpoix-acctasscat = c_char_x .
              i_wa_bpoix-agreement  = c_char_x .
              i_wa_bpoix-agmt_item  = c_char_x .
              APPEND i_wa_bpoix TO i_bpoix .
    Fill PO Item Schedule
              i_wa_bpos-po_item       = i_ekpo-ebelp .
              i_wa_bpos-sched_line    = '0001' .
              i_wa_bpos-delivery_date = wa_order_split_create-dly_date .
              i_wa_bpos-quantity      = wa_order_split_create-qty_acptd .
              APPEND i_wa_bpos TO i_bpos .
    Fill PO Item schedule update indicator 'X'
              i_wa_bposx-po_item       = i_ekpo-ebelp .
              i_wa_bposx-sched_line    = '0001' .
              i_wa_bposx-delivery_date = c_char_x .
              i_wa_bposx-quantity      = c_char_x .
              APPEND i_wa_bposx TO i_bposx .
              CLEAR: i_pargr .
              SELECT SINGLE pargr
                INTO i_pargr
                FROM t161
               WHERE bstyp = i_ekko-bstyp
                 AND bsart = i_ekko-bsart .
              CLEAR i_ekpa[].
              CALL FUNCTION 'MM_READ_PARTNERS'
                   EXPORTING
                        application = c_char_p
                        ebeln       = i_ebeln
                        bstyp       = i_ekko-bstyp
                        pargr       = i_pargr
                   TABLES
                        x_ekpa      = i_ekpa.
              LOOP AT i_ekpa INTO i_wa_ekpa .
                i_wa_bpop-partnerdesc = i_wa_ekpa-parvw .
                i_wa_bpop-langu = sy-langu .
                IF NOT i_wa_ekpa-lifn2 IS INITIAL .
                  i_wa_bpop-buspartno = i_wa_ekpa-lifn2 .
                ELSE .
                  i_wa_bpop-buspartno = i_wa_ekpa-parnr .
                ENDIF .
                APPEND i_wa_bpop TO i_bpop .
                CLEAR: i_wa_ekpa, i_wa_bpop .
              ENDLOOP .
              CALL FUNCTION 'DIALOG_SET_NO_DIALOG'.
              CALL FUNCTION 'BAPI_PO_CREATE1'
                   EXPORTING
                        poheader         = i_bpoh
                        poheaderx        = i_bpohx
                   IMPORTING
                        exppurchaseorder = i_new_ebeln
                   TABLES
                        return           = i_bapiret2
                        poitem           = i_bpoi
                        poitemx          = i_bpoix
                        poschedule       = i_bpos
                        poschedulex      = i_bposx.
              i_order = i_new_ebeln .
              SHIFT i_order LEFT DELETING LEADING '0' .
              i_return-errortype = c_char_i .
              i_return-workarea  = c_zsw .
              i_return-message   = '064' .
              i_return-variable1 = i_order .
            loop at i_bapiret2 into i_bapiretn where type ca 'EAX' .
            append i_bapiretn to t_bapi_return .
          endloop .
          if t_bapi_return[] is initial .
             i_create_order = c_char_x .
               CALL FUNCTION 'SWD_POPUP_MESSAGE_SEND'
                   EXPORTING
                        act_return = i_return. "Popup with new PO no.
          ENDCASE .                                     " Docind
        ENDIF .
      ENDLOOP.

  • Report for released purchase order

    Hai guru's
    this is second time but i did't get any good replay please consider this, i want any standard report for released purchase order,means(i released two backdated po today next day i verify the report ME2n,those po are not display, the system take only document date not released date, now i am using CDHDR through this i got the report. but it is big process, so once check this and send your valuable solution.
    Prasad

    Hi Krishna,
    You could use Me2N with the dynamic selection coupled with normal selection screen.
    In Dynamic selection(3rd icon in screen).....you can select for which company code, release indicator as released....and save it as default variant.
    hope this should solve your query
    Sk.

  • Release purchase order procedure for Purchasing Organization,

    I am trying to customize a Release procedure order for Purchasing Organization,
    Characteristic with table EKKO and field EKORG,  for value I have specified  a char. value ZA01 , which is the name of my purchase organization, but all purchasing organization are selected anyway!
    On value assignment 'single value' and  number of chars 4, no mask.
    I have maintained class, release codes, etc

    i hope you have done all the settings for the release of purchase order. use CEKKO table for characteristic and also define your purchase organization in your release strategy.
    Edited by: Vimalanathan.A on Feb 16, 2011 12:12 PM

  • When creating entry sheet,the error raise:purchase order incomplete(parked)

    dear all:
    When I create entry sheet of one po with tcode ml81n,the error raise:purchase order incomplete(parked)message id:se215.
    How to solve this?Thank you!
    maojian

    hi Jian,
    Go into the PO using ME22N, check whether there is any warning message in it.Complete the PO and then only save it.
    Also check whether the PO is to be released,if it is yes then Release it and then create Entry Sheet using ML81N.wrt PO.
    Also check whether you are referencing a park or hold PO.
    Hope it will help you.
    Cheers
    Manoj K Singh

  • Create a Purchase order using the BAPI using the data in the XML file.

    Hello Gurus,
    here is the scenario can anyone help me how to proceed explaining the procedure?
    Create a Purchase order using the BAPI using the data in the XML file.
    comprehensive explanations are appreciated.
    thanks in advance.

    hi,
      first use fm "bapi_po_create".
      then use fm "BAPI_ACC_GL_POSTING_POST"
    The demo environment was made with real business scenario in mind, but following subjects need to be addressed in a live implementation:
    •     No exceptions and error handling is implemented, except the order rejection (e.g. partly delivery);
    •     In Navision both XML Ports and the XML DOM has been used to integrate with SAP XI, because XML ports has some drawbacks regarding to Namespaces in XML Documents (mandatory in SAP XI);
    •     A minimum of SAP and Navision customization is required to implement this solution. (e.g. user exit in SAP, Navision XML DOM).

  • Error in Purchase Order Workflow

    Hi,
    I am facing an problem in Purchase Order Workflow. We are working on ECC6.0 Version. I activated the PO workflow WS20000075 (BUS2012) for the PO release strategy. I assigned an user for the task "Release Purchase Order effected" that is step 000107 and after that I deassigned that user from that step.
    Now I am facing a problem, that the workflow is getting deactivated and unable to go further because it is getting an error in resolving the agent at that release effected step even after I deassigned the user. Every time I need to go to type event linkages to activate type event for the workflow.
    The error it is raising is SWF_RUN 544.
    So can anyone suggest me some solution for this and highly appreciated for the quick response.
    Thanks & Regards,
    Ramesh S

    Hi Krishna,
    Thanks for the reply. But here I donot want the agent to be assigned to that step. I already deassigned the agent from there but still it is giving me the error saying that unable to resolve the agent.
    Thanks & Regards,
    Ramesh S

  • Want to create a multiple Purchase Order using one file source

    I'm want to create a multiple purchase order using one source file. I want to read the file source create LINES in a purchase order and when the Vendor code changes I want to Add the purchase order and then create a new purchase order and Add LINES and so on.
    Right now I get  Item.no is missing [POR1.ItemCode][Line 2]

    Here is a code sample
        Private Sub testcode()
            Dim strOrdplanFile As String
            Dim oLineRec As SAPbobsCOM.Recordset
            Dim strLine As String = ""
            Dim ItemName As String
            Dim Quantity As String
            Dim RequiredDate As String
            Dim SupplierType As String
            Dim ShipTo As String
            Dim Vendor As String
            Dim oPurchaseOrder As SAPbobsCOM.Documents
            Dim bAddPOrder As Boolean = True
            Dim bPurchase As Boolean = False
            Dim sSQL As String
            Dim iReads As Integer = 1
            Dim iCurrentPurchaseNumber As Integer = 0
            Dim bErrors As Boolean = False
            Dim retCode As Double
            oPurchaseOrder = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseOrders)
            strOrdplanFile = strFolderLocation & "ORDPLAN.TXT"
            If File.Exists(strOrdplanFile) And FileLen(strOrdplanFile) > 0 Then
                Dim sr As New StreamReader(strOrdplanFile)
                strLine = sr.ReadLine()
                txtPurRec.String = "0"
                oFormStatus.Update()
                Try
                    Do
                        Vendor = strLine.Substring(0, 8).Trim()
                        ShipTo = strLine.Substring(12, 8).Trim()
                        SupplierType = strLine.Substring(26, 1)
                        ItemName = strLine.Substring(27, 20).Trim()
                        Quantity = strLine.Substring(94, 8)
                        RequiredDate = strLine.Substring(206, 9)
                        oLineRec = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
                        sSQL = "SELECT PrcrmntMtd, CardCode FROM OITM WHERE ItemCode = '" & ItemName & "'"
                        oLineRec.DoQuery(sSQL)
                        If oLineRec.RecordCount() > 0 Then ' if it exists add the record
                            If oLineRec.Fields.Item(0).Value.ToString = "B" Then
                                If (bAddPOrder) Then
                                    oPurchaseOrder.CardCode = Vendor
                                    oPurchaseOrder.DocDueDate = RequiredDate
                                    'Add first item to the purchase order
                                    oPurchaseOrder.Lines.ItemCode = ItemName
                                    oPurchaseOrder.Lines.WarehouseCode = ShipTo
                                    oPurchaseOrder.Lines.Quantity = CDbl(Quantity)
                                    oPurchaseOrder.Lines.Add()
                                    bAddPOrder = False
                                    bPurchase = True
                                    iCurrentPurchaseNumber = iCurrentPurchaseNumber + 1
                                    txtPurRec.String = "R: " & iReads & " W: " & iCurrentPurchaseNumber.ToString
                                    oFormStatus.Update()
                                Else
                                    'compare CardCode to make sure Vendor hasn't change
                                    If (oPurchaseOrder.CardCode.CompareTo(Vendor) = 0) Then
                                        'Add item to the purchase order
                                        oPurchaseOrder.Lines.ItemCode = ItemName
                                        oPurchaseOrder.Lines.WarehouseCode = ShipTo
                                        oPurchaseOrder.Lines.Quantity = CDbl(Quantity)
                                        oPurchaseOrder.Lines.Add()
                                    Else
                                        'vender code changed
                                        retCode = oPurchaseOrder.Add()
                                        If (retCode <> 0) Then
                                            SBO_Application.MessageBox(oCompany.GetLastErrorDescription(), 1, "OK", "", "")
                                        End If
                                        oPurchaseOrder.CardCode = Vendor
                                        oPurchaseOrder.DocDueDate = RequiredDate
                                        'Add first item to the purchase order
                                        oPurchaseOrder.Lines.ItemCode = ItemName
                                        oPurchaseOrder.Lines.WarehouseCode = ShipTo
                                        oPurchaseOrder.Lines.Quantity = CDbl(Quantity)
                                        oPurchaseOrder.Lines.Add()
                                        bAddPOrder = False
                                        bPurchase = True
                                        iCurrentPurchaseNumber = iCurrentPurchaseNumber + 1
                                        txtPurRec.String = "R: " & iReads & " W: " & iCurrentPurchaseNumber.ToString
                                        oFormStatus.Update()
                                    End If
                                    iReads = iReads + 1
                                End If 'new
                                strLine = sr.ReadLine()
                            End If
                        End If
                    Loop Until sr.EndOfStream
                Catch ex As Exception
                    MsgBox(ex.Message, MsgBoxStyle.Information)
                End Try
                If (bPurchase) Then
                    lRetCode = oPurchaseOrder.Add()
                End If
                sr.Close()
                swLogFile.WriteLine("Purchase orders stored : " & iCurrentPurchaseNumber)
                oPurchaseOrder = Nothing
            End If
        End Sub

  • Create Purchase Order using B1ws SAP 8.81

    Hi Experts I am creating a Purchase Order using the Web Services SAP 8.81 PL7 SQL 2008, the problem is when i create the PO in business one it comes without the deatails on the lines like Price and Line total what am i doing wrong this is the code for the lines
    Dim docLine As PurchaseOrdersService.DocumentDocumentLine = New   PurchaseOrdersService.DocumentDocumentLine With
                                        .ItemCode = gvItems.Rows(i).Cells(1).Value, .ItemDescription = gvItems.Rows(i).Cells(2).Value,  .Quantity = gvItems.Rows(i).Cells(5).Value, .UnitPrice = Double.Parse(gvItems.Rows(i).Cells(6).Value) _
    , .Price = Double.Parse(gvItems.Rows(i).Cells(6).Value), .LineTotal =  
    Double.Parse(gvItems.Rows(i).Cells(9).Value)}                                 If i = 0 Then 
                                         poDoc.DocumentLines = Array.CreateInstance(docLine.GetType(), Me.gvItems.RowCount - 1)
                                  End If 
                                  poDoc.DocumentLines.SetValue(docLine, i)
    Regards Ben

    Hi Benedict,
    Please review B1WS samples and documentation, it is stated there the following sentence:
    Per each object property with a type different of string an associated Boolean property with the same
    name but finishing with u201CSpecifiedu201D is automatically created by .NET environment. You are forced to set
    this property value to u201Ctrueu201D if you want the associated property to be correctly set in the DI Server SOAP
    message automatically formatted.
    Hope it helps,
    Trinidad.

  • HOW TO CREATE PURCHASE ORDER USING BAPI

    HI FRIENDS,
    I HAVE URGENT REQUIREMNT ,TO CREATE PURCHASE ORDER USING BAPI.PLS HELP ON THIS.
    UR'S
    RAVI

    Hi
    See the sample code and do accordingly
    REPORT zpo_bapi_purchord_tej.
    DATA DECLARATIONS *
    TYPE-POOLS slis.
    TYPES: BEGIN OF ty_table,
    v_legacy(8),
    vendor TYPE bapimepoheader-vendor,
    purch_org TYPE bapimepoheader-purch_org,
    pur_group TYPE bapimepoheader-pur_group,
    material TYPE bapimepoitem-material,
    quantity(13),
    delivery_date TYPE bapimeposchedule-delivery_date,
    net_price(23),
    plant TYPE bapimepoitem-plant,
    END OF ty_table.
    TYPES: BEGIN OF ty_alv,
    v_legs(8),
    success(10),
    v_legf(8),
    END OF ty_alv.
    TYPES: BEGIN OF ty_alv1,
    v_legf1(8),
    v_msg(500),
    END OF ty_alv1.
    *-----Work area declarations.
    DATA: x_table TYPE ty_table,
    x_header TYPE bapimepoheader,
    x_headerx TYPE bapimepoheaderx,
    x_item TYPE bapimepoitem,
    x_itemx TYPE bapimepoitemx,
    x_sched TYPE bapimeposchedule,
    x_schedx TYPE bapimeposchedulx,
    x_commatable(255),
    x_alv TYPE ty_alv,
    x_alv1 TYPE ty_alv1,
    x_alv2 TYPE ty_alv1.
    *-----Internal table declarations.
    DATA: it_table TYPE TABLE OF ty_table,
    it_commatable LIKE TABLE OF x_commatable,
    it_item TYPE TABLE OF bapimepoitem,
    it_itemx TYPE TABLE OF bapimepoitemx,
    it_sched TYPE TABLE OF bapimeposchedule,
    it_schedx TYPE TABLE OF bapimeposchedulx,
    it_alv TYPE TABLE OF ty_alv,
    it_alv1 TYPE TABLE OF ty_alv1,
    it_alv2 TYPE TABLE OF ty_alv1.
    DATA: po_number TYPE bapimepoheader-po_number,
    x_return TYPE bapiret2,
    it_return TYPE TABLE OF bapiret2,
    v_file TYPE string,
    v_temp(8),
    v_succsount TYPE i VALUE 0,
    v_failcount TYPE i VALUE 0,
    v_total TYPE i.
    DATA: v_temp1(5) TYPE n VALUE 0.
    DATA: x_event TYPE slis_t_event,
    x_fieldcat TYPE slis_t_fieldcat_alv,
    x_list_header TYPE slis_t_listheader,
    x_event1 LIKE LINE OF x_event,
    x_layout1 TYPE slis_layout_alv,
    x_variant1 TYPE disvariant,
    x_repid2 LIKE sy-repid.
    DATA : it_fieldcat TYPE TABLE OF slis_t_fieldcat_alv.
    SELECTION-SCREEN *
    SELECTION-SCREEN BEGIN OF BLOCK v_b1 WITH FRAME.
    *-----To fetch the flat file.
    PARAMETERS: p_file TYPE rlgrap-filename.
    SELECTION-SCREEN END OF BLOCK v_b1.
    AT SELECTION-SCREEN *
    AT SELECTION-SCREEN.
    IF p_file IS INITIAL.
    MESSAGE text-001 TYPE 'E'.
    ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
    *-----To use F4 help to find file path.
    CALL FUNCTION 'F4_FILENAME'
    EXPORTING
    program_name = syst-cprog
    dynpro_number = syst-dynnr
    IMPORTING
    file_name = p_file.
    v_file = p_file.
    START-OF-SELECTION *
    START-OF-SELECTION.
    PERFORM gui_upload.
    LOOP AT it_table INTO x_table.
    PERFORM header_details.
    v_temp = x_table-v_legacy.
    LOOP AT it_table INTO x_table WHERE v_legacy = v_temp.
    PERFORM lineitem.
    PERFORM schedule.
    ENDLOOP.
    DELETE it_table WHERE v_legacy = v_temp.
    PERFORM bapicall.
    MOVE po_number TO x_alv-success.
    APPEND x_alv TO it_alv.
    CLEAR x_alv.
    *-----To clear the item details in internal table after the operation for a header.
    REFRESH: it_item,
    it_itemx,
    it_sched,
    it_schedx.
    CLEAR: v_temp1.
    ENDLOOP.
    v_total = v_succsount + v_failcount.
    PERFORM display_alv.
    FORM GUI_UPLOAD *
    FORM gui_upload .
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
    filename = v_file
    filetype = 'ASC'
    TABLES
    data_tab = it_commatable
    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.
    *-----To fetch the comma seperated flat file into an internal table.
    LOOP AT it_commatable INTO x_commatable.
    IF x_commatable IS NOT INITIAL.
    SPLIT x_commatable AT ',' INTO
    x_table-v_legacy
    x_table-vendor
    x_table-purch_org
    x_table-pur_group
    x_table-material
    x_table-quantity
    x_table-delivery_date
    x_table-net_price
    x_table-plant.
    APPEND x_table TO it_table.
    ENDIF.
    CLEAR x_table.
    ENDLOOP.
    ENDIF.
    ENDFORM. " gui_upload
    FORM HEADER_DETAILS *
    FORM header_details .
    MOVE 'NB' TO x_header-doc_type.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
    input = x_table-vendor
    IMPORTING
    output = x_table-vendor
    MOVE x_table-vendor TO x_header-vendor.
    MOVE x_table-purch_org TO x_header-purch_org.
    MOVE x_table-pur_group TO x_header-pur_group.
    x_headerx-doc_type = 'X'.
    x_headerx-vendor = 'X'.
    x_headerx-purch_org = 'X'.
    x_headerx-pur_group = 'X'.
    ENDFORM. " header_details
    FORM LINEITEM *
    FORM lineitem .
    v_temp1 = v_temp1 + 10.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
    input = v_temp1
    IMPORTING
    output = v_temp1.
    MOVE v_temp1 TO x_item-po_item.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
    input = x_table-material
    IMPORTING
    output = x_table-material.
    MOVE x_table-material TO x_item-material.
    MOVE x_table-quantity TO x_item-quantity.
    MOVE x_table-net_price TO x_item-net_price.
    MOVE x_table-plant TO x_item-plant.
    x_itemx-po_item = v_temp1.
    x_itemx-material = 'X'.
    x_itemx-quantity = 'X'.
    x_itemx-net_price = 'X'.
    x_itemx-plant = 'X'.
    APPEND x_item TO it_item.
    APPEND x_itemx TO it_itemx.
    CLEAR: x_item, x_itemx.
    ENDFORM. " lineitem1
    FORM SCHEDULE *
    FORM schedule .
    MOVE x_table-delivery_date TO x_sched-delivery_date.
    MOVE v_temp1 TO x_sched-po_item.
    x_schedx-delivery_date = 'X'.
    x_schedx-po_item = v_temp1.
    APPEND x_sched TO it_sched.
    APPEND x_schedx TO it_schedx.
    CLEAR: x_sched, x_schedx.
    ENDFORM. " schedule
    FORM BAPICALL *
    FORM bapicall .
    CALL FUNCTION 'BAPI_PO_CREATE1'
    EXPORTING
    poheader = x_header
    poheaderx = x_headerx
    IMPORTING
    exppurchaseorder = po_number
    TABLES
    return = it_return
    poitem = it_item
    poitemx = it_itemx
    poschedule = it_sched
    poschedulex = it_schedx.
    IF po_number IS NOT INITIAL.
    v_succsount = v_succsount + 1.
    MOVE x_table-v_legacy TO x_alv-v_legs.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
    ELSE.
    v_failcount = v_failcount + 1.
    MOVE x_table-v_legacy TO x_alv-v_legf.
    MOVE x_table-v_legacy TO x_alv1-v_legf1.
    LOOP AT it_return INTO x_return.
    IF x_alv1-v_msg IS INITIAL.
    MOVE x_return-message TO x_alv1-v_msg.
    ELSE.
    CONCATENATE x_alv1-v_msg x_return-message INTO x_alv1-v_msg SEPARATED BY space.
    ENDIF.
    ENDLOOP.
    APPEND x_alv1 TO it_alv1.
    CLEAR x_alv1.
    ENDIF.
    ENDFORM. " bapicall
    FORM DISPLAY_ALV *
    FORM display_alv .
    PERFORM x_list_header.
    PERFORM build_fieldcat CHANGING x_fieldcat.
    x_repid2 = sy-repid.
    x_event1-name = 'TOP_OF_PAGE'.
    x_event1-form = 'TOP_OF_PAGE'.
    APPEND x_event1 TO x_event.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    i_callback_program = x_repid2
    is_layout = x_layout1
    it_fieldcat = x_fieldcat
    i_callback_user_command = 'USER_COMMAND'
    i_callback_top_of_page = 'TOP_OF_PAGE'
    i_save = 'A'
    is_variant = x_variant1
    it_events = x_event
    TABLES
    t_outtab = it_alv
    EXCEPTIONS
    program_error = 1
    OTHERS = 2.
    IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    ENDFORM. " display_master_data
    FORM USER_COMMAND *
    FORM user_command USING ucomm LIKE sy-ucomm selfield
    TYPE slis_selfield.
    READ TABLE it_alv INTO x_alv INDEX selfield-tabindex.
    CLEAR : x_alv2,it_alv2[].
    LOOP AT it_alv1 INTO x_alv1 WHERE v_legf1 = x_alv-v_legf.
    x_alv2 = x_alv1.
    APPEND x_alv2 TO it_alv2 .
    ENDLOOP.
    DATA : it_fieldcat TYPE slis_t_fieldcat_alv.
    DATA : x3_fieldcat LIKE LINE OF it_fieldcat.
    CLEAR : x3_fieldcat,it_fieldcat[].
    CLEAR x3_fieldcat.
    x3_fieldcat-col_pos = '1'.
    x3_fieldcat-fieldname = 'V_LEGF1'.
    x3_fieldcat-reptext_ddic = text-111.
    x3_fieldcat-ref_tabname = 'IT_ALV2'.
    APPEND x3_fieldcat TO it_fieldcat.
    CLEAR x3_fieldcat.
    CLEAR x3_fieldcat.
    x3_fieldcat-col_pos = '1'.
    x3_fieldcat-fieldname = 'V_MSG'.
    x3_fieldcat-reptext_ddic = text-112.
    x3_fieldcat-ref_tabname = 'IT_ALV2'.
    APPEND x3_fieldcat TO it_fieldcat.
    CLEAR x3_fieldcat.
    x_layout1-colwidth_optimize = 'X'.
    x_layout1-zebra = 'X'.
    IF it_alv2[] IS NOT INITIAL.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    i_callback_program = x_repid2
    is_layout = x_layout1
    it_fieldcat = it_fieldcat
    i_save = 'A'
    i_callback_top_of_page = 'TOP'
    is_variant = x_variant1
    it_events = x_event
    TABLES
    t_outtab = it_alv2
    EXCEPTIONS
    program_error = 1
    OTHERS = 2.
    ENDIF.
    ENDFORM.
    FORM USER_COMMAND *
    FORM top.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
    it_list_commentary = 'Commentry'.
    ENDFORM.
    FORM BUILD_FIELDCAT *
    FORM build_fieldcat CHANGING et_fieldcat TYPE slis_t_fieldcat_alv.
    DATA: x1_fieldcat TYPE slis_fieldcat_alv.
    CLEAR x1_fieldcat.
    x1_fieldcat-col_pos = '1'.
    x1_fieldcat-fieldname = 'V_LEGS'.
    x1_fieldcat-reptext_ddic = text-108.
    x1_fieldcat-ref_tabname = 'IT_ALV'.
    APPEND x1_fieldcat TO et_fieldcat.
    CLEAR x1_fieldcat.
    x1_fieldcat-col_pos = '2'.
    x1_fieldcat-fieldname = 'SUCCESS'.
    x1_fieldcat-key = 'X'.
    x1_fieldcat-reptext_ddic = text-109.
    x1_fieldcat-ref_tabname = 'IT_ALV'.
    APPEND x1_fieldcat TO et_fieldcat.
    CLEAR x1_fieldcat.
    x1_fieldcat-col_pos = '3'.
    x1_fieldcat-fieldname = 'V_LEGF'.
    x1_fieldcat-key = 'X'.
    x1_fieldcat-reptext_ddic = text-110.
    x1_fieldcat-ref_tabname = 'IT_ALV'.
    APPEND x1_fieldcat TO et_fieldcat.
    CLEAR x1_fieldcat.
    ENDFORM. " build_fieldcat
    FORM BUILD_LIST_HEADER *
    FORM x_list_header.
    DATA: x_list_header1 TYPE slis_listheader.
    *-----List Header: type H
    CLEAR x_list_header1 .
    x_list_header1-typ = 'H'.
    x_list_header1-info = text-105.
    APPEND x_list_header1 TO x_list_header.
    *-----List Key: type S
    x_list_header1-typ = 'S'.
    x_list_header1-key = text-106.
    x_list_header1-info = v_total.
    APPEND x_list_header1 TO x_list_header.
    *-----List Key: Type S
    CLEAR x_list_header1 .
    x_list_header1-typ = 'S'.
    x_list_header1-key = text-107.
    x_list_header1-info = v_succsount.
    APPEND x_list_header1 TO x_list_header.
    ENDFORM. " build_list_header
    FORM TOP_OF_PAGE *
    FORM top_of_page.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
    it_list_commentary = x_list_header.
    ENDFORM. " TOP_OF_PAGE
    Reward points if useful
    Anji

Maybe you are looking for

  • Create a Java Object with Dynamic Variables

    Hi , I am constructing a web based system which stores personal information on people. I have created a Person class with all the obvoius variables, forename, surname, address etc.. My problem is that some clients wish to make use of some of the vari

  • HT4432 8gb upgrade interfering with safari

    IVE UPGRADED MY MAC MINI (MID2011) WITH 4GB IN EACH SLOT AND SINCE THEN MY SAFARI BROWSER WILL CONSISTENTLY CLOSE AND QUIT OUT AND REPORT A PROBLEM BUT WHEN I SWITCH IT BACK TO MY 2GB MEMORY IT NEVER HAPPENS? WHAT DO I DO? everything on my computer i

  • Logical components assignment

    Hi ,    I have my scenario where I had uploaded the test cases in SOLAR02. And created the rest of the Test plans, packages and so on. Now that my testing syst. is ready i would add that too in my Logical systems of Project Admin. I see in the SOLAR0

  • I have a iphone 4s and i can't get the charger to come out of the phone its stuck on one side and will not come out

    I Have a iphone 4s and can't get the charger to come out...it was hard to get out the time before but i thought it was just me so then i charged it last night tryed taking it out and it is stuck on one side and will not come out...any suggestions on

  • How long a CS6 product key is valid?

    Early this year I received as a gift a retail copy of CS6 Master Collection for Windows which came with the product key (serial number). I have not installed it yet on any computer. How long in the future is this product key valid? Can I install this