Call Screen problem in a report

Hi All,
I have a report in which I am calling an ALV grid screen 1000. I select some line items and click on execute. On execution in the PAI I have called a function module which has a call screen statement inside it. This should call the screen 100 with tabstrip(This screen is not related to this report. This belongs to some other function group). But when I execute the report instead of calling the screen 100 again the screen 1000 is only being displayed. I have found that the PBO of screen 100 and all the subscreens in it are being called but after that this 100 screen not displayed as mentioned already. Please someone let me know if I am missing something somewhere.
Thank you,
Sri.

Hi Madhu,
I am calling the screen from PAI of the ALV grid screen. I have debuged and checked. The PBO of the screen and the corresponding subscreens is being called but after that instead of the wanted screen this ALV grid screen is being called. And when I press back button then again PAI of the actual screen is being called.
When the same FM is called from other classic reports without using ALV grid it is working fine.
Thanks,
Sri.

Similar Messages

  • Two selection screen problem in one report

    i have a two selection screens 1000 & 2000 in single report , which needs to be executed one after the other ,
    the problem is when i execute second selection screen(2000) , the cursor is going back to at-selection-screen once again.
    but i need to trigger start-of-selection directly after executing second selection screen,
    the first selection screen 1000 will be executed with the help of select options..
    the sample code is below .
    at-selection-screen.
        perform validations.
       call selection screen 2000.
        at selection screen on value request p_adm
    start-of-selection.
       main logic

    Moderator message - Cross post locked
    Rob

  • Can we call screen from ALV report

    Hi All,
    I am in the process of creating a stand alone application. However I have stuck up here.
    Problem: Can we call any screen from ALV report? If yes then how??? Can anyone give some code snippet??
    All your help appreciated.
    Thanks,
    Jignesh

    Hello Jignesh,
    Here is an example, when you double click on a line, it pops with with another screen that holds details for the flight information.
    CLASS lcl_event_handler DEFINITION.
      PUBLIC SECTION.
        METHODS:
        handle_double_click FOR EVENT double_click
                            OF cl_gui_alv_grid
                            IMPORTING e_row
                                      e_column.
       ENDCLASS.                    "lcl_event_handler
    CLASS lcl_event_handler IMPLEMENTATION.
      METHOD handle_double_click.
        READ TABLE it_flight INTO wa_flight INDEX e_row-index.
        IF sy-subrc EQ 0.
          SELECT * FROM sbook
                   INTO TABLE it_book
                   WHERE carrid EQ wa_flight-carrid AND
                         connid EQ wa_flight-connid.
          CALL SCREEN 101 STARTING AT 10 10.
        ENDIF.
      ENDMETHOD.                 "HANDLE_DOUBLE_CLICK
    ENDCLASS.                    "LCL_EVENT_HANDLER
    MODULE status_0101 OUTPUT.
    Variant to save the layout
      gv_repid = sy-repid.
      IF g_custom_container2 IS INITIAL.
    Create an instance for Custom Container 'ALV_GRID'
        CREATE OBJECT g_custom_container2
               EXPORTING container_name = gs_container2.
    Create an instance for ALV Grid
        CREATE OBJECT g_grid2
               EXPORTING i_parent = g_custom_container2.
    Variant to save the layout
        gs_layout-grid_title = 'Flight Bookings'.
        CALL METHOD g_grid2->set_table_for_first_display
          EXPORTING
            i_structure_name = 'SBOOK'
            is_layout        = gs_layout
          CHANGING
            it_outtab        = it_book[].
      ELSE.
        CALL METHOD g_grid2->refresh_table_display.
      ENDIF.                               "IF grid2 IS INITIAL.
    Setting focus for created grid control
      CALL METHOD cl_gui_control=>set_focus
        EXPORTING
          control = g_grid2.
      CALL METHOD cl_gui_cfw=>flush.
    ENDMODULE.                 " status_0101  OUTPUT
    Refer to BC_ALV_GRID04 for ALV data declarations used in the above piece of code.

  • Problem with Call Screen and Leave Screen !

    Hi,
    I am calling Modal screen (Dialog Pop up screen) from my first screen by 'Leave to Screen 'nbr' ' then once user enter the value in the pop up screen then I haveto display value with TABLE in Final screen as 'Normal screen'  here I am  using LEAVE to SCREEN, but after this call - my new final screen is not displaying as noraml screen it also displaying like 'Modal Screen' Like big pop scrren.!!
    When I tried final CALL by using CALL SCREEN instead of LEAVE screen the final screen with  table is dispalying fine as Normal screen but its returning control to pop-up screen which I dont want.
    I like Screen flow as 1>2>3--->1
    Help me to solve this Problem.
    Regards
    James

    Hi,
    Check the below thread,
    Unable to close Modal dialog box
    1) 1st screen--> 2nd screen --> Use CALL SCREEN.(This is Modal Screen)
    2) 2nd Screen-->(ModalScreen so you need come back) use the above thread
    3) Still on 1st screen--> Use CALL SCREEN --> To 3rd Screen
    4) 3rd Screen back to First Screen -> use LEAVE TO SCREEN First_Screen_NO.
    Cheerz
    Ram

  • Caller screen Buttons problem Z10STL100-1

    I have Z10STL100-1 after official update Z10STL100-1/10.3.1.1565 having caller screen Buttons problem these are little above not like it's on 10.2 very below position. I security wipe and restart many times still same position of buttons? See pic attached

    Hello,
    Did you check if there are no objects on that index slide that have a fading transition? You should set the transition for every object to 'No transition'. The transition can be found in the Properties dialog, tab Options.
    Lilybiri

  • CALL SELECTION SCREEN problem

    Hello!
    I have a problem. In my riport I have a selection screen (1000), a main screen (2000), and a screen (400) this is called inside a loop, to fill some datas when you hit the print button.
      CLEAR L_TOTAL.
      SORT LT_EBAN BY BNFPO.
      LOOP AT LT_EBAN.
        GT_ITEM2-FIELD01 = SY-TABIX.
        GT_ITEM2-FIELD02 = LT_EBAN-MATNR.
    *---Part name, Type, Maker
        SPLIT LT_EBAN-TXZ01 AT ',' INTO GT_ITEM2-FIELD03 GT_ITEM2-FIELD04 GT_ITEM2-FIELD05.
         CONCATENATE GT_ITEM2-FIELD03 '/' GT_ITEM2-FIELD04 INTO DESCR.
         ITEM = LT_EBAN-BNFPO.
         CALL SCREEN 400 STARTING AT 20 7 ENDING AT 60 18.
    *---Machine
        GT_ITEM2-FIELD06 = ST_400-MACHINE.
    After this, i could not use the LEAVE TO SCREEN 0, because it's not going back to secreen '2000' , I'm getting a blank 400 screen.
    Thatswhy I used CALL SCREEN '2000', and it's fine.
    But in the case of the Selection screen (1000) something is wrong.
    On the screen 2000 I using this logic.
    MODULE EXIT_2000 INPUT.
      CASE OK_CODE.
        WHEN 'BACK' OR 'EXIT'.
          CLEAR OK_CODE.
           CALL SELECTION-SCREEN '1000'.
           LEAVE PROGRAM.
        WHEN 'CANC'.
          PERFORM EXIT_PROGRAM.
          LEAVE PROGRAM.
      ENDCASE.
      CLEAR OK_CODE.
    ENDMODULE.                 " exit_2000  INPUT
    With this logic, the program is going to the SELECTION-SCREEN, when I hit the back button, and when we are already on the SELECTION-SCREEN, it's leaving the program. This is also ok.
    But when I hit the back button, and on the SELECTION-SCREEN I want to run the program again, it's not going to the program logic, it's jumping to this CALL SELECTION-SCREEN '1000', and leaving of course.
    START-OF-SELECTION.
      PERFORM DSP1_PROC.
      IF GT_DISPLAY[] IS INITIAL.
        MESSAGE S208(00) WITH 'No data.'.
        EXIT.
      ENDIF.
      IF S_RET = '1'.
        MESSAGE I208 WITH 'Document not found'.
        S_RET = ' '.
      ELSE.
        S_RET = ' '.
        CALL SCREEN '2000'.
      ENDIF.
    So my question is, that the above logic, when I running the program first time It's working good, at the START-OF-SELECTION, but when I trying to runnig from the SELECTION-SCREEN "second time", from the   START-OF-SELECTION it's jumping to the CALL SELECTION-SCREEN '1000'. How can I avoid this. I want that from the  START-OF-SELECTION, never go to the CALL SELECTION-SCREEN '1000'.
    Thank You
    Edited by: Roland on Dec 5, 2011 11:27 AM

    Hi Max!
    Yeah, I was thinking the same, that the problem is with that loop.
    But I don't know, how can I solved in a different way, because when we hit the print button, we getting all the items from a table, and we starting looping on them. In the loop we passing the values to a GT_ITEM table, later this table is connected with an excell, so it will be printed out in an excell form.
    So I have to call this screen so many times, how many items we have. Sometimes just 1, sometimes 4, 6, 9, and so on.
    For this items I have to add 2 more fields, wich are uploaded by the user. ( The other fields are coming from the table)
    So if I going out from the loop after the CALL SCREEN 400, I think the next item wont be get the values. Or maybe any of them, because this is before the APPEND GT_ITEM. So this methode wont be called, no data would be in the table, nothing will be printed.
    *-Item
      SELECT BNFPO MATNR TXZ01 MENGE MEINS ERNAM PREIS BEDNR EBELN EBELP
        INTO CORRESPONDING FIELDS OF TABLE LT_EBAN
        FROM EBAN
       WHERE BANFN  =  GT_DISPLAY-BANFN
         AND LOEKZ  =  ' '.
      CLEAR L_TOTAL.
      SORT LT_EBAN BY BNFPO.
      LOOP AT LT_EBAN.
        GT_ITEM2-FIELD01 = SY-TABIX.
        GT_ITEM2-FIELD02 = LT_EBAN-MATNR.
    *---Part name, Type, Maker
        SPLIT LT_EBAN-TXZ01 AT ',' INTO GT_ITEM2-FIELD03 GT_ITEM2-FIELD04 GT_ITEM2-FIELD05.
         CONCATENATE GT_ITEM2-FIELD03 '/' GT_ITEM2-FIELD04 INTO DESCR.
         ITEM = LT_EBAN-BNFPO.
         CALL SCREEN 400 STARTING AT 20 7 ENDING AT 60 18.
    *---Machine
        GT_ITEM2-FIELD06 = ST_400-MACHINE.
    *---Using Qty
        WRITE ST_400-USING UNIT LT_EBAN-MEINS TO GT_ITEM2-FIELD08.
    *---Now Stock
        CLEAR L_LABST.
        SELECT SUM( LABST ) INTO L_LABST
          FROM ZMM0460T
         WHERE MATNR = LT_EBAN-MATNR
           AND WERKS = '3A10'.
        WRITE L_LABST UNIT LT_EBAN-MEINS TO GT_ITEM2-FIELD09.
        WRITE LT_EBAN-MENGE UNIT LT_EBAN-MEINS TO GT_ITEM2-FIELD10.
        IF NOT LT_EBAN-EBELN IS INITIAL.
          CLEAR LS_EKPO.
          SELECT SINGLE NETPR WAERS PEINH
            INTO CORRESPONDING FIELDS OF LS_EKPO
            FROM EKPO AS A INNER JOIN EKKO AS B ON A~EBELN EQ B~EBELN
           WHERE A~EBELN = LT_EBAN-EBELN
             AND A~EBELP = LT_EBAN-EBELP.
          IF LS_EKPO-WAERS <> 'HUF'.
            CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
              EXPORTING
                DATE             = SY-DATUM
                FOREIGN_AMOUNT   = LS_EKPO-NETPR
                FOREIGN_CURRENCY = LS_EKPO-WAERS
                LOCAL_CURRENCY   = 'HUF'
              IMPORTING
                LOCAL_AMOUNT     = LS_EKPO-NETPR.
          ENDIF.
          IF LS_EKPO-PEINH IS INITIAL. LS_EKPO-PEINH = 1. ENDIF.
          LT_EBAN-PREIS = LS_EKPO-NETPR / LS_EKPO-PEINH.
        ENDIF.
        WRITE LT_EBAN-PREIS CURRENCY 'HUF' TO GT_ITEM2-FIELD11.
        CONDENSE GT_ITEM2-FIELD11.
        CONCATENATE GT_ITEM2-FIELD11 'Ft' INTO GT_ITEM2-FIELD11
          SEPARATED BY SPACE.
        L_NETWR = LT_EBAN-MENGE * LT_EBAN-PREIS.
        WRITE L_NETWR CURRENCY 'HUF' TO GT_ITEM2-FIELD12.
        CONDENSE GT_ITEM2-FIELD12.
        CONCATENATE GT_ITEM2-FIELD12 'Ft' INTO GT_ITEM2-FIELD12
          SEPARATED BY SPACE.
        L_TOTAL = L_TOTAL + L_NETWR.
    *---Unit
        SELECT SINGLE UNIT INTO GT_ITEM2-FIELD13
          FROM ZMM0500T
         WHERE PERNR = LT_EBAN-BEDNR.
    *---Name
        SELECT SINGLE SNAME INTO GT_ITEM2-FIELD14
          FROM PA0001
         WHERE PERNR = LT_EBAN-BEDNR
           AND ENDDA = '99991231'.
    *---Append
        GT_ITEM2-CNTR01 = ''.
        APPEND GT_ITEM2. CLEAR: GT_ITEM2, ST_400, DESCR, ITEM.
      ENDLOOP.
      GT_ITEM2-FIELD11 = 'Total'.
      WRITE L_TOTAL CURRENCY 'HUF' TO GT_ITEM2-FIELD12.
      CONDENSE GT_ITEM2-FIELD12.
      CONCATENATE GT_ITEM2-FIELD12 'Ft' INTO GT_ITEM2-FIELD12
        SEPARATED BY SPACE.
      GT_ITEM2-CNTR01 = 'B'.
      APPEND GT_ITEM2. CLEAR GT_ITEM2.
    ANy idea?
    Thank You
    Edited by: Roland on Dec 5, 2011 1:36 PM
    Edited by: Roland on Dec 5, 2011 1:50 PM

  • HT201472 I sold a unlocked iphone 5 that I bought second hand andhad for a 2 weeks no problems and i sold it and the next day the lady called me saying it was reported stolen and asking for her money what should i do.

    I sold a unlocked iphone 5 that I bought second hand andhad for a 2 weeks no problems and i sold it and the next day the lady called me saying it was reported stolen and asking for her money what should i do.

    Give the Lady her money back then try and get your money back don,t buy
    from someone off the street buy from shop or webb site ie EBAY but still be careful
    no no one can unlock a blocked iPhone only the owner who has the correct
    APple ID
    bbsydd uk

  • Problem with call screen

    Hi everybody, I did work a program with Tx SE38, in the program I call a screen.
    START-OF-SELECTION.
      PERFORM completa_lista.
      CALL SCREEN 0100.
    END-OF-SELECTION.
    The program run very well, but. When the program is in screen 0100 and push the button BACK or button EXIT. Don't return to program that called to screen 0100, always return to the program SAPMSSY0 and then push again the button  BACK or EXIT to return the program that called to screen 0100.
    This is my code in the PAI:
    MODULE user_command_0100 INPUT.
      CASE sy-ucomm.
        WHEN 'EXIT' OR 'BACK'.
          LEAVE TO SCREEN 0.
      ENDCASE.
    ENDMODULE.
    I try with SET SCREEN 0. or LEAVE TO SCREEN 0. But always return to the program SAPMSSY0
    Is there a way to skip the program SAPMSSY0?

    Hi ,
    LEAVE TO SCREEN 0 will work in your case.
    it comes back to the point from where it triggered screen 0100.
    If you want to leave the program and come back to the easy access screen then you have to use LEAVE PROGRAM.
    hope this helps!!
    Regards,
    Soumya Ranjan
    Edited by: Soumya Ranjan on Dec 15, 2010 5:59 AM

  • Problem in ALV report

    Hi Friends,
    I have the following 2 problems in ALV report
    1) Logo is not getting displayed in the report.
    2) When i click on the Purchase order number in the report  the interactive report is not working,i am not able to see report of First interactive level.
    can you help it out friends.
    Thanks and regards
    Dinesh
    REPORT  YSDBALV1
    tables: ekko , ekpo .
    type-pools: slis .
    Table for Display Header
    data:i_header type slis_t_listheader with header line.
    *Fieldcat Declaration
    data:fieldcatalog type slis_T_fieldcat_alv  WITH HEADER LINE.
    *Table of Events
    data:i_event type slis_t_event with header line .
    For Layout
    data:i_layout type slis_layout_alv .
    data: text(30) .
    *Internal Table Declaration
    data: begin of it_final occurs 0 ,
          ebeln like ekko-ebeln ,           "Purchasing Document No.
          bedat like ekko-bedat ,           "Purchasing Document Date
          matnr like ekpo-matnr ,           "Material No.
          netwr like ekpo-netwr ,         "Net Order Value in PO Currancy
          meins like ekpo-meins ,           "UOM
          chk(1) ,
          light(1) ,
          change like ekpo-menge ,
          end of it_final .
    **select option Declaration
    selection-screen begin of block block.
    select-options: s_ebeln for ekko-ebeln  .
    selection-screen end of block block .
    selection-screen begin of block block1 .
    parameters:grid radiobutton group r .
    parameters:list radiobutton group r .
    selection-screen end of block block1 .
    at selection screen
    at selection-screen .
    select single * from ekko where ebeln in s_ebeln .
    if sy-subrc <> 0 .
       message e000(8I) WITH 'No Data Exists' .
    endif .
    start-of-selection .
    if grid = 'X' .
    perform get_data .
    perform event using i_event[] .
    perform field using fieldcatalog[] .
    perform layout using i_layout .
    perform grid_display .
    endif .
    *&      Form  get_data
          text
    -->  p1        text
    <--  p2        text
    form get_data .
    *DATA Retrieval from tables
    SELECT EKKO~EBELN
           EKKO~BEDAT
           EKPO~EBELP
           EKPO~MATNR
           EKPO~NETWR
           EKPO~MEINS
           EKPO~MENGE
           EKPO~BPRME
           INTO CORRESPONDING FIELDS OF  table IT_FINAL
           FROM EKKO INNER JOIN EKPO ON EKKOEBELN = EKPOEBELN
           WHERE EKKO~EBELN IN S_EBELN.
           APPEND IT_FINAL.
    endform.                    " get_data
    *Getting the Event for Top of Page display.
    *&      Form  event
          text
         -->P_I_event[]  text
    form event  using    p_i_event type slis_t_event.
      clear p_i_event .
      refresh p_i_event .
    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
       I_LIST_TYPE           = 0
       IMPORTING
         ET_EVENTS             = p_i_event
    EXCEPTIONS
       LIST_TYPE_WRONG       = 1
       OTHERS                = 2
    read table p_i_event with key name = slis_ev_top_of_page into i_event.
          if sy-subrc = 0.
                 move 'TOP_OF_PAGE_PO' to i_event-form.
                 modify p_i_event from i_event index sy-tabix transporting form.
          endif.
          clear i_event.
    endform.                    " event
    *Display Top-of –Page Details and Logo
    form top_of_page_po .
           clear i_header .
           refresh i_header .
           write sy-datum to text.
           i_header-typ = 'H'.
           i_header-info = 'PURCHASE OREDER DETAILS'.
           append i_header.
          *Logo Display
          CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
                 EXPORTING
                     it_list_commentary       = i_header[]
                     I_LOGO                   = 'ENJOYSAPLOGO'.
    endform .
    *Field Catalog Append
    *&      Form  field
          text
         -->P_fieldCATALOG[]  text
    form field using  p_fieldcatalog type slis_t_fieldcat_alv.
         clear fieldcatalog.
          fieldcatalog-fieldname   = 'EBELN'.
          fieldcatalog-seltext_m   = 'Purchase Order No'.
          fieldcatalog-col_pos     = 1.
          append fieldcatalog .
          clear fieldcatalog.
          fieldcatalog-fieldname   = 'BEDAT'.
          fieldcatalog-seltext_m   = 'PO Date'.
          fieldcatalog-col_pos     = 2.
          append fieldcatalog .
          clear fieldcatalog.
          fieldcatalog-fieldname   = 'MATNR'.
          fieldcatalog-seltext_m   = 'Material No'.
          fieldcatalog-col_pos     = 4.
          fieldcatalog-outputlen   = 20.
          append fieldcatalog .
          clear fieldcatalog.
          fieldcatalog-fieldname   = 'NETWR'.
          fieldcatalog-seltext_m   = 'Net Value '.
          fieldcatalog-col_pos     = 5.
          fieldcatalog-outputlen   = 20.
          fieldcatalog-do_sum = 'X'.
          append fieldcatalog .
          clear fieldcatalog.
          fieldcatalog-fieldname   = 'MEINS'.
          fieldcatalog-seltext_m   = 'Units'.
          fieldcatalog-col_pos     = 6.
          fieldcatalog-outputlen   = 4.
          append fieldcatalog .
          clear fieldcatalog.
    endform.                    " field
    *&      Form  layout
          text
    form layout  using    p_i_layout TYPE SLIS_LAYOUT_ALV .
    i_layout-zebra  = 'X'.
        i_layout-lights_fieldname = 'LIGHT'.
        i_layout-lights_tabname = 'IT_FINAL'.
        i_layout-box_fieldname = 'CHK'.
        i_layout-box_tabname  = 'IT_FINAL'.
        i_layout-edit = ' '.
    endform.
    *To display Buttons in the MENU BAR if needed
    FORM SET_PO_PF_STATUS USING  P_I_EXTAB TYPE
                     SLIS_T_EXTAB.
                     SET PF-STATUS 'MENUPO'.
      ENDFORM.
    *Event for Interactive display of ALV report
    form USER_COMMAND  using r_ucomm like sy-ucomm
                             rs_selfield type slis_selfield .
      if r_ucomm = '&IC1'.
      READ TABLE IT_FINAL  index   rs_selfield-tabindex.
      write:/ IT_FINAL-ebeln.
      endif.
    endform .
    *Parameters of FM  REUSE_ALV_GRID_DISPLAY
    *&      Form  grid_display
          text
    -->  p1        text
    <--  p2        text
    form grid_display .
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
      EXPORTING
        I_CALLBACK_PROGRAM                = SY-REPID
       I_CALLBACK_PF_STATUS_SET          = 'SET_PO_PF_STATUS'
        I_CALLBACK_USER_COMMAND           = 'USER_COMMAND'
        IS_LAYOUT                         = I_LAYOUT
        IT_FIELDCAT                       = FIELDCATALOG[]
        IT_EVENTS                         = I_EVENT[]
      TABLES
        t_outtab                          = IT_FINAL.
    endform.                    " grid_display

    *& Report  YSDBALV1
    REPORT  YSDBALV1.
    tables: ekko , ekpo .
    type-pools: slis .
    Table for Display Header
    data:i_header type slis_t_listheader with header line.
    *Fieldcat Declaration
    data:fieldcatalog type slis_T_fieldcat_alv WITH HEADER LINE.
    *Table of Events
    data:i_event type slis_t_event with header line ,
         wa_event type line of slis_t_event.
    For Layout
    data:i_layout type slis_layout_alv .
    data: text(30) .
    *Internal Table Declaration
    data: begin of it_final occurs 0 ,
    ebeln like ekko-ebeln , "Purchasing Document No.
    bedat like ekko-bedat , "Purchasing Document Date
    matnr like ekpo-matnr , "Material No.
    netwr like ekpo-netwr , "Net Order Value in PO Currancy
    meins like ekpo-meins , "UOM
    chk(1) ,
    light(1) ,
    change like ekpo-menge ,
    end of it_final .
    **select option Declaration
    selection-screen begin of block block.
    select-options: s_ebeln for ekko-ebeln .
    selection-screen end of block block .
    selection-screen begin of block block1 .
    parameters:grid radiobutton group r .
    parameters:list radiobutton group r .
    selection-screen end of block block1 .
    at selection screen
    at selection-screen .
    select single * from ekko where ebeln in s_ebeln .
    if sy-subrc <> 0 .
    message e000(8I) WITH 'No Data Exists' .
    endif .
    start-of-selection .
    if grid = 'X' .
    perform get_data .
    perform event using i_event[] .
    perform field using fieldcatalog[] .
    perform layout using i_layout .
    perform grid_display .
    endif .
    *& Form get_data
    text
    --> p1 text
    <-- p2 text
    form get_data .
    *DATA Retrieval from tables
    SELECT EKKO~EBELN
    EKKO~BEDAT
    EKPO~EBELP
    EKPO~MATNR
    EKPO~NETWR
    EKPO~MEINS
    EKPO~MENGE
    EKPO~BPRME
    INTO CORRESPONDING FIELDS OF table IT_FINAL
    FROM EKKO INNER JOIN EKPO ON EKKOEBELN = EKPOEBELN
    WHERE EKKO~EBELN IN S_EBELN.
    APPEND IT_FINAL.
    endform. " get_data
    *Getting the Event for Top of Page display.
    *& Form event
    text
    -->P_I_event[] text
    form event using p_i_event type slis_t_event.
    clear p_i_event .
    refresh p_i_event .
    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
    I_LIST_TYPE = 0
    IMPORTING
    ET_EVENTS = p_i_event.
    EXCEPTIONS
    LIST_TYPE_WRONG = 1
    OTHERS = 2.
    read table p_i_event with key name = slis_ev_top_of_page into wa_event.
    if sy-subrc = 0.
    move 'TOP_OF_PAGE_PO' to i_event-form.
    modify p_i_event from i_event index sy-tabix transporting form.
    endif.
    clear i_event.
    endform. " event
    *Display Top-of –Page Details and Logo
    form top_of_page_po .
    clear i_header .
    refresh i_header .
    write sy-datum to text.
    i_header-typ = 'H'.
    i_header-info = 'PURCHASE OREDER DETAILS'.
    append i_header.
    *Logo Display
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
    it_list_commentary = i_header[]
    I_LOGO = 'ENJOYSAP_LOGO'.
    endform .
    *Field Catalog Append
    *& Form field
    text
    -->P_fieldCATALOG[] text
    form field using p_fieldcatalog type slis_t_fieldcat_alv.
    clear fieldcatalog.
    fieldcatalog-fieldname = 'EBELN'.
    fieldcatalog-seltext_m = 'Purchase Order No'.
    fieldcatalog-col_pos = 1.
    append fieldcatalog .
    clear fieldcatalog.
    fieldcatalog-fieldname = 'BEDAT'.
    fieldcatalog-seltext_m = 'PO Date'.
    fieldcatalog-col_pos = 2.
    append fieldcatalog .
    clear fieldcatalog.
    fieldcatalog-fieldname = 'MATNR'.
    fieldcatalog-seltext_m = 'Material No'.
    fieldcatalog-col_pos = 4.
    fieldcatalog-outputlen = 20.
    append fieldcatalog .
    clear fieldcatalog.
    fieldcatalog-fieldname = 'NETWR'.
    fieldcatalog-seltext_m = 'Net Value '.
    fieldcatalog-col_pos = 5.
    fieldcatalog-outputlen = 20.
    fieldcatalog-do_sum = 'X'.
    append fieldcatalog .
    clear fieldcatalog.
    fieldcatalog-fieldname = 'MEINS'.
    fieldcatalog-seltext_m = 'Units'.
    fieldcatalog-col_pos = 6.
    fieldcatalog-outputlen = 4.
    append fieldcatalog .
    clear fieldcatalog.
    endform. " field
    *& Form layout
    text
    form layout using p_i_layout TYPE SLIS_LAYOUT_ALV .
    i_layout-zebra = 'X'.
    i_layout-lights_fieldname = 'LIGHT'.
    i_layout-lights_tabname = 'IT_FINAL'.
    i_layout-box_fieldname = 'CHK'.
    i_layout-box_tabname = 'IT_FINAL'.
    i_layout-edit = ' '.
    endform.
    *To display Buttons in the MENU BAR if needed
    FORM SET_PO_PF_STATUS USING P_I_EXTAB TYPE
    SLIS_T_EXTAB.
    SET PF-STATUS 'MENUPO'.
    ENDFORM.
    *Event for Interactive display of ALV report
    form USER_COMMAND using r_ucomm like sy-ucomm
    rs_selfield type slis_selfield .
    if r_ucomm = '&IC1'.
    READ TABLE IT_FINAL index rs_selfield-tabindex.
    set parameter id 'VL1' field it_final-ebeln.
    call transaction 'ME23N'.
    endif.
    endform .
    *Parameters of FM REUSE_ALV_GRID_DISPLAY
    *& Form grid_display
    text
    --> p1 text
    <-- p2 text
    form grid_display .
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    I_CALLBACK_PROGRAM = SY-REPID
    I_CALLBACK_PF_STATUS_SET = 'SET_PO_PF_STATUS'
    I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
    IS_LAYOUT = I_LAYOUT
    IT_FIELDCAT = FIELDCATALOG[]
    IT_EVENTS = I_EVENT[]
    TABLES
    t_outtab = IT_FINAL.
    endform. " grid_display
    Regards,
    Rusidar S.

  • Can anyone identify screen problem that freezes (pic)

    Can anyone identify my screen problem that freezes? Alternately I get this image all over screen (see pic) or just a few horizontal dotted lines.
    I have to force reboot.
    Any thoughts appreciated.
    iMac27, 3.5Ghz i7, 32 Gb ram, 3T drive.
    Mavericks 10.9.5
    I use the Adobe CC suite the most.
    Thank you.
    ETRE report prior to this image
    Problem description:
    iMac keeps freezing and returning to login
    EtreCheck version: 2.0.11 (98)
    Report generated 4 November 2014 2:45:09 pm AEDT
    Hardware Information: ℹ️
      iMac (27-inch, Late 2013) (Verified)
      iMac - model: iMac14,2
      1 3.5 GHz Intel Core i7 CPU: 4-core
      32 GB RAM Upgradeable
      BANK 0/DIMM0
      8 GB DDR3 1600 MHz ok
      BANK 1/DIMM0
      8 GB DDR3 1600 MHz ok
      BANK 0/DIMM1
      8 GB DDR3 1600 MHz ok
      BANK 1/DIMM1
      8 GB DDR3 1600 MHz ok
      Bluetooth: Good - Handoff/Airdrop2 supported
      Wireless:  en1: 802.11 a/b/g/n/ac
    Video Information: ℹ️
      NVIDIA GeForce GTX 780M - VRAM: 4096 MB
      iMac 2560 x 1440
    System Software: ℹ️
      OS X 10.9.5 (13F34) - Uptime: 0:15:11
    Disk Information: ℹ️
      APPLE SSD SD0128F disk0 : (121.33 GB)
      S.M.A.R.T. Status: Verified
      EFI (disk0s1) <not mounted> : 210 MB
      Boot OS X (disk0s3) <not mounted> : 134 MB
      Macintosh HD imac27 (disk5) /  [Startup]: 3.11 TB (2.84 TB free)
      Core Storage: disk0s2 120.99 GB Online
      Core Storage: disk3s2 3.00 TB Online
      SAMSUNG HN-M101MBB disk1 : (1 TB)
      S.M.A.R.T. Status: Verified
      EFI (disk1s1) <not mounted> : 210 MB
      disk1s2 (disk1s2) <not mounted> : 999.86 GB
      Boot OSX (disk1s3) <not mounted> : 134 MB
      SAMSUNG HN-M101MBB disk2 : (1 TB)
      S.M.A.R.T. Status: Verified
      EFI (disk2s1) <not mounted> : 210 MB
      disk2s2 (disk2s2) <not mounted> : 999.86 GB
      Boot OSX (disk2s3) <not mounted> : 134 MB
      APPLE HDD ST3000DM001 disk3 : (3 TB)
      S.M.A.R.T. Status: Verified
      EFI (disk3s1) <not mounted> : 210 MB
      Recovery HD (disk3s3) <not mounted>  [Recovery]: 650 MB
      Macintosh HD imac27 (disk5) /  [Startup]: 3.11 TB (2.84 TB free)
      Core Storage: disk0s2 120.99 GB Online
      Core Storage: disk3s2 3.00 TB Online
    USB Information: ℹ️
      VIA Labs, Inc.          USB3.0 Hub             
      Apple Inc. FaceTime HD Camera (Built-in)
      Apple Inc. BRCM20702 Hub
      Apple Inc. Bluetooth USB Host Controller
      Wacom Co.,Ltd. Intuos PTS
      VIA Labs, Inc.          USB2.0 Hub             
      Fitbit Inc. Fitbit Base Station
      Apple, Inc. Keyboard Hub
      Apple Inc. Apple Keyboard
    Thunderbolt Information: ℹ️
      Apple Inc. thunderbolt_bus
      LaCie Little Big Disk
    Gatekeeper: ℹ️
      Mac App Store and identified developers
    Kernel Extensions: ℹ️
      /System/Library/Extensions
      [not loaded] com.wacom.kext.wacomtablet (6.3.9 - SDK 10.9) Support
    Launch Agents: ℹ️
      [not loaded] com.adobe.AAM.Updater-1.0.plist Support
      [failed] com.adobe.AdobeCreativeCloud.plist Support
      [loaded] com.oracle.java.Java-Updater.plist Support
      [running] com.wacom.wacomtablet.plist Support
    Launch Daemons: ℹ️
      [loaded] com.adobe.fpsaud.plist Support
      [running] com.fitbit.galileod.plist Support
      [loaded] com.oracle.java.Helper-Tool.plist Support
      [loaded] com.oracle.java.JavaUpdateHelper.plist Support
    User Launch Agents: ℹ️
      [loaded] com.adobe.AAM.Updater-1.0.plist Support
      [loaded] com.adobe.ARM.[...].plist Support
      [loaded] com.google.keystone.agent.plist Support
      [loaded] com.koingosw.MacCleanse4Helper.Reminder.plist Support
      [loaded] com.koingosw.MacCleanse4Helper.TrashWatcher.plist Support
    User Login Items: ℹ️
      Creative Cloud Application (/Applications/Utilities/Adobe Creative Cloud/ACC/Creative Cloud.app)
    Internet Plug-ins: ℹ️
      AdobeAAMDetect: Version: AdobeAAMDetect 2.0.0.0 - SDK 10.7 Support
      FlashPlayer-10.6: Version: 15.0.0.189 - SDK 10.6 Support
      EPPEX Plugin: Version: 4.1.0.0 Support
      AdobePDFViewerNPAPI: Version: 11.0.09 - SDK 10.6 Support
      AdobePDFViewer: Version: 11.0.09 - SDK 10.6 Support
      Flash Player: Version: 15.0.0.189 - SDK 10.6 Support
      Default Browser: Version: 537 - SDK 10.9
      QuickTime Plugin: Version: 7.7.3
      WacomTabletPlugin: Version: WacomTabletPlugin 2.1.0.6 - SDK 10.9 Support
      JavaAppletPlugin: Version: Java 7 Update 71 Check version
    User Internet Plug-ins: ℹ️
      Dashlane: Version: Dashlane 1.0.0 - SDK 10.7 Support
    Safari Extensions: ℹ️
      Dashlane
      Pin It Button
    3rd Party Preference Panes: ℹ️
      Flash Player  Support
      Flip4Mac WMV  Support
      Java  Support
      WacomTablet  Support
      Backup size 2.00 TB > (Disk size 0 B X 3)
    Top Processes by CPU: ℹ️
          7% Safari
          5% WindowServer
          4% WacomTabletDriver
          1% WacomTouchDriver
          0% powerd
    Top Processes by Memory: ℹ️
      241 MB WindowServer
      213 MB com.apple.WebKit.WebContent
      206 MB com.apple.IconServicesAgent
      206 MB Safari
      172 MB mds_stores
    Virtual Memory Information: ℹ️
      27.84 GB Free RAM
      4.04 GB Active RAM
      708 MB Inactive RAM
      1.76 GB Wired RAM
      518 MB Page-ins
      0 B Page-outs

    I ended up calling Apple Support twice. After first time when we checked drives etc, the second time they said we had done everything and it must be a hardware issue. It had to have a logic board replaced.

  • Calling a tcode in simple report

    hi,
    I am trying to call a tcode (ME23n) in a simple report(not ALV) but problem is i am unable to SET Parameter ID (i.e. P.O. no ).  I displaying a list from an internal table even thou i am using the HIDE statement i am unable to capture the ebeln(P.O. no). please provide some sample code.
    regards
    prabhu

    I have ALV Report which calls mm02 and see the report
    REPORT Z_GET_REFRESH no standard page heading.
    type-pools : slis.
    tables : makt,
             mara.
    data : i_fieldcat type slis_t_fieldcat_alv.
    data : begin of i_makt occurs 0,
           matnr like makt-matnr,
           maktx like makt-maktx,
           end of i_makt.
    data : v_repid like sy-repid,
           g_user_command type slis_formname value 'USER_COMMAND',
           g_status_set   type slis_formname value 'SET_PF_STATUS'.
    DATA:LC_GLAY TYPE LVC_S_GLAY.
    select-options s_matnr for mara-matnr .
    start-of-selection.
      select matnr maktx from makt into table i_makt
                                  where matnr in s_matnr.
    end-of-selection.
    Fill the fieldcatlog
      perform fill_field.
    Call the FM
      perform call_fm.
    *&      Form  fill_field
          text
    -->  p1        text
    <--  p2        text
    FORM fill_field.
      data wa_fieldcat type slis_fieldcat_alv.
      clear : wa_fieldcat.
      wa_fieldcat-tabname = 'I_MAKT'.
      wa_fieldcat-fieldname = 'MATNR'.
      wa_fieldcat-outputlen = '18'.
      wa_fieldcat-seltext_l = 'Material #'.
      wa_fieldcat-col_pos = '1'.
      append wa_fieldcat to i_fieldcat.
      clear : wa_fieldcat.
      wa_fieldcat-tabname = 'I_MAKT'.
      wa_fieldcat-fieldname = 'MAKTX'.
      wa_fieldcat-outputlen = '40'.
      wa_fieldcat-seltext_l = 'Material Desc'.
      wa_fieldcat-col_pos = '2'.
      append wa_fieldcat to i_fieldcat.
    ENDFORM.                    " fill_field
    *&      Form  call_fm
          text
    -->  p1        text
    <--  p2        text
    FORM call_fm.
      v_repid = sy-repid.
      LC_GLAY-EDT_CLL_CB = 'X'.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                =
      I_BUFFER_ACTIVE                   = ' '
          I_CALLBACK_PROGRAM                = v_repid
          I_CALLBACK_PF_STATUS_SET          = g_status_set
          I_CALLBACK_USER_COMMAND           = g_user_command
      I_CALLBACK_TOP_OF_PAGE            = ' '
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
        I_GRID_SETTINGS                   = LC_GLAY
      IS_LAYOUT                         =
          IT_FIELDCAT                       = i_fieldcat
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      IS_VARIANT                        =
      IT_EVENTS                         =
      IT_EVENT_EXIT                     =
      IS_PRINT                          =
      IS_REPREP_ID                      =
      I_SCREEN_START_COLUMN             = 0
      I_SCREEN_START_LINE               = 0
      I_SCREEN_END_COLUMN               = 0
      I_SCREEN_END_LINE                 = 0
      IT_ALV_GRAPHICS                   =
      IT_ADD_FIELDCAT                   =
      IT_HYPERLINK                      =
      I_HTML_HEIGHT_TOP                 =
      I_HTML_HEIGHT_END                 =
      IT_EXCEPT_QINFO                   =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
        TABLES
          T_OUTTAB                          = i_makt
       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.                    " call_fm
          FORM USER_COMMAND                                             *
    FORM user_command USING r_ucomm LIKE sy-ucomm
                rs_selfield TYPE slis_selfield.                 "#EC CALLED
      data i_RSPARAMS like RSPARAMS occurs 0.
      CASE R_UCOMM.
        WHEN '&IC1'.
          read table i_makt index rs_selfield-tabindex.
          SET PARAMETER ID 'MAT' FIELD i_makt-matnr.
          if not i_makt-matnr is initial.
            call transaction 'MM02' and skip first screen.
          endif.
        when 'REFRESH'.
          CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'
            EXPORTING
              CURR_REPORT           = v_repid
    IMPORTING
      SP                    =
            TABLES
             SELECTION_TABLE       = i_RSPARAMS
           EXCEPTIONS
             NOT_FOUND             = 1
             NO_REPORT             = 2
             OTHERS                = 3
          IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
          submit z_get_refresh with selection-table i_RSPARAMS.
          rs_selfield-refresh = 'X'.
      ENDCASE.
      MOVE 'REFRESH' TO r_ucomm.
    ENDFORM.
          FORM set_pf_status                                            *
    FORM SET_PF_STATUS USING rt_extab TYPE slis_t_extab.
      SET PF-STATUS 'ZSTANDARD' EXCLUDING rt_extab.
      SET TITLEBAR  sy-tcode.
    ENDFORM.
    For PO
    use like
    set parameter id 'BES' field ur field.
    call transaction 'ME22N'.

  • Select-screen problem

    Hi all
    I have create one selection screen as follows
      SELECTION-SCREEN BEGIN OF SCREEN 1001 ."AS WINDOW.
      SELECTION-SCREEN BEGIN OF BLOCK B0 WITH FRAME TITLE TEXT-101.
      SELECT-OPTIONS  :  SO_PLANT  FOR  ZTAB_PP_PARAM-ZPLANT NO INTERVALS NO-EXTENSION OBLIGATORY.
      SELECTION-SCREEN END OF BLOCK B0 .
      SELECTION-SCREEN END OF SCREEN 1001.
    and call in follows
      CALL SELECTION-SCREEN  1001 STARTING AT 5 5  ENDING AT 50 2.
    its working properly
    my problem if in the appear window has scroll in there end.
    if i removed Block part its working
    you can check Tcode CEWB that is standred code inthe bigining nice window displayed  i want to create that type window. 
    please try to help me.

    Hi,
    Call From a Program
    From any program in which selection screens are defined, you can call these screens at any
    point of the program flow using the following statement:
    CALL SELECTION-SCREEN <numb> [STARTING AT <x1> <y1>]
    [ENDING AT <x2> <y2>].
    This statement calls selection screen number <numb>. The selection screen called must be
    defined in the calling program either as the standard selection screen (screen number 1000) or
    as a user-defined selection screen (any screen number). You must always use CALL
    SELECTION-SCREEN to call selection screens, and not CALL SCREEN. If you use CALL
    SCREEN, the system will not be able to process the selection screen.
    You can display a user-defined selection screen as a modal dialog box using the STARTING AT
    and ENDING AT additions. This is possible even if you have not used the AS WINDOW addition
    in the definition of the selection screen. However, you are recommended to do so, since
    warnings and error messages that occur during selection screen processing will then
    also be displayed as modal dialog boxes (see example below).
    When it returns from the selection screen to the program, the CALL SELECTION-SCREEN
    statement sets the return value SY-SUBRC as follows:
      SY-SUBRC = 0 if the user has chosen Execute on the selection screen
      SY-SUBRC = 4 if the user has chosen Cancel on the selection screen
    Any time a selection screen is processed, the selection screen events are triggered.
    System field SY-DYNNR of the associated event blocks contains the number of the selection
    screen that is currently active.
    REPORT SELSCREENDEF.
    SELECTION-SCREEN BEGIN OF BLOCK SEL1 WITH FRAME TITLE TIT1.
    PARAMETERS: CITYFR LIKE SPFLI-CITYFROM,
    CITYTO LIKE SPFLI-CITYTO.
    SELECTION-SCREEN END OF BLOCK SEL1.
    SELECTION-SCREEN BEGIN OF SCREEN 500 AS WINDOW.
    SELECTION-SCREEN INCLUDE BLOCKS SEL1.
    SELECTION-SCREEN BEGIN OF BLOCK SEL2
    WITH FRAME TITLE TIT2.
    PARAMETERS: AIRPFR LIKE SPFLI-AIRPFROM,
    AIRPTO LIKE SPFLI-AIRPTO.
    SELECTION-SCREEN END OF BLOCK SEL2.
    SELECTION-SCREEN END OF SCREEN 500.
    INITIALIZATION.
    TIT1 = 'Cities'.
    AT SELECTION-SCREEN.
    CASE SY-DYNNR.
    WHEN '0500'.
    MESSAGE W159(AT) WITH 'Screen 500'.
    WHEN '1000'.
    MESSAGE W159(AT) WITH 'Screen 1000'.
    ENDCASE.
    START-OF-SELECTION.
    TIT1 = 'Cities for Airports'.
    TIT2 = 'Airports'.
    CALL SELECTION-SCREEN 500 STARTING AT 10 10.
    TIT1 = 'Cities again'.
    CALL SELECTION-SCREEN 1000 STARTING AT 10 10.
    This executable program contains definitions for the standard selection screen and
    the user-defined screen number 500. Selection screen 500 is defined to be displayed
    as a modal dialog box and contains the SEL1 block of the standard selection screen.
    Note the phase in which the titles of the screens are defined. For the purpose of
    demonstration, the program calls warning messages with message class AT during
    the AT SELECTION-SCREEN event.
    When you start the program, the following sequence of screens is displayed:
    1. The standard selection screen. If the user chooses Execute, the system displays
    the warning SCREEN 1000 in the status bar.
    2. Once the user has confirmed the warning by choosing Enter, selection screen 500
    is called as a modal dialog box. When the user chooses Execute, the system
    displays the warning SCREEN 500, also in a dialog box.
    3. When the user has confirmed this warning, the standard selection screen is called
    again, but this time as a modal dialog box. Since you cannot define the standard
    selection screen as a modal dialog box, the warning message displayed when the
    user chooses Execute appears in the status bar and not as a modal dialog box.
    Consequently, you can only exit this selection screen using Cancel, since there is no
    Enter function in the dialog box to confirm the warning message.
    Regards,
    Bhaskar

  • Help with Refreshing and Calling Screens

    Hi everyone.  I have somewhat of a simple ABAP program in which the user will enter data on Selection-Screen 1000.  This will then be loaded into an Object Oriented ALV Grid for display purposes only (screen 0100).  At any time, the user may use the back button on the ALV Grid Screen; which will take them from screen 0100 to screen 1000(Selection Screen).  Lets assume the user does not want to go back to the original selection screen from the ALV Grid Screen; they entered the information correctly and want to continue processing using a custom button I've created which will continue to process the record of data into a BW ODS.  This process works, but now I would like to use the write statement once the custom button is clicked to show a summary of the data I am inserting into the ODS after the data has been inserted.  The problem is, the title of the ALV Grid still shows and the Write statement is processed, but not shown on the screen.  I've been trying to refresh the screen with set screen and call screen combinations, but no luck.  Any Help would be appreciated.  Thanks!
    Here is a sample of the code below:
    *& Report  ZINC_DSP_SALES_INCRASE
    REPORT  ZINC_DSP_SALES_INCREASE MESSAGE-ID zsm.
    INCLUDE <icon>.
    DATA: credit_itab type standard table of /bic/azincosvi00,
          wa_credit like line of credit_itab,
          alv_itab type standard table of /bic/azincosvi00,
          wa_alv like line of alv_itab.
    DATA: ok_code LIKE sy-ucomm,
          save_ok LIKE sy-ucomm,
          incent type table of /bic/azincosvi00,
          g_container TYPE scrfname VALUE 'Increase DSP Sales',
          grid1 TYPE REF TO cl_gui_alv_grid,
          gs_layout TYPE lvc_s_layo,
          g_custom_container TYPE REF TO cl_gui_docking_container.
    DATA: active_guid like /bic/mzguid_dsr,
          UNIQUEKEY LIKE /BIC/AZINCOSVI00-/BIC/ZRCRDKEY,
          rpt_per_rec like  /BIC/MZRPTPRDCR,
          dsrcode like /bic/mzdsrcode-/bic/zdsrcode,
          payrec like /bic/mzsubcode.
    CLASS lcl_event_receiver DEFINITION DEFERRED.
    CLASS lcl_event_receiver DEFINITION.
      PUBLIC SECTION.
        METHODS:
        handle_toolbar
            FOR EVENT toolbar OF cl_gui_alv_grid
                IMPORTING e_object e_interactive,
        handle_user_command
            FOR EVENT user_command OF cl_gui_alv_grid
                IMPORTING e_ucomm.
        PRIVATE SECTION.
    ENDCLASS.
    CLASS lcl_event_receiver IMPLEMENTATION.
    This will create the toolbar
      METHOD handle_toolbar.
       DATA: ls_toolbar  TYPE stb_button.
       CLEAR ls_toolbar.
       MOVE 3 TO ls_toolbar-butn_type.
       APPEND ls_toolbar TO e_object->mt_toolbar.
    append an icon to show booking table
       CLEAR ls_toolbar.
       MOVE 'CREATE' TO ls_toolbar-function.
       MOVE ICON_OKAY TO ls_toolbar-icon.
       MOVE ' ' TO ls_toolbar-disabled.
       APPEND ls_toolbar TO e_object->mt_toolbar.
      ENDMETHOD.
    METHOD handle_user_command.
      CASE e_ucomm.
      WHEN 'CREATE'.
      Insert /bic/azincosvi00 from wa_credit.
      CALL METHOD grid1->free.
      SET SCREEN '200'.
      WHEN 'OTHERS'.
      " DO NOTHING
      ENDCASE.
      ENDMETHOD.
    ENDCLASS.
    Data: event_receiver TYPE REF TO lcl_event_receiver.
    START-OF-SELECTION.
    Selection-Screen BEGIN OF BLOCK 1 with frame title text-001.
    Parameters:  start   like /bic/azincosvi00-BILL_DATE.
    Selection-Screen END OF BLOCK 1.
    Selection-Screen BEGIN OF BLOCK 3 with frame title text-003.
    Parameters: guid         type /BIC/OIZGUID_DSR,
                pcode        type /BIC/OIZPGMCODE,
                scode        type /BIC/OIZSUBCODE,
                reason       type /BIC/OIZEXCPTC,
                quantity(5)  type n,
                discount     type /BI0/OISUBTOTAL_4.
    Selection-Screen END OF BLOCK 3.
    END-OF-SELECTION.
    IF quantity <> '00000'.
       if pcode <> 'SCTMS'.
          message e000 with 'Quantity can only be used with seating spiff'.
       endif.
    ENDIF.
    GET REPORT PERIOD INFO using today's date.
      select single * from /bic/mzrptprdcr INTO rpt_per_rec
          where calyear  = sy-datum(4)
            and /bic/zpgmcode  = pcode
            and ( /BIC/ZRPPRDSTR <= start
                  and /BIC/ZRPPRDEND >= start ) .
      if sy-subrc <> 0.
        message e000 with
        'Report Period NOT FOUND for' pcode ' ' sy-datum(4).
      endif.
    Select Active Guid based upon user entry on selection-screen
    Select single * from /bic/mzguid_dsr into active_guid
                                      where /bic/zguid_dsr = guid
                                      and   /bic/zdsrstat = 'A'.
        If sy-subrc <> 0.
        MESSAGE e000 WITH 'Please enter a valid GUID'.
        ENDIF.
    Select DSR Code based upon a valid guid entered
    Select single /bic/zdsrcode from /bic/mzdsrcode into dsrcode
                                     where /BIC/ZGUID_DSR = guid
                                     and   /BIC/ZDSRCDST = 'A'.
        If sy-subrc <> 0.
        MESSAGE e000 WITH 'GUID entered does not have an active dsr code.'.
        ENDIF.
    Select MAX( /BIC/ZRCRDKEY ) FROM /BIC/AZINCOSVI00 INTO WA_CREDIT-/BIC/ZRCRDKEY.
    UNIQUEKEY = WA_CREDIT-/BIC/ZRCRDKEY + 1.
    WA_CREDIT-/BIC/ZRCRDKEY = UNIQUEKEY.
    WA_CREDIT-PO_NUMBER = UNIQUEKEY.
    WA_CREDIT-/BIC/ZERDAT = SY-DATUM.
    WA_CREDIT-BILL_DATE = SY-DATUM.
    WA_CREDIT-/BIC/ZRPPRDSTR = rpt_per_rec-/BIC/ZRPPRDSTR.
    WA_CREDIT-/BIC/ZRPPRDEND = rpt_per_rec-/BIC/ZRPPRDEND.
    WA_CREDIT-/BIC/ZCUBPRCDT = SY-DATUM.
    WA_CREDIT-/BIC/ZRPTPRDCR = rpt_per_rec-/BIC/ZRPTPRDCR.
    WA_CREDIT-/BIC/ZINCPYPRC = '00000000'.
    WA_CREDIT-/BIC/ZGUID_DSR = ACTIVE_GUID-/bic/zguid_dsr.
    WA_CREDIT-/BIC/ZDSRCODE = dsrcode.
    WA_CREDIT-/BIC/ZPGMCODE = PCODE.
    WA_CREDIT-/BIC/ZUNASSIGN = 'N'.
    WA_CREDIT-/BIC/ZSUBCODE = SCODE.
    WA_CREDIT-/BIC/ZSITE_ICR = ACTIVE_GUID-/BIC/ZSITE_IRG.
    WA_CREDIT-/BIC/ZSUSPEND = 'N'.
    WA_CREDIT-/BIC/ZSUSPNDR = ' '.
    WA_CREDIT-/BIC/ZSITE_IRG = ACTIVE_GUID-/BIC/ZSITE_IRG.
    WA_CREDIT-/BIC/ZSITE_CST = ' '.
    WA_CREDIT-/BIC/ZINCBONUS = '0.00'.
    WA_CREDIT-STAT_CURR = 'USD'.
    WA_CREDIT-DOC_CURRCY = 'USD'.
    WA_CREDIT-SALES_UNIT = 'ST'.
    WA_CREDIT-CALYEAR =  SY-DATUM(4).
    WA_CREDIT-/bic/ZCASEID = SY-UNAME.
    WA_CREDIT-/bic/ZSLSRSN = REASON.
    WA_CREDIT-RECORDMODE = ' '.
    *Depending on Program Code, populate the amounts to be paid.
    Data: fivepercent type p.
          fivepercent = '0.05'.
    If pcode = 'SCW5S' or pcode = 'SCTMS'.
    Select single * from /bic/mzsubcode into payrec
                         where /bic/zpgmcode = pcode
                         and /bic/zsubcode = scode
                         and CALYEAR = sy-datum(4).
          if sy-subrc <> 0.
            write: / '**************  ERROR  ***********************',
                   / '** Missing Program Information for ',
                   /  pcode,
                      scode,
                      sy-datum(4),
            exit.
            endif.
    ENDIF.
    If pcode = 'SCW5S'.
    WA_CREDIT-/BIC/ZINCUSDDS = discount.
    WA_CREDIT-/BIC/ZPAYAMTUS = WA_CREDIT-/BIC/ZINCUSDDS * payrec-/bic/zpayper / 100.
    WA_CREDIT-SUBTOTAL_4 = discount.
    WA_CREDIT-/BIC/ZINC_QTY = ' '.
    Endif.
    If pcode = 'SCTMS'.
    WA_CREDIT-/BIC/ZPAYAMTUS = quantity * payrec-/bic/zpayper / 100.
    WA_CREDIT-/BIC/ZINCUSDDS = '0.00'.
    WA_CREDIT-SUBTOTAL_4     = '0.00'.
    WA_CREDIT-/BIC/ZINC_QTY = quantity.
    Endif.
    If pcode = 'SCTB'.
    WA_CREDIT-/BIC/ZPAYAMTUS = '0.00'.
    WA_CREDIT-/BIC/ZINCUSDDS =  DISCOUNT.
    WA_CREDIT-SUBTOTAL_4 =  DISCOUNT.
    WA_CREDIT-/BIC/ZINC_QTY = ' '.
    Endif.
    *Create ALV Grid to show the user what the record will look like in which they are creating.
    Append wa_credit to alv_itab.
    CALL SCREEN 100.
    *&      Module  PBO  OUTPUT
          text
    MODULE alv_pbo OUTPUT.
      SET PF-STATUS 'MAIN100'.
      SET TITLEBAR  'MAIN100'.
      IF g_custom_container IS INITIAL.
    CREATE OBJECT grid1
    EXPORTING i_parent = g_custom_container.
        CALL METHOD grid1->set_table_for_first_display
          EXPORTING
            i_structure_name = '/bic/azincosvi00'
           CHANGING
            it_outtab        = alv_itab.
        CREATE OBJECT event_receiver.
        SET HANDLER event_receiver->handle_user_command FOR grid1.
        SET HANDLER event_receiver->handle_toolbar FOR grid1.
        CALL METHOD grid1->set_toolbar_interactive.
      ENDIF.
    ENDMODULE.                 " PBO  OUTPUT
    *&      Module  PAI  INPUT
          text
    MODULE alv_pai INPUT.
      save_ok = ok_code.
      CLEAR ok_code.
      CASE save_ok.
        WHEN 'EXIT'.
          LEAVE PROGRAM.
        WHEN 'CANCEL'.
          LEAVE PROGRAM.
        WHEN 'BACK'.
          CALL METHOD grid1->free.
          CALL SELECTION-SCREEN '1000'.
        WHEN OTHERS.
        " DO NOTHING.
      ENDCASE.
    ENDMODULE.                " PAI  INPUT
    *&      Module  200_PBO  OUTPUT
          text
    MODULE 200_PBO OUTPUT.
      Write at 5: 'Increase DSP Sales'.
      Skip 1.
      Write at 5: 'USER'.
      Write at 15:'PROGRAM CODE'.
      WRITE AT 25:'SUB CODE'.
      WRITE AT 37:'DISCOUNTED SALES'.
      WRITE AT 67:'PAY AMOUNT US'.
      WRITE AT 80:'REASON'.
    ENDMODULE.                 " 200_PBO  OUTPUT

    There are some problems with ok_code, you need to assign sy-ucomm at each module.  Also the main problem was that you needed leave to list-processing and suppress dialog before writing.  However, when you do this the screens calls change a little. You also needed to use the container correctly.  Apply the correctons below and you'll be all set. Unfortunaley you will have to play around with calling the sel. screen (1000) from screen 100, I don't think call sel. screen 1000 will work properly there (you might need a custome screen instead).  The user may be okay with kicking back out to sa38 after the alv display, however.  Good luck and don't listen to the clowns' comments above. I once worked in that circus,    Hey Guys.
    Instead of this:
    METHOD handle_user_command.
    CASE e_ucomm.
    WHEN 'CREATE'.
    Insert /bic/azincosvi00 from wa_credit.
    CALL METHOD grid1->free.
    SET SCREEN '200'.
    WHEN 'OTHERS'.
    " DO NOTHING
    ENDCASE.
    ENDMETHOD.
    <b>DO THIS:</b>
      METHOD handle_user_command.
        CASE e_ucomm.
          WHEN 'CREATE'.
            Insert /bic/azincosvi00 from wa_credit.
            CALL SCREEN 200.
          WHEN 'OTHERS'.
            " DO NOTHING
        ENDCASE.
      ENDMETHOD.                    "handle_user_command
    <b>Instead of this:</b>
    *Create ALV Grid to show the user what the record will look like in which they are creating.
    Append wa_credit to alv_itab.
    CALL SCREEN 100.
    <b>DO THIS:</b>
      IF g_custom_container IS INITIAL.
        CREATE OBJECT g_custom_container EXPORTING dynnr = '100'
                                          repid = sy-cprog
                                          ratio = '95'.
      ENDIF.
      IF grid1 IS INITIAL.
        CREATE OBJECT grid1 EXPORTING i_parent = g_custom_container.
      ENDIF.
      CREATE OBJECT event_receiver.
      SET HANDLER event_receiver->handle_user_command FOR grid1.
      SET HANDLER event_receiver->handle_toolbar FOR grid1.
      SET SCREEN 100.
      CALL SCREEN 100.
    <b>Instead of this:</b>
    MODULE alv_pbo OUTPUT.
    SET PF-STATUS 'MAIN100'.
    SET TITLEBAR 'MAIN100'.
    IF g_custom_container IS INITIAL.
    CREATE OBJECT grid1
    EXPORTING i_parent = g_custom_container.
    CALL METHOD grid1->set_table_for_first_display
    EXPORTING
    i_structure_name = '/bic/azincosvi00'
    CHANGING
    it_outtab = alv_itab.
    CREATE OBJECT event_receiver.
    SET HANDLER event_receiver->handle_user_command FOR grid1.
    SET HANDLER event_receiver->handle_toolbar FOR grid1.
    CALL METHOD grid1->set_toolbar_interactive.
    ENDIF.
    ENDMODULE. " PBO OUTPUT
    <b>DO THIS:</b>
    MODULE alv_pbo OUTPUT.
      SET PF-STATUS 'MAIN100'.
      SET TITLEBAR  'MAIN100'.
    CALL METHOD grid1->set_table_for_first_display
      EXPORTING
         i_structure_name = '/bic/azincosvi00'
      CHANGING
         it_outtab = alv_itab.
      CALL METHOD grid1->set_toolbar_interactive.
    ENDMODULE.                 " PBO  OUTPUT
    <b>Instead of this:</b>
    MODULE alv_pai INPUT.
    save_ok = ok_code.
    CLEAR ok_code.
    CASE save_ok.
    WHEN 'EXIT'.
    LEAVE PROGRAM.
    WHEN 'CANCEL'.
    LEAVE PROGRAM.
    WHEN 'BACK'.
    CALL METHOD grid1->free.
    CALL SELECTION-SCREEN '1000'.
    WHEN OTHERS.
    " DO NOTHING.
    ENDCASE.
    ENDMODULE. " PAI INPUT
    <b>DO THIS:</b>
    MODULE alv_pai INPUT.
      ok_code = sy-ucomm.
      CASE ok_code.
        WHEN 'EXIT'.
          LEAVE PROGRAM.
        WHEN 'CANCEL'.
          LEAVE PROGRAM.
        WHEN 'BACK'.
          CALL METHOD grid1->free.
          LEAVE PROGRAM.
    *       CALL SELECTION-SCREEN '1000'.
        WHEN OTHERS.
          " DO NOTHING.
      ENDCASE.
    ENDMODULE.                " PAI  INPUT
    <b>Instead of this:</b>
    MODULE 200_PBO OUTPUT.
    Write at 5: 'Increase DSP Sales'.
    Skip 1.
    Write at 5: 'USER'.
    Write at 15:'PROGRAM CODE'.
    WRITE AT 25:'SUB CODE'.
    WRITE AT 37:'DISCOUNTED SALES'.
    WRITE AT 67:'PAY AMOUNT US'.
    WRITE AT 80:'REASON'.
    ENDMODULE. " 200_PBO OUTPUT
    <b>DO THIS:</b>
    *Take care of all your list output here
      LEAVE TO LIST-PROCESSING.
      SET PF-STATUS 'MAIN200'.
      SET TITLEBAR  'MAIN200'.
      SUPPRESS DIALOG.
      WRITE AT 5: 'Increase DSP Sales'.
      SKIP 1.
      WRITE AT 5: 'USER'.
      WRITE AT 15:'PROGRAM CODE'.
      WRITE AT 25:'SUB CODE'.
      WRITE AT 37:'DISCOUNTED SALES'.
      WRITE AT 67:'PAY AMOUNT US'.
      WRITE AT 80:'REASON'.
    ENDMODULE.                 " 200_PBO  OUTPUT
    <b>Add Moule:</b>
    MODULE 200_pai INPUT.
      ok_code = sy-ucomm.
      CASE ok_code.
        WHEN 'EXIT'.
          LEAVE PROGRAM.
        WHEN 'CANCEL'.
          LEAVE PROGRAM.
        WHEN 'BACK'.
          CALL SCREEN 100.
        WHEN OTHERS.
          " DO NOTHING.
      ENDCASE.
    ENDMODULE.                 " 200_PAI  INPUT

  • Call screen not working

    Hi gurus,
    I m developing a report and I m trying to call another screen after  a statement. I have a problem. ALthough ı m writing call screen 300, the 100 numbered screen comes. What may be the reason? Thanks in advance?

    MY--CODES
      DATA: L_VALID TYPE C.
      DATA :
      TIMETICKETS TYPE BAPI_PP_TIMETICKET OCCURS 0 WITH HEADER LINE,
      RETURN LIKE BAPIRET1,
      LINK_CONF_GOODSMOV TYPE BAPI_LINK_CONF_GOODSMOV
                         OCCURS 0 WITH HEADER LINE,
      GOODSMOVEMENTS TYPE BAPI2017_GM_ITEM_CREATE OCCURS 0 WITH HEADER LINE.
      CALL METHOD CI_ALV->CHECK_CHANGED_DATA
        IMPORTING
          E_VALID = L_VALID.
    CALL METHOD CI_ALV->GET_SELECTED_ROWS
       IMPORTING
         ET_INDEX_ROWS = LT_INDEX_ROWS.
    LOOP AT LT_INDEX_ROWS INTO LS_INDEX_ROWS.
       READ TABLE GT_ITAB INDEX LS_INDEX_ROWS-INDEX.
       IF SY-SUBRC = 0.
       ENDIF.
    ENDLOOP.
      REFRESH : DETAIL_RETURN.
      READ TABLE GT_ITAB WITH KEY CHK = 'X'.
      IF SY-SUBRC NE 0.
        MESSAGE E000(ZPP) WITH 'Lütfen operasyon seçin'.
      ENDIF.
      CLEAR : DETAIL_RETURN, DETAIL_RETURN[].
      LOOP AT GT_ITAB WHERE CHK IS NOT INITIAL
                        AND OK IS INITIAL.
        IF GT_ITAB-LMNGA LE 0 AND GT_ITAB-XMNGA LE 0.
          MESSAGE E000(ZPP) WITH
           'Operasyon' GT_ITAB-VORNR 'için miktar girin'.
        ENDIF.
        REFRESH : TIMETICKETS, DETAIL_RET.
        CLEAR   : TIMETICKETS, DETAIL_RET.
        TIMETICKETS-ORDERID        = GT_ITAB-AUFNR.
        TIMETICKETS-OPERATION      = GT_ITAB-VORNR.
        TIMETICKETS-YIELD          = GT_ITAB-LMNGA.
        TIMETICKETS-SCRAP          = GT_ITAB-XMNGA.
        CLEAR ACT_LMNGA.
        ACT_LMNGA = TIMETICKETS-YIELD + TIMETICKETS-SCRAP.
           export gv_lmnga to memory id 'GV_LMNGA'.
        TIMETICKETS-CONF_QUAN_UNIT = GT_ITAB-AMEIN.
        TIMETICKETS-FIN_CONF       = GT_ITAB-AUERU.
        TIMETICKETS-POSTG_DATE     = GV_BUDAT.
    *--- Calculate activity
        SELECT SINGLE * FROM AFKO WHERE AUFNR = GT_ITAB-AUFNR.
        IF SY-SUBRC IS INITIAL.
          SELECT * INTO TABLE WLT_AFVC
                       FROM AFVC WHERE AUFPL = AFKO-AUFPL
                                   AND VORNR = GT_ITAB-VORNR .
          IF NOT SY-DBCNT IS INITIAL.
            SORT WLT_AFVC BY APLZL.
            LOOP AT WLT_AFVC.
              CLEAR: AFVDB_TAB[],
                     AFVDB_TAB.
              CALL FUNCTION 'ZPP_CO_DB_AFVGD_SINGLE_READ'
                EXPORTING
                  AFVG_AUFTRAG = WLT_AFVC-AUFPL
                  AFVG_VORGANG = WLT_AFVC-APLZL
                TABLES
                  AFVDB_TAB    = AFVDB_TAB
                EXCEPTIONS
                  NOT_FOUND    = 1
                  OTHERS       = 2.
              IF SY-SUBRC <> 0.
              ELSE.
                LOOP AT AFVDB_TAB WHERE AUFPL = WLT_AFVC-AUFPL
                                    AND APLZL = WLT_AFVC-APLZL.
                  CLEAR: ACT_AFVGD,
                         EXP_ACTIVITIES.
                  MOVE-CORRESPONDING AFVDB_TAB TO ACT_AFVGD.
    *-Calculate Activity values--
                  PERFORM CALCULATE_ACTCONF_QTY USING GT_ITAB-MATNR
                                                      GT_ITAB-AMEIN
                                                      ACT_LMNGA
                                                      GV_ACTMG.
                  CALL FUNCTION 'CO_R0_DET_TOTAL_ACTIVITY'
                    EXPORTING
                      ACT_AFVGD             = ACT_AFVGD
                      ACT_FLG_CONSIDER_CONF = 'X'
                      ACT_QUANTITY          = GV_ACTMG
                      ACT_DATUM             = SY-DATUM
                      ACT_FLG_MST           = 'X'
                      ACT_ARBID             = ACT_AFVGD-ARBID
                      ACT_WERKS             = ACT_AFVGD-WERKS
                    IMPORTING
                      EXP_ACTIVITIES        = EXP_ACTIVITIES
                    EXCEPTIONS
                      DIVISION_BY_ZERO      = 1
                      OTHERS                = 2.
                  IF SY-SUBRC <> 0.
                  ELSE.
                    TIMETICKETS-CONF_ACTIVITY1  = EXP_ACTIVITIES-ACTI1.
                    TIMETICKETS-CONF_ACTI_UNIT1 = EXP_ACTIVITIES-UNIT1.
                    IF GT_ITAB-CONF_ACTIVITY2 IS INITIAL.
                      TIMETICKETS-CONF_ACTIVITY2  = EXP_ACTIVITIES-ACTI2.
                    ELSE.
                      TIMETICKETS-CONF_ACTIVITY2  = GT_ITAB-CONF_ACTIVITY2.
                    ENDIF.
                    TIMETICKETS-CONF_ACTI_UNIT2 = EXP_ACTIVITIES-UNIT2.
                    IF GT_ITAB-CONF_ACTIVITY3 IS INITIAL.
                      TIMETICKETS-CONF_ACTIVITY3  = EXP_ACTIVITIES-ACTI3.
                    ELSE.
                      TIMETICKETS-CONF_ACTIVITY3  = GT_ITAB-CONF_ACTIVITY3.
                    ENDIF.
                    TIMETICKETS-CONF_ACTI_UNIT3 = EXP_ACTIVITIES-UNIT3.
                    TIMETICKETS-CONF_ACTIVITY4  = EXP_ACTIVITIES-ACTI4.
                    TIMETICKETS-CONF_ACTI_UNIT4 = EXP_ACTIVITIES-UNIT4.
                    TIMETICKETS-CONF_ACTIVITY5  = EXP_ACTIVITIES-ACTI5.
                    TIMETICKETS-CONF_ACTI_UNIT5 = EXP_ACTIVITIES-UNIT5.
                    TIMETICKETS-CONF_ACTIVITY6  = EXP_ACTIVITIES-ACTI6.
                    TIMETICKETS-CONF_ACTI_UNIT6 = EXP_ACTIVITIES-UNIT6.
                  ENDIF.
                ENDLOOP.
              ENDIF.
            ENDLOOP.
          ENDIF.
        ENDIF.
        APPEND TIMETICKETS.
        APPEND TIMETICKETSALL.
        DATA : GV_ZZSHIFT LIKE AFRU-ZZSHIFT,
               GV_ZZZOPER LIKE AFRU-ZZZOPER,
               GV_ZZZOPE1 LIKE AFRU-ZZZOPE1,
               GV_ZZZDRN1 LIKE AFRU-ZZZDRN1,
               GV_ZZZDRS1 LIKE AFRU-ZZZDRS1,
               GV_ZZZDRN2 LIKE AFRU-ZZZDRN2,
               GV_ZZZDRS2 LIKE AFRU-ZZZDRS2,
               GV_ZZZDRN3 LIKE AFRU-ZZZDRN3,
               GV_ZZZDRS3 LIKE AFRU-ZZZDRS3.
        GV_ZZSHIFT = GT_ITAB-ZZSHIFT.
        GV_ZZZOPER = GT_ITAB-ZZZOPER.
        GV_ZZZOPE1 = GT_ITAB-ZZZOPE1.
        GV_ZZZDRN1 = GT_ITAB-ZZZDRN1.
        GV_ZZZDRS1 = GT_ITAB-ZZZDRS1.
        GV_ZZZDRN2 = GT_ITAB-ZZZDRN2.
        GV_ZZZDRS2 = GT_ITAB-ZZZDRS2.
        GV_ZZZDRN3 = GT_ITAB-ZZZDRN3.
        GV_ZZZDRS3 = GT_ITAB-ZZZDRS3.
        EXPORT GV_ZZSHIFT TO MEMORY ID 'ZZSHIFT'.
        EXPORT GV_ZZZOPER TO MEMORY ID 'ZZZOPER'.
        EXPORT GV_ZZZOPE1 TO MEMORY ID 'ZZZOPE1'.
        EXPORT GV_ZZZDRN1 TO MEMORY ID 'ZZZDRN1'.
        EXPORT GV_ZZZDRS1 TO MEMORY ID 'ZZZDRS1'.
        EXPORT GV_ZZZDRN2 TO MEMORY ID 'ZZZDRN2'.
        EXPORT GV_ZZZDRS2 TO MEMORY ID 'ZZZDRS2'.
        EXPORT GV_ZZZDRN3 TO MEMORY ID 'ZZZDRN3'.
        EXPORT GV_ZZZDRS3 TO MEMORY ID 'ZZZDRS3'.
        CALL FUNCTION 'BAPI_PRODORDCONF_CREATE_TT'
          EXPORTING
            POST_WRONG_ENTRIES = '1'
          IMPORTING
            RETURN             = RETURN
          TABLES
            TIMETICKETS        = TIMETICKETS[]
            GOODSMOVEMENTS     = GOODSMOVEMENTS[]
            LINK_CONF_GOODSMOV = LINK_CONF_GOODSMOV[]
            DETAIL_RETURN      = DETAIL_RET[].
        IF RETURN-TYPE IS INITIAL .    "islem basarili
          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
            EXPORTING
              WAIT = 'X'.
          GT_ITAB-OK = 'X'.
          CLEAR GT_ITAB-CHK.
          GT_ITAB-ROWCOLOR = 'C510'.
          MODIFY GT_ITAB.
        ELSE.
          GT_ITAB-ROWCOLOR = 'C610'.
          CLEAR GT_ITAB-CHK.
          MODIFY GT_ITAB.
          CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
        ENDIF.
        LOOP AT DETAIL_RET.
          MOVE-CORRESPONDING DETAIL_RET TO DETAIL_RETURN.
          APPEND DETAIL_RETURN.
          GT_ITAB-MESSAGE = DETAIL_RET-MESSAGE.
          MODIFY GT_ITAB.
        ENDLOOP.
    CALL SCREEN 300.
      ENDLOOP.
    Edited by: OSMANBIYIK on Dec 21, 2010 7:40 AM

  • ALV not getting refreshed when call screen is executed second time

    I have 2 screens 9001 and 9002. In 9001 , I am displaying the fields of a database table in a Table Control. The user has to select some of those fields and click on a button 'Generate ALV'. After clicking , the control navigates to 9002 where I am displaying ALV with data in the selected fields(the other fields remain empty). (using custom container)
    Now there is BACK button in 9002 where i have written LEAVE TO SCREEN  9001. After this if the user again make changes in column selection and click on 'Generate ALV' , then still the old alv data is displayed. (Mind you the structure of alv is same , only the selected fields should show data).
    I am using REFRESH_ALV_DISPLAY also and when i tested this function independently , its working fine (although for interactive alv in the same screen).
    I am making use of <fs> for dynamic internal table and i checked it using breakpoints , during the 2nd time , it contains the correctly updated data so i think the problem lies with alv
    Kindly check this code
    MODULE STATUS_9002 OUTPUT.
      SET PF-STATUS 'ZALV'.
    *  SET TITLEBAR 'xxx'.
      CREATE OBJECT C_CONT
        EXPORTING
          CONTAINER_NAME               = 'CUST_CONT'
      IF SY-SUBRC <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    IF OBJ_ALV IS INITIAL.
      CREATE OBJECT OBJ_ALV
        EXPORTING
          I_PARENT           = C_CONT
      CALL METHOD OBJ_ALV->SET_TABLE_FOR_FIRST_DISPLAY
         EXPORTING
           I_STRUCTURE_NAME              = INP_TABLE
         CHANGING
          IT_OUTTAB                      = <itab>
    ELSE.
       CALL METHOD OBJ_ALV->REFRESH_TABLE_DISPLAY
      ENDIF.
    ENDMODULE.                 " STATUS_9002  OUTPUT
    Edited by: amber22 on Sep 16, 2011 6:45 PM

    Amber,
    Something like:
    *&      Module  STATUS_9001  OUTPUT
    MODULE status_9001 OUTPUT.
      SET PF-STATUS 'ST9001'.
    ENDMODULE.                 " STATUS_9001  OUTPUT
    *&      Module  USER_COMMAND_9001  INPUT
    MODULE user_command_9001 INPUT.
      CASE sy-ucomm.
        WHEN 'GEN'.
          SELECT * FROM spfli INTO TABLE gt_outtab.
          CALL SCREEN 9002.
        WHEN 'BACK'.
          LEAVE.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_9001  INPUT
    *&      Module  STATUS_9002  OUTPUT
    MODULE status_9002 OUTPUT.
      SET PF-STATUS 'ST9002'.
      IF obj_alv IS INITIAL.
        CREATE OBJECT c_cont
          EXPORTING
            container_name = 'CUST_CONT'.
        CREATE OBJECT obj_alv
          EXPORTING
            i_parent = c_cont.
        CALL METHOD obj_alv->set_table_for_first_display
          EXPORTING
            i_structure_name = 'SPFLI'
          CHANGING
            it_outtab        = gt_outtab.
      ELSE.
        CALL METHOD obj_alv->refresh_table_display.
      ENDIF.
    ENDMODULE.                 " STATUS_9002  OUTPUT
    *&      Module  USER_COMMAND_9002  INPUT
    MODULE user_command_9002 INPUT.
      CASE sy-ucomm.
        WHEN 'BACK'.
          CALL METHOD: obj_alv->free, c_cont->free.
          CLEAR: obj_alv, c_cont.
          CALL METHOD cl_gui_cfw=>flush.
          LEAVE TO SCREEN 9001.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_9002  INPUT
    Altough it's not a really nice solution... Why using 2 screens for example? you could use two containers instead...
    Also I would recommand playing with the new salv class for your grids.
    Anyway don't hesitate to give feed-back.
    Kr,
    m.

Maybe you are looking for