Dipslyaning Selection-screen values on ALV....

Hi,
  Please guide on Displaying Input parameters (selection screen) on the top of ALV grid in the output.
Regards
Krishna

You can use TOP-OF-PAGE to display the details in the header of teh output.
Refer this code for OOPS ALV.
* Class definition :
*       CLASS v_lcl_event_receiver DEFINITION
CLASS v_lcl_event_receiver DEFINITION.
  PUBLIC SECTION.
    METHODS:
    handle_print_top_of_page FOR EVENT print_top_of_page OF
                                       cl_gui_alv_grid,
    handle_top_of_page FOR EVENT top_of_page OF
                                 cl_gui_alv_grid.
ENDCLASS.
*       CLASS V_LCL_EVENT_RECEIVER IMPLEMENTATION
CLASS v_lcl_event_receiver IMPLEMENTATION.
  METHOD handle_print_top_of_page.
    IF sy-pagno = 1.
        PERFORM top_of_page.
    ENDIF.
  ENDMETHOD.
  METHOD handle_top_of_page.
      PERFORM top_of_page.
  ENDMETHOD.
ENDCLASS.
DATA:        v_event_receiver      TYPE REF TO v_lcl_event_receiver.
FORM top_of_page.
  WRITE: text-020,
ENDFORM.                    " top_of_page
In PBo of the screen
   DATA: v_split            TYPE REF TO cl_gui_easy_splitter_container,
         v_contnr_top       TYPE REF TO cl_gui_container,
         v_contnr_bot       TYPE REF TO cl_gui_container,
         v_grid_02          TYPE REF TO cl_gui_alv_grid,
         v_html             TYPE REF TO cl_dd_document,
         v_text20(255)      TYPE c,
         v_text16(255)      TYPE c,
FORM f9000_objects_create.
  IF cl_gui_alv_grid=>offline( ) IS INITIAL.
Create a container
    CREATE OBJECT o_dockingcontainer
      EXPORTING
        ratio                       = '95'
      EXCEPTIONS
        cntl_error                  = 1
        cntl_system_error           = 2
        create_error                = 3
        lifetime_error              = 4
        lifetime_dynpro_dynpro_link = 5
        others                      = 6.
    IF sy-subrc NE 0.
      MESSAGE i000 WITH text-e01."Error in creating Docking container
      LEAVE LIST-PROCESSING.
    ENDIF.
    CREATE OBJECT v_split
         EXPORTING
           parent            = o_dockingcontainer
*          ORIENTATION       = 0
           sash_position     = 25
           with_border       = 0
         EXCEPTIONS
           cntl_error        = 1
           cntl_system_error = 2
           others            = 3.
    IF sy-subrc NE 0.
      MESSAGE i000 WITH text-e01."Error in creating Docking container
      LEAVE LIST-PROCESSING.
    ENDIF.
*   Get the containers of the splitter control
    v_contnr_top = v_split->top_left_container.
    v_contnr_bot = v_split->bottom_right_container.
    CREATE OBJECT o_alvgrid
   EXPORTING
     i_parent = o_dockingcontainer.
*   Create an instance of alv control
    CREATE OBJECT o_alvgrid
         EXPORTING i_parent = v_contnr_bot.
*   Object for display of selection parameters in HTML top container
    CREATE OBJECT v_html
         EXPORTING
           style = 'ALV_GRID'.
*   Must be after the SET HANDLER for TOP_OF_PAGE and foreground only
    CALL METHOD o_alvgrid->list_processing_events
                     EXPORTING i_event_name = 'TOP_OF_PAGE'
                               i_dyndoc_id  = v_html.
    v_text20 = text-020(summary Record counts)Any text.
    CALL METHOD v_html->add_gap
                EXPORTING
                  width         = 120.
    CALL METHOD v_html->add_text
           EXPORTING
             text          = v_text20.
    CALL METHOD v_html->new_line.
** Display Text-016
    v_text16 = text-016.
    CALL METHOD v_html->add_gap
                EXPORTING
                  width         = 1.
    CALL METHOD v_html->add_text
           EXPORTING
             text          = v_text16.
    v_text16 = v_sap_recon.
    CALL METHOD v_html->add_gap
                EXPORTING
                  width         = 1.
    CALL METHOD v_html->add_text
           EXPORTING
             text          = v_text16.
    CALL METHOD v_html->new_line.
* Display the data
    CALL METHOD v_html->display_document
      EXPORTING
         parent             = v_contnr_top.
*   Handle the event
    CALL METHOD o_alvgrid->list_processing_events
                        EXPORTING i_event_name = 'PRINT_TOP_OF_PAGE'.
IN PBO while populating in the output table
FORM f9004_display_data TABLES   p_report_tab
                                 p_fieldcat.
  CALL METHOD o_alvgrid->set_table_for_first_display
    EXPORTING
       is_variant                    = w_variant
       i_save                        = c_a
       is_layout                     = w_layout
    CHANGING
       it_outtab                     = p_report_tab[]
       it_fieldcatalog               = p_fieldcat[]
    EXCEPTIONS
       invalid_parameter_combination = 1
       program_error                 = 2
       too_many_lines                = 3
       OTHERS                        = 4.
  IF sy-subrc <> 0.
    MESSAGE i000 WITH text-e06."Error in ALV report display
    LEAVE LIST-PROCESSING.
  ENDIF.
* Create object
  IF v_event_receiver IS INITIAL.
    CREATE OBJECT v_event_receiver.
  ENDIF.
  SET HANDLER v_event_receiver->handle_print_top_of_page FOR o_alvgrid.
  SET HANDLER v_event_receiver->handle_top_of_page FOR o_alvgrid.

Similar Messages

  • Pass selection screen value to ALV

    Hi
    I need to pass selection screen values to ALV top of page. How to do this?

    Hi,
    Have a look on the following example.
    TYPE-POOLS: SLIS.
    TABLES: LFA1.
    SELECT-OPTIONS: LIFNR FOR LFA1-LIFNR.
    DATA:  BEGIN OF ITAB OCCURS 0,
           LIFNR LIKE LFA1-LIFNR,
           NAME1 LIKE LFA1-NAME1,
           ORT01 LIKE LFA1-ORT01,
           LAND1 LIKE LFA1-LAND1,
           REGIO LIKE LFA1-REGIO,
           END OF ITAB.
    SELECT * FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE ITAB UP TO 5 ROWS.
    DATA:  LAYOUT TYPE SLIS_LAYOUT_ALV,
           HEADER TYPE SLIS_T_LISTHEADER WITH HEADER LINE,
           FLDCAT TYPE SLIS_T_FIELDCAT_ALV.
    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
       I_PROGRAM_NAME               = SY-REPID
       I_INTERNAL_TABNAME           = 'ITAB'
      I_STRUCTURE_NAME             = ITAB
      I_CLIENT_NEVER_DISPLAY       = 'X'
       I_INCLNAME                   = SY-REPID
      I_BYPASSING_BUFFER           =
      I_BUFFER_ACTIVE              =
      CHANGING
        CT_FIELDCAT                  = FLDCAT
    EXCEPTIONS
      INCONSISTENT_INTERFACE       = 1
      PROGRAM_ERROR                = 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.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
       I_CALLBACK_PROGRAM                = SY-REPID
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
       I_CALLBACK_TOP_OF_PAGE            = '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                   =
      IS_LAYOUT                         =
       IT_FIELDCAT                       = FLDCAT
      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
      I_HTML_HEIGHT_TOP                 = 0
      I_HTML_HEIGHT_END                 = 0
      IT_ALV_GRAPHICS                   =
      IT_HYPERLINK                      =
      IT_ADD_FIELDCAT                   =
      IT_EXCEPT_QINFO                   =
      IR_SALV_FULLSCREEN_ADAPTER        =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
      TABLES
        T_OUTTAB                          = ITAB
    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.
    DATA: S(10).
    S = 'TO'.
    FORM TOP-OF-PAGE.
    HEADER-TYP = 'S'.
    HEADER-KEY = 'LIFNR'.
    CONCATENATE LIFNR-LOW LIFNR-HIGH INTO HEADER-INFO SEPARATED BY SPACE.
    APPEND HEADER.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
      EXPORTING
        IT_LIST_COMMENTARY       = HEADER[]
      I_LOGO                   =
      I_END_OF_LIST_GRID       =
      I_ALV_FORM               =
    ENDFORM.
    Reward,if useful.
    Thanks,
    Chandu

  • Displaying selection screen details in Alv Report  output display as Header

    Hi all,
    May be somebody knows how I can show selected values with select-options in top_of_page using REUSE_ALV_GRID_DISPLAY.
    This shoud work for all the reports and diff selection screens .
    I need one dynamic process which will for display any report selection screen selected details.(Basically varient information of report).
    Small example if possible, please.
    Thanks in advance,
    Rimas

    Hi Thiru,
    Thanks for the input.
    This is my exact requirement.
    Hi Experts,
    I would like to Display / Print  Select-options selected details in ALV Header.
    Ex: Say suppose here i enter kunnr as 1000
                                            lifnr as    2000 to 4000
                                            p_langu as  'EN'.
                                           p_dir  as 'C:\TEMP,
                                           p_upda as 'X'
    for selection screen below.                    
    SELECTION-SCREEN :BEGIN OF BLOCK blk1 WITH FRAME TITLE text-000.
    SELECT-OPTIONS : s_kunnr FOR kna1-kunnr.
    SELECT-OPTIONS : s_lifnr FOR lfa1-lifnr.
    PARAMETER      : p_lanuge LIKE t002-spras DEFAULT sy-langu.
    PARAMETER: p_dir  LIKE rlgrap-filename
               DEFAULT text-003 LOWER CASE.
    PARAMETERS: p_upd AS CHECKBOX DEFAULT 'X'.
    I dont want to Hard code selection screen values like
    DATA: header TYPE slis_t_listheader,
    wa TYPE slis_listheader,
    wa-typ = 'S'(093).
      wa-key = s_lifnr .
      wa-info = 'Vendor no".
      APPEND wa TO header.
    I want dynamic process for all of my selection screen values selected
    hard code may be it will be fine small selection screen it will work.
    Fur that i got one process to get dynamically through fm
    Ex: DATA: irsparams TYPE rsparams OCCURS 0 WITH HEADER LINE.
    CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'
    EXPORTING
    curr_report = program
    TABLES
    selection_table = irsparams
    EXCEPTIONS
    not_found = 1
    no_report = 2
    OTHERS = 3.
    loop at irsparams.
    write : / irsparams-SELNAME.
    write : / irsparams-SIGN.
    write : / irsparams-OPTION.
    write : / irsparams-LOW.
    write : / irsparams-HIGH.
    endloop.
    I have done my requirement partially but i am failed to achive my full  requirement.
    Because
    rsparams  strcture is diff from  slis_t_listheader.
    Can any one help me for further assistence to display irsparams strcture data in alv header.
    Thanks
    Nag

  • Display seletion screen values in alv grid output

    Hi,
    I am changing from alv list to alv grid. In ALV list after displaying output, in application tool bar one button is there that is "Display selections", when i click it, is giving all selection screen values in a popup. i want same funtionality in ALV grid.
    By
    jagan

    Hi,
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program     = l_repid
          i_callback_top_of_page = 'TOP_OF_PAGE'
    FORM top_of_page .
      PERFORM populate_top_of_page .
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = ig_header.
    ENDFORM.                    " top_of_page
    *&      Form  populate_top_of_page
    FORM populate_top_of_page .
      REFRESH ig_header.
      CLEAR wg_header .
      wg_header-typ  = c_h.
      wg_header-info = 'Selection Criteria:'(004).
      APPEND wg_header TO ig_header.
      CLEAR: wg_header.
      IF NOT s_lgort IS INITIAL.
        CONCATENATE s_lgort-low '-'(111) s_lgort-high
               INTO g_text1 SEPARATED BY space .
      ENDIF.
      wg_header-typ  = c_s.
      wg_header-key = 'Storage Location :'(005).
      wg_header-info = g_text1 .
      APPEND wg_header TO ig_header.
      CLEAR: wg_header.
      CLEAR g_text1.
      IF NOT s_ekgrp IS INITIAL.
        CONCATENATE s_ekgrp-low '-'(111) s_ekgrp-high
               INTO g_text1 SEPARATED BY space .
      ENDIF.
      wg_header-typ  = c_s.
      wg_header-key = 'Purchasing Group :'(006).
      wg_header-info = g_text1 .
      APPEND wg_header TO ig_header.
      CLEAR: wg_header.
      CLEAR g_text1.
      IF NOT s_werks IS INITIAL.
        CONCATENATE s_werks-low '-'(111) s_werks-high
               INTO g_text1 SEPARATED BY space .
      ENDIF.
      wg_header-typ  = c_s.
      wg_header-key = 'Plant :'(007).
      wg_header-info = g_text1 .
      APPEND wg_header TO ig_header.
      CLEAR: wg_header.
      CLEAR g_text1.
    ENDFORM.                    " populate_top_of_page
    Hope this is helpful...
    Regards
    Milan

  • Change Layout in Selection Screen for OO ALV-Grid

    Hello everyone,
    I got a problem regarding layouts for objectoriented ALV Grid. I want to make it possible that user can take the layout for ALV he wants to on the selection screen. So far thats no problem and it works. But there are some little problems which I do not know how to fix them. But first the facts:
    (1) I got my parameter for layout
    PARAMETER: p_vari  TYPE disvariant-variant.
    (2) I fill my global layout structure in initialization
    INITIALIZATION.
    * Variante vorbelegen
       gs_variant-username = sy-uname.
       gs_variant-report   = sy-repid.
    * Layout holen
       CALL FUNCTION 'LVC_VARIANT_DEFAULT_GET'
         EXPORTING
           i_save        = 'A'
         CHANGING
           cs_variant    = gs_variant
         EXCEPTIONS
           wrong_input   = 1
           not_found     = 2
           program_error = 3
           OTHERS        = 4.
       IF sy-subrc = 0.
         p_vari = gs_variant-variant.
       ENDIF.
    (3) I got my handling for F4-value help on variant parameter
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
       CALL FUNCTION 'LVC_VARIANT_F4'
         EXPORTING
           is_variant    = gs_variant
           i_save        = 'A'
         IMPORTING
           es_variant    = gs_variant
         EXCEPTIONS
           not_found     = 1
           program_error = 2
           OTHERS        = 3.
       IF sy-subrc <> 0.
         MESSAGE text-m01 TYPE 'S'.
       ELSE.
         p_vari = gs_variant-variant.
       ENDIF.
    (4) I give back my parameters content into the variant structure at start of selection
    START-OF-SELECTION.
       gs_variant-username = sy-uname.
       gs_variant-report   = sy-repid.
       gs_variant-variant  = p_vari.
    This works all fine but I got some problems when using default variants/layouts. For example I got a default variant only for me. When starting the selection screen it works fine that the default layout was written. It is displayed automatically in the variant parameter. But I want that if i I empty the content (blank it out) from my variant parameter, that report should start with "normal" layout how it was written in the report and NOT with default layout.
    When I clear the gs_variant it works like I want it, but then the alv layout button looks like (without functions for layout), because I do not have the reference to my report.
    So what to do? :-)
    Regards
    Michael

    Wow that was fast, works great, thanks :-)
    I did not use this parameter in set table method but now I fill it dynamically.
    Ok next problem, one step harder ;-)
    Now I have one selection screen for one ALV-Grid, but four radio buttons which control with which data the ALV gets filled (four different fieldcats, data tables and so on). Each Grid got an own HANDLE so that the layouts can be separated in four categories.
    Now I want that by changing the radio button the individual standard layout for the chosen alv grid is getting filled.
    This works fine when using it in selection screen output.
    AT SELECTION-SCREEN OUTPUT.
       CLEAR gs_variant.
    * Layout-Handles individuell für Klausel-Radiobuttons setzen
       IF     p_py IS NOT INITIAL.
         gs_variant-username = sy-uname.
         gs_variant-report   = sy-repid.
         gs_variant-handle   = 'KLPY'.
       ELSEIF p_rh IS NOT INITIAL.
         gs_variant-username = sy-uname.
         gs_variant-report   = sy-repid.
         gs_variant-handle   = 'KLRH'.
       ELSEIF p_aj IS NOT INITIAL.
         gs_variant-username = sy-uname.
         gs_variant-report   = sy-repid.
         gs_variant-handle   = 'KLAJ'.
       ELSEIF p_sr IS NOT INITIAL.
         gs_variant-username = sy-uname.
         gs_variant-report   = sy-repid.
         gs_variant-handle   = 'KLSR'.
       ENDIF.
    * Layout holen
       CALL FUNCTION 'LVC_VARIANT_DEFAULT_GET'
         EXPORTING
           i_save        = 'A'
         CHANGING
           cs_variant    = gs_variant
         EXCEPTIONS
           wrong_input   = 1
           not_found     = 2
           program_error = 3
           OTHERS        = 4.
       IF sy-subrc = 0.
         p_vari = gs_variant-variant.
       ELSE.
         CLEAR p_vari.
       ENDIF.
    But unfortunately selection screen output is getting passed by EACH changing in the selection screen. This means when I try to clear the default layout in my parameter field, it gets refilled automatically with default layout. If I do a condition around the filling (only if not initial) the default value filling does not work fine in every case, e.g. when clearing the parameters field and then change the radiobutton -> then it does not get filled automatically.

  • How can I get selection screen values from outside of program?

    Hi. all.
    Now. I'm developing moritoring systems and I have problems. for getting selection screen values in runtime. Is there any function, methods or structure to know this?
    I'd like to get selection screen values while several programs working in runtime and update these values to table to show current system's status and input values for users in real time.
    For example.
    Now. 3 PGMs are working on systems.
    each PGM is ZAAA01, ZAAA02, ZAAA03.
    and ZAAA01 needs input parameter P01, ZAAA02 needs input parameter P02, ZAAA03 needs input parameter P03.
    In this case, I have to know values of P01, P02 and P03.
    The mornitoring systems will show current working status of PGMs(ZAAA01~03)' and these PGMs' input values.
    As fas as I know, the structure 'SCREEN' can be used in each PGM for runtime. Is there any SAP system structure or something else for this purpose?
    I hope your hopeful repsponse.
    Thanks.

    Umm..I need to explain more about this.
    of course I know  SET, GET PARAMETERS.
    But I'd like to minimize coding for each PGM level.
    I have over hundreds PGMs and I have to develop the PGM(including tables and structures) that mornitor
    all of those PGMs on a report in real-time.
    This PGM is kind of  Process Manager.
    First I should know dialogue job PGM and background job that pass parameters using SAP(ABAP) Memory.
    And then I have to update those PGMs' input values via screens into tables in real-time.
    So, I couldn't use SET,GET PARAMETERS for this PGM.
    I want to know methods that can be used for getting information about runtime PGMs' selection screen field values in SAP systems wide.
    Please help me some one knows this.

  • JOB_SUBMIT   with Selection Screen Value

    I have a requirement :
    with other select-options and parameters, i have two radio button, Foreground and Background:
    when Background radio button will be selected program should be scheduled as a background job.
    How i will pass selection screen value in JOB_SUBMIT ??
    Cheers.
    Srikanta

    Hi ,
    Try This
    *& Report  ZMMVB_PG_SL_CHANGE_BDC
    REPORT  zmmvb_pg_sl_change_bdc.
    TABLES : mara,t133a,marc.
    DATA i_t133a LIKE t133a OCCURS 0 WITH HEADER LINE.
    DATA : BEGIN OF itab OCCURS 0,
            matnr LIKE marc-matnr,
            werks LIKE marc-werks,
            ekgrp LIKE marc-ekgrp,
           END OF itab.
    DATA : BEGIN OF itab1 OCCURS 0,
             matnr LIKE marc-matnr,
             werks LIKE marc-werks,
             dispo LIKE marc-dispo,
    END OF itab1.
    DATA : fname LIKE ibipparms-path ,
           ename TYPE string,
           mode.
    DATA: BEGIN OF it_t133a OCCURS   0,
            bilds LIKE t133a-bilds,
            pstat LIKE t133a-pstat,
            guifu LIKE t133a-guifu,
            auswg LIKE t133a-auswg,
          END OF it_t133a.
    DATA:  ctr TYPE i,
           ctr_s(2) TYPE n,
           wrk(35),
           ch(1),
           viewno(2) TYPE n,
           guifu LIKE t133a-guifu.
    DATA: BEGIN OF it_views OCCURS 30.
            INCLUDE STRUCTURE mbildtab.   " Selection Views
    DATA: END OF it_views.
    DATA bdc_data LIKE bdcdata OCCURS 0 WITH HEADER LINE.
    SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-000.
    PARAMETERS : ek RADIOBUTTON GROUP rg1 ,
                 sl RADIOBUTTON GROUP rg1
    SELECTION-SCREEN END OF BLOCK b.
    SELECTION-SCREEN BEGIN OF BLOCK c WITH FRAME TITLE text-001.
    PARAMETERS : fg RADIOBUTTON GROUP rg2 DEFAULT 'X',
                 bg RADIOBUTTON GROUP rg2.
    SELECTION-SCREEN END OF BLOCK c.
    START-OF-SELECTION.
      IF fg = 'X'.
        mode = 'A'.
      ELSEIF bg = 'X'.
        mode = 'E'.
      ENDIF.
      IF ek = 'X'.
        guifu = 'SP09'.
        PERFORM bdc_ekgrp_change.
      ELSEIF sl = 'X'.
        guifu = 'SP12'.
        PERFORM bdc_mrpcontroller_change.
      ENDIF.
    *&      Form  BDC_EKGRP_CHANGE
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM bdc_ekgrp_change .
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          program_name  = sy-repid
          dynpro_number = sy-dynnr
          field_name    = ' '
        IMPORTING
          file_name     = fname.
      IF NOT ( fname IS INITIAL ) .
        ename = fname .
      ENDIF.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                = ename
          filetype                = 'DAT'
        TABLES
          data_tab                = itab
        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.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      IF itab[] IS NOT INITIAL.
        LOOP AT itab.
          REFRESH bdc_data.
          IF itab-matnr NA sy-abcde AND itab-matnr NA '/*-_.'.
            UNPACK itab-matnr TO itab-matnr.
          ELSE.
            TRANSLATE itab-matnr TO UPPER CASE.
          ENDIF.
          SELECT SINGLE * FROM mara WHERE matnr = itab-matnr.
          IF sy-subrc NE 0.
            CONTINUE.
          ENDIF.
          PERFORM view_routine.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '0060'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'RMMG1-MATNR'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'RMMG1-MATNR'
                                        itab-matnr.
          CONCATENATE 'MSICHTAUSW-DYTXT(' viewno ')' INTO wrk.
          CONDENSE wrk NO-GAPS.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '0070'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                          wrk.   "'MSICHTAUSW-DYTXT(08)'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '=ENTR'.
          CONCATENATE 'MSICHTAUSW-KZSEL(' viewno ')' INTO wrk.
          CONDENSE wrk NO-GAPS.
          PERFORM bdc_field       USING   wrk  "'MSICHTAUSW-KZSEL(08)'
                                          'X'.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '0080'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'RMMG1-WERKS'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '=ENTR'.
          PERFORM bdc_field       USING 'RMMG1-WERKS'
                                        itab-werks.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '4000'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '=BU'.
    *  PERFORM bdc_field       USING 'MAKT-MAKTX'
    *                                '"HEX BOLT M16X1.5X100,B8.8,BP"'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'MARC-EKGRP'.
    *  PERFORM bdc_field       USING 'MARA-MEINS'
    *                                'NOS'.
          PERFORM bdc_field       USING 'MARC-EKGRP'
                                        itab-ekgrp.
    *  PERFORM bdc_field       USING 'MARA-MATKL'
    *                                '1702'.
    *  PERFORM bdc_field       USING 'MARC-USEQU'
    *                                '3'.
    *  PERFORM bdc_field       USING 'MARC-KORDB'
    *                                'X'.
          CALL TRANSACTION 'MM02' USING bdc_data MODE mode UPDATE 'S'.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " BDC_EKGRP_CHANGE
    *&      Form  BDC_MRPCONTROLLER_CHANGE
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM bdc_mrpcontroller_change .
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          program_name  = sy-repid
          dynpro_number = sy-dynnr
          field_name    = ' '
        IMPORTING
          file_name     = fname.
      IF NOT ( fname IS INITIAL ) .
        ename = fname .
      ENDIF.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                = ename
          filetype                = 'DAT'
        TABLES
          data_tab                = itab1
        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.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      IF itab1[] IS NOT INITIAL.
        LOOP AT itab1.
          REFRESH bdc_data.
          IF itab1-matnr NA sy-abcde AND itab1-matnr NA '/*-_.'.
            UNPACK itab1-matnr TO itab1-matnr.
          ELSE.
            TRANSLATE itab1-matnr TO UPPER CASE.
          ENDIF.
          SELECT SINGLE * FROM mara WHERE matnr = itab1-matnr.
          IF sy-subrc NE 0.
            CONTINUE.
          ENDIF.
          PERFORM view_routine.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '0060'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'RMMG1-MATNR'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'RMMG1-MATNR'
                                        itab1-matnr.
          CONCATENATE 'MSICHTAUSW-DYTXT(' viewno ')' INTO wrk.
          CONDENSE wrk NO-GAPS.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '0070'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                           wrk.         "'MSICHTAUSW-DYTXT(11)'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '=ENTR'.
          CONCATENATE 'MSICHTAUSW-KZSEL(' viewno ')' INTO wrk.
          CONDENSE wrk NO-GAPS.
          PERFORM bdc_field       USING   wrk          "'MSICHTAUSW-KZSEL(11)'
                                        'X'.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '0080'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'RMMG1-WERKS'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '=ENTR'.
          PERFORM bdc_field       USING 'RMMG1-WERKS'
                                        itab1-werks.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '4000'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '=BU'.
    *      PERFORM bdc_field       USING 'MAKT-MAKTX'
    *                                    '"HEX BOLT M16X1.5X100,B8.8,BP"'.
    *      PERFORM bdc_field       USING 'MARA-MEINS'
    *                                    'NOS'.
    *      PERFORM bdc_field       USING 'MARC-DISGR'
    *                                    '701'.
    *      PERFORM bdc_field       USING 'MARC-EKGRP'
    *                                    'A00'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'MARC-DISPO'.
    *      PERFORM bdc_field       USING 'MARC-DISMM'
    *                                    'PD'.
          PERFORM bdc_field       USING 'MARC-DISPO'
                                        itab1-dispo.
    *      PERFORM bdc_field       USING 'MARC-DISLS'
    *                                    'MB'.
          CALL TRANSACTION 'MM02' USING bdc_data MODE mode UPDATE 'S'.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " BDC_MRPCONTROLLER_CHANGE
    *&      Form  bdc_dynpro
    *       text
    *      -->PROGRAM    text
    *      -->DYNPRO     text
    FORM bdc_dynpro USING program dynpro.
      CLEAR bdc_data.
      bdc_data-program  = program.
      bdc_data-dynpro   = dynpro.
      bdc_data-dynbegin = 'X'.
      APPEND bdc_data.
    ENDFORM.                        "BDC_DYNPRO
    *        Insert field                                                  *
    FORM bdc_field USING fnam fval.
      CLEAR bdc_data.
      bdc_data-fnam = fnam.
      bdc_data-fval = fval.
      APPEND bdc_data.
    ENDFORM.                    "BDC_FIELD
    *&      Form  VIEW_ROUTINE
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM view_routine .
      CLEAR viewno.
      SELECT * FROM t133a INTO CORRESPONDING FIELDS OF TABLE i_t133a
                    WHERE bilds = '21' AND guifu LIKE 'SP%'  .
      LOOP AT i_t133a .
        ch = i_t133a-pstat.
        IF mara-vpsta NA ch .
          DELETE i_t133a     .
          CONTINUE .
        ENDIF .
      ENDLOOP.
      SORT i_t133a BY guifu ASCENDING .
      LOOP AT i_t133a .
        viewno = viewno + 1 .
        IF i_t133a-guifu = guifu .
          EXIT .
        ENDIF .
      ENDLOOP .
    ENDFORM.                    " VIEW_ROUTINE
    Regards,

  • Print Selection Screen Parameters in ALV report only once

    Does anyone know how to print the selection screen within a ALV report.
    I've tried everything. I have the code to capture the selection parameters into a internal table. I can use top_of_page but I only want it printed once.

    Hi,
      If you have captured the selection screen entries in an internal table, then you could display it once by using the BLOCK LIST ALV.
    Check the function module.
    REUSE_ALV_BLOCK_LIST_DISPLAY
    Using this function module more than 1 alv could be display in the report.
    In our case ..there will be two alvs ...one for the selection screen n other for the main report output.
    Check the following example on the block List ALV....
    <b>BALVBT01</b>.
    Regards,
    Vara

  • How to find out the Batch job selection screen values

    Dear Users,
    One of our users has set up a Batch job by manually entering values into the Selection screen of a report instead of picking up a Variant. We would like to know the values entered on selection screen since the job has failed and the user doesn't remember the selection screen values entered.
    Can anyone please advise if there is a way we can figure out the selection screen values entered?
    Thanks,
    Vijay

    Hi,
    You can debug your failed job by going to 'SM37', type in 'JDBG' in the command line ( no '/' ), put the cursor on the job and press enter - will take you to the job in debug mode.
    You can do this only after the job has finished execution. This will simulate the exact background scenario with the same selection screen values as used in the job.
    So type in the transaction code 'JDBG' and place your cursor on the job after It has finished. It will take you to a SAP program in debug mode. Step through this program which is about 10 lines, after this your program will be executed in the debug mode.
    Check the selection screen values.

  • ABAP Query - Selection Screen Values Usage

    Hi,
       I have created an ABAP Query. For one of the selection-screen fields (CAUFV-FTRMI)
    which is select-options, I want to use the values during coding (in the where clause of a select query)
    in Extras section under the event "record processing". Please suggest how to make the the selection-screen values
    available during record processing event. Thanks in advance.
    Regards,
    Tejas Savla

    Hi Kartik,
                  I need to fetch data from some table KEKO depending on the values entered on the selection-screen for the field CAUFV-FTRMI. So, I need to find a way by which the selection-screen input values are available in the record processing event. The values are available in some variable SP$00002 of the automatically generated report program. But, this variable cannot be used in the Coding section of the ABAP QUERY. Please advise.
    Thanks & Regards,
    Tejas Savla

  • Selection screen value display

    can any one suggest, how to display the selection screen value in the output of the report
    i am using SQ02 record processing...

    Hi,
    In SQ02  -> Extras(F5)->Selections tab-->press
       create icod there.
    It will display pop-up screen .
    Enter your selection paramenter name.
    Ex: s_xxxx.
    --->Select one of the radio buttons.
    In extras tab  create a field whci is of same type of your required output field.
    Then go back to field groups(F6).
    Left side under extras join you will find your varable which  you have created .
    Move that field to right side field groups(By drag and drop  (OR ) field right click add to field group. )
    Under START-OF -selection event
    Move s_xxxx  To v_xxxx
    v_xxx is the field you have created in extras.
    Activate the infoset.
    In sq01->change mode->press F6--->Press F6
    Now select the checkbox of your output field.
    On sam,e screen > basic list>select check box of your field.  Save

  • Problem in passing selection screen values using CALL TRANSACTION.

    Hi All
    I am facing problem in transfering selection screen values to the called transaction. I am trying to pass the path of the transaction filer but to no avail. The variable for filepath is not empty.
    Below is my code:
    DATA: lt_bdcdata TYPE TABLE OF bdcdata,
           wa_bdcdata TYPE bdcdata,
           opt TYPE ctu_params.
    CLEAR wa_bdcdata.
    wa_bdcdata-program  = 'RFBASM00'.
    wa_bdcdata-dynpro   = '1000'.
    wa_bdcdata-dynbegin = 'X'.
    APPEND wa_bdcdata TO lt_bdcdata.
    CLEAR wa_bdcdata.
    wa_bdcdata-fnam = 'BDC_CURSOR'.
    wa_bdcdata-fval = 'RFPDO1-FEBUMSF'.
    APPEND wa_bdcdata TO lt_bdcdata.
    CLEAR wa_bdcdata.
    wa_bdcdata-fnam = 'RFPDO1-FEBUMSF'.
    wa_bdcdata-fval = gv_filepath.
    APPEND wa_bdcdata TO lt_bdcdata.
    CLEAR wa_bdcdata.
    wa_bdcdata-fnam = 'BDC_OKCODE'.
    wa_bdcdata-fval = 'PASS'.
    APPEND wa_bdcdata TO lt_bdcdata.
    CLEAR wa_bdcdata.
    opt-dismode = 'E'.
    opt-updmode = 'S'.
    CALL TRANSACTION 'FF_5' USING lt_bdcdata OPTIONS FROM opt.
    Please help.
    Harsh

    Hi Harsh,
    I think you have entered wrong main program for tcode 'FF_5' and wrong screen field for the file name. Use the below code instead of yours.
    DATA: lt_bdcdata TYPE TABLE OF bdcdata,
           wa_bdcdata TYPE bdcdata,
           opt TYPE ctu_params,
           gv_filepath type char128 value 'C:\testfile.txt'.
    CLEAR wa_bdcdata.
    wa_bdcdata-program  = 'RFEBKA00'.
    wa_bdcdata-dynpro   = '1000'.
    wa_bdcdata-dynbegin = 'X'.
    APPEND wa_bdcdata TO lt_bdcdata.
    CLEAR wa_bdcdata.
    wa_bdcdata-fnam = 'BDC_CURSOR'.
    wa_bdcdata-fval = 'UMSFILE'.
    APPEND wa_bdcdata TO lt_bdcdata.
    CLEAR wa_bdcdata.
    wa_bdcdata-fnam = 'UMSFILE'.
    wa_bdcdata-fval = gv_filepath.
    APPEND wa_bdcdata TO lt_bdcdata.
    CLEAR wa_bdcdata.
    *wa_bdcdata-fnam = 'BDC_OKCODE'.
    *wa_bdcdata-fval = 'PASS'.
    *APPEND wa_bdcdata TO lt_bdcdata.
    *CLEAR wa_bdcdata.
    opt-dismode = 'A'.
    opt-updmode = 'S'.
    CALL TRANSACTION 'FF_5' USING lt_bdcdata OPTIONS FROM opt.
    Thanks.
    Regards,
    Jey

  • WAD template with BSP Application - how to read selection screen values

    Hello,
    I've created Web template with Web Application Designer (WAD).
    I would like to extend  that page with BSP Application...
    Purpuse of this application is to read some information from tables
    on BW transaction server and display them within Web page.
    Question: How to read selection screen values from a Web template ?
    Thanks for any help,
    Pawel Borowiec

    Hi,
    The selection screen parameters will be on an inputField, so try and get the is of the inputfield generated by doing View source...
    And once you get the inputfield Id, you can read the value in the InputField(InF) by
    using the following code...!
    data : if_value type ref to cl_htmlb_inputfield.
    data : variable type string.
    if_value ?= cl_htmlb_manager=>get_data( request = request
                                                name    = 'inputField'
                                                id      = 'InF_ID_here'
           if if_value->value is not initial.
             variable  = if_value->value.
           endif.
    Hope this helps.
    <b><i>Do reward each useful answer..!</i></b>
    Thanks,
    Tatvagna.

  • Selection screen value

    can any one suggest, how to capture the selection screen value on the selection screen itself.
    ex : i have parameter (plant) on the selection screen, based on the plant entered by user i need to display the F4 help for the another parameter(MRP controller).
    if the user enters plant 3218 then when requests for F4 help for the parameter MRP controller, then controller values related to that plant need to be displayed as F4 help.
    i had done everything explaned above, but one problem i am facing.
    after entering the plant on the selection screen i need to press the enter key, then if i request for F4 for MRP controller then i am getting the apprpriate values.
    after entering plant if i didnot use enter key and request for F4 help for MRP controller then it is displaying no values.

    Hello Sippy
    The ENTER causes the program flow to pass PAI followed by PBO of the selection-screen. This way the entered value becomes "known" to the report.
    If you enter your plant, do NOT push ENTER and then call the next search help you have to read the entered value from the selection-screen yourself using fm DYNP_VALUES_READ.
    For more details search the forums for this function module, e.g.:
    [Regarding Custom F4 help|Regarding Custom F4 help;
    Regards
      Uwe

  • Dashboard having same query with different selection screen values

    Hi,
    I want to create a dashboard by including different versions (different selection screen values, like yesterday, last week, last month) of same query. Is it possible to achieve it by without creating separate queries? We are in BI 7.
    Thanks in advance
    Nisha

    Hi,
    I want to create a dashboard by including different versions (different selection screen values, like yesterday, last week, last month) of same query. Is it possible to achieve it by without creating separate queries? We are in BI 7.
    Thanks in advance
    Nisha

Maybe you are looking for

  • Please help my 4th gen ipod touch!

    help me please! i have an ipod touch 4th gen and when i click a song it skips and i cant listen to anything i have tryed to restore my ipod and deleted the recent songs i uploaded. what do i do?

  • Problem : Not able to select multiple checkboxes in the JTable

    Here i am trying to select the multiple check boxes in the jtable. But i am not able to do that. I set the jTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); also. Can any one help on this...

  • HT1311 How to change my payment information

    How do I change my payment I don't have creditcard

  • To create material master.

    hi sap guru, While using mm01 t-code it showing thing The company code 0008 does not exist or has not maintened.But Acoording to u I have assign plant to company code.ANd i have also assign omsy,oms2.Please reply me how to over come this. THanks, Raj

  • Keys outof order

    My powerbook G4 was working fine until last week when it suddenly would hang at the grey apple during startup. I booted from the install disk and ran disk utility. It gave me a "keys out of order" message and could not rebuild the B-tree. I tried thi