Get layout variant created in ALV in WDA

Dear all,
I created some layout variant in my ALV table in my WD abap
I need to create an abap report to send the ALV table by mail, and I need to retrieve the layout variant created on the WD and use it in my abap report.
I found the table WDY_CONF_USER and WDY_CONF_USERT but I don't know where are stored the details of the columns of the variant.
These 2 tables are not available by SE16 or SM30.
Do you know if I can use some method of class or something else ?
Thanks for your quick help.
Véronique

Hi,
Before the call to method set_table_for_first_display, populate
wa_variant-report = sy-repid.
Best regards,
Prashant

Similar Messages

  • Delete layout variant in the ALV

    Does anyone know how to delete the function 'layout variant' int the ALV of the ABAP web dynpro?
    So the pulldown menu won't be visible on the header of the ALV screen?

    I found the answer in the model class of the ALV

  • Reg. copying Layout Variants from 1 ALV pgm to another

    Hi Friends,
    I am currently copying an ALV program Ztest1 to ztest2 through ztest5. While doing so I want the LAYOUT variants that are available for ztest1 also to be copied to these other programs.
    All I am aware is that the table LTDX stores all the layout variants for a particular program.
    Could anybody provide me the right inputs on this.
    Thanks in Advance.
    Rgrds,
    Gayathri N.

    I took this approach and it worked for me:
    1) Change your program so that everytime an ALV function is called it is using the original program name in the variant declaration, ensure you keep the original code commented out, you will need to put it back later.  Examples:
      FORM variant_init USING varname TYPE slis_vari.
        CLEAR g_variant.
       g_variant-report = g_repid.
        g_variant-report = 'ORIGINAL_PROGRAM_NAME'.
      FORM f4_for_variant.
       g_variant-report = sy-repid.
        g_variant-report = ‘ORIGINAL_PROGRAM_NAME’.
        CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
      FORM check_variant.
        IF NOT p_vari IS INITIAL.
         g_variant-report  = sy-repid.
          g_variant-report  = ‘ORIGINAL_PROGRAM_NAME’.
          g_variant-variant = p_vari.
          CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
    2) Display function lt_variant_save via SE37, set a breakpoint at the first executable line:
         perform variant_save tables it_fieldcat
    4) Run your program with the layout variant you wish to copy.
    5) Hit Save Variant.  You are now in debug mode.
    6) Enter variable CS_VARIANT-REPORT in the variables 1 panel.
    7) Double-click on CS_VARIANT-REPORT.
    8) Hit the Change Field Content button
    9) Change the value to the name of your new program, then hit Enter.
    10) Hit Execute (F8).  You have now saved the variant under your new program name. 
    11) Exit and rerun your program as necessary for as many variants as you want to copy
    12) Change your program back to using sy-repid (or whatever else it was referencing) wherever you changed it in step 1.
    13) The variants have now been copied and you can run your program with the new variants.

  • Problem with same layout (variant) for two ALV Grid and ALV Tree

    Hello!
    I have two docking containers on the screen. On the left i have cl_gui_alv_tree, on the right cl_salv_table.
    When a user set a default layout for ALV Grid (or ALV Tree), raport starts and sets this layout in both objects (tree and grid).
    How to avoid this?

    Hi,
    Take Two radio buttons.
    First radion button display the two containers in grid format,
    second radio button display the two containers in tree format base on user selection.
    CREATE OBJECT G_DOCING_CONTAINER
        EXPORTING PARENT = G_CUSTOM_CONTAINER."G_CONTAINER.
    DISPLAY THE DATA IN GRID FORMATA
    CREATE OBJECT r_grid
        EXPORTING
          i_parent          = G_DOCING_CONTAINER
    CALL METHOD g_docing_container->set_width
          EXPORTING
            width      = 1300.
    DISPLAY THE GRID DATA IN SECOND CONTAINER
    CREATE OBJECT r_grid1
        EXPORTING
          i_parent          = G_DOCING_CONTAINER
    CALL METHOD g_docing_container->set_width
          EXPORTING
            width      = 1300.
    OTHERWISE WE CAN DISPLAY THE TWO CONTAINERS DATA IN A GRID FORMAT
    CREATE OBJECT g_tree
        EXPORTING
          parent                = g_docing_container"g_custom_container
    IF R1 = 'X'.  "FOR GRID DISPLAY
    CALL METHOD r_grid1->set_table_for_first_display
    CALL METHOD r_grid2->set_table_for_first_display
    ELSE.
    ************TREE DISPLAY
    ENDIF.
    regards,
    muralii

  • Layout Variant Locked

    Hi all.
    When I create a variant for a layout (ALV) the user-specific flag is locked.
    How can I unlock this flag for deselect it?
    All layout that I create are like user-specific.
    Thanks (Obrigado).
    <b>Pedro</b>

    Hi Pedro,
    If you use reports that internally are based on the function module HR_DISPLAY_BASIC_LIST or DISPLAY_BASIC_LIST and you want to create a user independent layout variant for the ALV output, the check box 'user specific' in the dialog is always checked and not changeable.What support pack level your on? you hve to increase the patch level.l refer note 336054 for further info.
    Cheers,
    Shyam

  • How to delete Layout variants

    Dear Experts,
    As we have transaction SHD0 to Create or Delete Transaction and Screen variants. Do we have any transaction to delete layout variant in ALV?
    I have to delete some layout variants in Interactive ALV report.
    Thank You,
    Best Regards
    Venki

    Did you explore?
    Settings > layout > layout management-> Edit - delete layout or trash

  • ALV layout variant missing in background job.

    hi guys,
    Having problem on getting the default ALV layout variant when run the job in backgorund. Please advise any correction needed in the following code.
    Thanks.
    *&  Include           Z_MM_KBR_AGSUBCONINV_MOD2                        *
    MODULE status_0100 OUTPUT.
      SET PF-STATUS '100'.
      SET TITLEBAR '100'.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  display_data  OUTPUT
          text
    MODULE display_data OUTPUT.
    IF sy-batch IS INITIAL. "Foreground
      IF w_container IS INITIAL.
        IF cl_gui_alv_grid=>offline( ) IS INITIAL.
    *Creating the container
          CREATE OBJECT w_container
            EXPORTING
              container_name              = c_container
            EXCEPTIONS
              cntl_error                  = 1
              cntl_system_error           = 2
              create_error                = 3
              lifetime_error              = 4
              lifetime_dynpro_dynpro_link = 5
              OTHERS                      = 6.
          IF sy-subrc <> 0.
         MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
          ENDIF.
        ENDIF.
    *Creating the ALV GRID
        CREATE OBJECT w_grid
          EXPORTING
            i_parent          = w_container
            i_appl_events     = c_check
          EXCEPTIONS
            error_cntl_create = 1
            error_cntl_init   = 2
            error_cntl_link   = 3
            error_dp_create   = 4
            OTHERS            = 5.
        IF sy-subrc <> 0.
         MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
        else.
         exit.
        ENDIF.
      ELSE.
    *Creating the ALV GRID
        CREATE OBJECT w_grid
          EXPORTING
            i_parent          = go_dock_container
            i_appl_events     = c_check
          EXCEPTIONS
            error_cntl_create = 1
            error_cntl_init   = 2
            error_cntl_link   = 3
            error_dp_create   = 4
            OTHERS            = 5.
        IF sy-subrc <> 0.
          WRITE:/ 'Error in grid'.
        ENDIF.
         CREATE OBJECT w_grid
          EXPORTING  i_parent = go_dock_container.
      ENDIF.
    *getting the variant option
        wa_variant-report     = sy-repid.
        wa_variant-username   = sy-uname.
        wa_layout-grid_title  = sy-title.
        wa_layout-cwidth_opt  = c_check.
        wa_layout-zebra       = c_check.
        wa_layout-no_f4       = c_check.
        wa_layout-sel_mode    = 'D'.
    *Excluding the unwanted buttons
         PERFORM exclude_toolbar_buttons.
    build field catalog.
        CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
          EXPORTING
            i_buffer_active        = c_check
            i_structure_name       = c_fcat_str
            i_bypassing_buffer     = c_check
          CHANGING
            ct_fieldcat            = t_fieldcat
          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.
        loop at t_fieldcat into w_fieldcat.
         if w_fieldcat-FIELDNAME = 'AGING1'.
          W_FIELDCAT-NO_ZERO = 'X'.
          MODIFY t_fieldcat FROM W_FIELDCAT INDEX SY-TABIX.
         ENDIF.
        endloop.
    Generate sort critria
        PERFORM generate_sort.
    Create object of class lcl_event_receiver.
        CREATE OBJECT w_event.
    Handler for events.
       SET HANDLER w_event->handle_top_of_page       FOR w_grid.
       SET HANDLER w_event->handle_print_top_of_page FOR w_grid.
       SET HANDLER w_event->handle_print_end_of_list FOR w_grid.
        SET HANDLER w_event->handle_hotspot_click     FOR w_grid.
    *Displaying the alv
       IF NOT sy-batch IS INITIAL.
         PERFORM create_snp.
       ENDIF.
    t_data = i_final.
        CALL METHOD w_grid->set_table_for_first_display
          EXPORTING
            i_save                        = 'A'
            is_layout                     = wa_layout
            is_variant                    = wa_variant
          CHANGING
            it_outtab                     = t_data
            it_fieldcatalog               = t_fieldcat
          EXCEPTIONS
            invalid_parameter_combination = 1
            program_error                 = 2
            too_many_lines                = 3
            OTHERS                        = 4.
        IF sy-subrc <> 0.
        ENDIF.
    ENDIF.
    ENDIF.
    ENDMODULE.                 " display_data  OUTPUT
    *&      Module  user_command_0100  INPUT
          text
    MODULE user_command_0100 INPUT.
      DATA: lt_rows TYPE lvc_t_row,
             w_rows TYPE lvc_s_row.
      CASE sy-ucomm.
        WHEN c_back.
          LEAVE TO SCREEN 0.
        WHEN c_exit.
          LEAVE TO SCREEN 0.
        WHEN c_cancel.
          LEAVE TO SCREEN 0.
       WHEN 'BILDET'.
         CALL METHOD w_grid->get_selected_rows
           IMPORTING
             et_index_rows = lt_rows.
         CALL METHOD cl_gui_cfw=>flush.
         IF sy-subrc EQ 0.
           READ TABLE lt_rows INTO w_rows INDEX 1.
           READ TABLE i_vbfa INTO w_vbfa INDEX w_rows-index.
           IF sy-subrc EQ 0.
             CLEAR i_zbw_br_nf4.
             LOOP AT i_zbw_br_nf3 INTO w_zbw_br_nf3 WHERE
                         refkey = w_vbfa-v_vbeln.
               APPEND w_zbw_br_nf3 TO i_zbw_br_nf4.
             ENDLOOP.
    call dialog screen and display new alv control
             CALL SCREEN 101 STARTING AT 10 5.
           ENDIF.
         ENDIF.
         WHEN 'NOTAF'.
         CALL METHOD w_grid->get_selected_rows
           IMPORTING
             et_index_rows = lt_rows.
         CALL METHOD cl_gui_cfw=>flush.
         IF sy-subrc EQ 0.
           READ TABLE lt_rows INTO w_rows INDEX 1.
           READ TABLE i_zbw_br_nf3 INTO w_zbw_br_nf3 INDEX w_rows-index.
           DATA docnum LIKE j_1bdydoc-docnum.
           docnum = w_zbw_br_nf3-docnum.
           SET PARAMETER ID 'JEF' FIELD docnum.
           CALL TRANSACTION 'J1B3N' AND SKIP FIRST SCREEN.
         ENDIF.
      ENDCASE.
      ENDMODULE.                 " user_command_0100  INPUT
    *&      Form  modify_col_name
          text
         -->P_<FCAT>  text
         -->P_TEXT_H01  text
    FORM modify_col_name  USING  pwa_fcat TYPE lvc_s_fcat
                                 value(pw_text) TYPE any.
      pwa_fcat-coltext   = pw_text.
      pwa_fcat-scrtext_l = pw_text.
      pwa_fcat-scrtext_m = pw_text.
      pwa_fcat-scrtext_s = pw_text.
    ENDFORM.                    " modify_col_name
          FORM display_hotspot                                          *
    FORM display_hotspot USING pw_row_id    TYPE lvc_s_row
                               pw_column_id TYPE lvc_s_col.
      FIELD-SYMBOLS <l_data> TYPE zbrforecast.
    READ TABLE t_br_nf_acum ASSIGNING <l_data> INDEX pw_row_id-index.
    CHECK sy-subrc = 0.
    IF pw_column_id = ' '.
    ENDIF.
    ENDFORM.                    "display_hotspot
    *&      Form  generate_sort
          Genereate Sort criteria
    FORM generate_sort.
    Local variables
    DATA: wal_sort TYPE lvc_s_sort,
           wl_pos   TYPE numc2.
    wl_pos = 01.
    sort ORDER
    wal_sort-spos      = wl_pos.
    wal_sort-fieldname = c_aufnr.
    wal_sort-up        = c_check.
    APPEND wal_sort TO t_sort.
    ENDFORM.                    "generate_sort
    *&      Form  f4_variant
          text
         <--PW_VARI  text
    FORM f4_variant CHANGING pw_vari TYPE disvariant-variant.
    wa_variant-report = sy-cprog.
      CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
        EXPORTING
          is_variant    = wa_variant
          i_save        = c_u
        IMPORTING
          es_variant    = wa_variant
        EXCEPTIONS
          not_found     = 1
          program_error = 2
          OTHERS        = 3.
      IF sy-subrc IS INITIAL.
        pw_vari = wa_variant-variant.
      ELSE.
        MESSAGE s208(00) WITH text-t04.
      ENDIF.
    ENDFORM.                    " f4_variant
    *&      Form  validate_layout
    *This subroutine is to validate the layout
    No parameters are passed to this subroutine
    FORM validate_layout.
    IF NOT p_layout IS INITIAL.
      Check Layout
       wa_variant-report   = sy-repid.
       wa_variant-username = sy-uname.
       wa_variant-variant  = p_layout.
       CALL FUNCTION 'LVC_VARIANT_EXISTENCE_CHECK'
         EXPORTING
           i_save     = c_u
         CHANGING
           cs_variant = wa_variant
         EXCEPTIONS
           OTHERS     = 01.
       IF NOT sy-subrc IS INITIAL.
         SET CURSOR FIELD 'P_LAYOUT'.
         MESSAGE s001(00) WITH text-t06 p_layout.
         STOP.
       ENDIF.
    ELSE.
      clear wa_variant.
    ENDIF.
    ENDFORM.                    " validate_layout
    *&      Form  validate_data
          text
    FORM validate_data .
    PERFORM validate_layout.
    ENDFORM.                    " validate_data

    Hi,
    Before the call to method set_table_for_first_display, populate
    wa_variant-report = sy-repid.
    Best regards,
    Prashant

  • How to get layout name of ALV in Webdynpro

    Hi experts,
    Here's the problem I'm facing.
    In webdynpro ALV setting, user create a personal layout and save it. When changing the layout from 'Standard view' to the new layout. The column (dropdown list of ALV table ) display as the key, acturally it was displayed as description originally. Could you help to solve this problem.
    Or could you tell me what the method of class to get the layout variant. Then I'll add logic in the 'WDDOMODIFYVIEW' of view.
    Thanks a lot advance.
    Best Regards,
    Wang

    HI
    if you are making any change in the layout and saving it it changes to key .
    is it happening like that.
    if yes i guess soemthing is wrong in the logic for creating dropdown cell editor.
    here is the code that i am writing for uding dropdown and no matter what i do it always displays descriptions instead of key
    can you paste yours
    DATA lo_INTERFACECONTROLLER TYPE REF TO IWCI_SALV_WD_TABLE .
    lo_INTERFACECONTROLLER =   wd_this->wd_cpifc_alv( ).
      DATA lo_value TYPE ref to cl_salv_wd_config_table.
      lo_value = lo_interfacecontroller->get_model(
    lo_value->IF_SALV_WD_TABLE_SETTINGS~SET_READ_ONLY( ABAP_FALSE ).
    data col type ref to cl_salv_wd_column.
    data celedi type ref to IF_SALV_WD_TABLE_CELL_EDITOR.
    data dropdown type ref to CL_SALV_WD_UIE_DROPDOWN_BY_KEY.
    create object dropdown
    exporting
      SELECTED_KEY_FIELDNAME = 'NAME'
    col =  lo_value->IF_SALV_WD_COLUMN_SETTINGS~GET_COLUMN( 'NAME' ).
    celedi ?= dropdown.
    col->set_cell_editor( celedi ).
    DATA lo_nd_filter_values TYPE REF TO if_wd_context_node.
      DATA ls_filter_values TYPE REF TO if_wd_context_element.
      lo_nd_filter_values = wd_context->get_child_node( name = wd_this->wdctx_filter_values ).
      ls_filter_values = lo_nd_filter_values->create_element( ).
      ls_filter_values->set_attribute(
        name = `FIELDNAME`
        value = `NAME`    "Attribute name that you want to set filter.
      DATA l_wdy_key_value_table TYPE TABLE OF wdy_key_value.
      DATA l_wdy_key_value TYPE wdy_key_value.
    *Followings are filter values.
      l_wdy_key_value-key = `0`.
      l_wdy_key_value-value = ``.
      APPEND l_wdy_key_value TO l_wdy_key_value_table.
      l_wdy_key_value-key = `1`.
      l_wdy_key_value-value = `AAAA`.
      APPEND l_wdy_key_value TO l_wdy_key_value_table.
      l_wdy_key_value-key = `2`.
      l_wdy_key_value-value = `BBBB`.
      APPEND l_wdy_key_value TO l_wdy_key_value_table.
      l_wdy_key_value-key = `3`.
      l_wdy_key_value-value = `CCCC`.
      APPEND l_wdy_key_value TO l_wdy_key_value_table.
      ls_filter_values->set_attribute(
        name = `T_DROPDOWN_VALUES`
        value = l_wdy_key_value_table
    DATA NFINF TYPE REF TO IF_WD_CONTEXT_NODE_INFO.
    DATA ND1 TYPE REF TO IF_WD_CONTEXT_NODE.
    ND1 = WD_CONTEXT->GET_CHILD_NODE( 'ZDEALER' ).
    NFINF = ND1->GET_NODE_INFO( ).
    NFINF->SET_ATTRIBUTE_VALUE_SET(
    NAME = 'NAME'
    VALUE_SET = l_wdy_key_value_table
    thanks
    sarbjeet singh

  • Unable to save the ALV layout variant and display of selection screen on F4

    Hi All,
    The end user wants to directly select the layout variant (SLIS_VARI). I have used the following code to display the layout variant on selection screen. But, I am unable to save the variant on ALV. Whenever I am trying to select the layout variants (by doing F4 on selection screen) its displaying "No Layout found".
    Following is the code for displaying layout variant:
    PARAMETERS: p_var TYPE slis_vari.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_var.
      PERFORM f4_variant CHANGING p_var.
    FORM f4_variant  CHANGING c_variant TYPE slis_vari.
      DATA: ls_variant TYPE disvariant,
                l_exit     TYPE char1.
      ls_variant-report = sy-repid.
      CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
        EXPORTING
          is_variant = ls_variant
          i_save     = 'A'
        IMPORTING
          e_exit     = l_exit
          es_variant = ls_variant
        EXCEPTIONS
          not_found  = 2.
      IF sy-subrc = 2.
        MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ELSE.
        IF l_exit EQ space.
          c_variant = ls_variant-variant.
        ENDIF.
      ENDIF.
    ENDFORM.                    " f4_variant
    and following is the code for displaying the ALV:
    FORM edition_alv.
      ws_variant2 = ls_variant.
    * Call ALV editor in list mode
      IF p_list = 'X'.
        CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
          EXPORTING
            i_callback_program      = ws_extract1-report
            i_callback_user_command = ws_user_command
            is_layout               = ws_layout
            it_fieldcat             = wt_fieldcat
            it_sort                 = wt_sort
            i_save                  = 'A'
            is_variant              = ws_variant2
            it_events               = wt_events[]
          TABLES
            t_outtab                = wt_edition.
    * Call ALV editor in grid mode
      ELSE.
        CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
          EXPORTING
            i_callback_program      = ws_extract1-report
            i_callback_user_command = ws_user_command
            it_fieldcat             = wt_fieldcat
            it_sort                 = wt_sort
            i_save                  = 'A'
            is_variant              = ws_variant2
            it_events               = wt_events[]
          TABLES
            t_outtab                = wt_edition.
      ENDIF.
    ENDFORM.  
    I am not sure whats going wrong, but I am unable to save variants.
    Please help.
    Thanks,
    Vishal.

    The F4 will display you the existing layouts only. So you need to save the layout first & then execute the report again & check if you are getting F4 values for that field.
    The Layout needs to get stored with variant.
    Regards,
    Mahesh

  • DB Table for Layout Variant in ALV report

    Please help me by providing the table name which will get an entry when we save Layout Variant in ALV(OO ALV grid) output.

    Hi,
    I have seen the table LTDX which is giving me the Variant names for a particular program. Hope this will help you.
    Database table is LTDX
    Database view is V_LTDX.
    Regards,
    Venaktesh

  • Issue in setting layout variant in ALV tables

    Hi,
    I have 2 ALV’s displaying in a view, 1’st is a header data & 2’nd Item data.
    Based on the row selection in the Header ALV, the data is determined and displayed in the 2’nd ALV i.e., the Item data.
    Now the 2’nd ALV (Item data) can contain 20 columns so based on certain requirement I want to save a layout variant with only 10 Columns for display in the 2’nd ALV.
    But the issue what is happening is once I change my row selection in the 1’st ALV (Header data) the layout in the second ALV is refreshing back to the 20 fields EVEN though the name of the variant layout still displays the one I saved earlier.
    I have searched the SCN for this issue and found http://scn.sap.com/thread/1986147, but it does NOT work.
    Could anyone please suggest a solution.
    Thanks & Regards,
    Divaker

    Hi Katrice,
          Thank you for the reply and the links, I will go through them, but please find below the code that I presently have in place, could you please advise if there is anything missing or wrong in here.
    Thanks & Regards,
    Divaker
      lo_cmp_usage =   wd_this->wd_cpuse_pwq_alv( ).
      IF lo_cmp_usage->has_active_component( ) IS INITIAL.
        lo_cmp_usage->create_component( ).
      ENDIF.
      lo_interfacecontroller =   wd_this->wd_cpifc_pwq_alv( ).
    * enable column adjustment
      lv_value = lo_interfacecontroller->get_model( ).
    *-- Get the API reference
      lo_api_interfacecontroller  = lo_interfacecontroller->wd_get_api( ).
      CALL METHOD lo_api_interfacecontroller->get_personalization_manager
        RECEIVING
          pers_manager = lo_pers.
      IF lo_pers IS NOT INITIAL.
        CALL METHOD lo_pers->get_variants
          RECEIVING
            variants = lt_var.
      ENDIF.
      IF lt_var IS NOT INITIAL.
        READ TABLE lt_var INTO ls_var INDEX 1.
        IF sy-subrc = 0.
          ls_config_key-config_id   = ls_var-config_id.
          ls_config_key-config_type = ls_var-config_type.
          ls_config_key-config_var  = ls_var-config_var.
        ENDIF.
        TRY.
            CALL METHOD lo_pers->set_default_variant
              EXPORTING
                config_key = ls_config_key
                set        = abap_true.
          CATCH cx_wd_personalization .
        ENDTRY.
        CALL METHOD lo_pers->load_config_by_key
          EXPORTING
            config_key            = ls_config_key
            fetch_default_variant = abap_true.
      ENDIF.

  • ALV Layout Variant Issue

    Hi Gurus,
    In my ALV report there are two Layout variants.
      a) Default Layout - /DEFAULT created by someone else earlier.
      b) User specific - created and saved by me (name CS Layout)
    I am using this function module
    alv_variant-report = sy-repid.
      alv_variant-username = sy-uname.
    CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
        EXPORTING
          i_save     = 'U'
        CHANGING
          cs_variant = xalv_variant
        EXCEPTIONS
          not_found  = 2.
      IF sy-subrc = 0.
        p_vari = xalv_variant-variant.
      ENDIF.
    PROBLEM: Even though I am passing user specific information to this FM, but it is returning me the Default layout, but
    I want the user specific layout(CS Layout) which I created and saved.
    Please help !

    Hi Chandan,
    alv_variant-report = sy-repid.
      alv_variant-username = sy-uname.
    CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
        EXPORTING
          i_save     = 'U'
        CHANGING
          cs_variant = xalv_variant
        EXCEPTIONS
          not_found  = 2.
      IF sy-subrc = 0.
        p_vari = xalv_variant-variant---------->What does this variable contain.
      ENDIF.
    You are not populating any value to the variable xalv_variant,again you are passing it again to p_vari.
    Check this link once.
    [REUSE_ALV_GRID_DISPLAY - layout variant|REUSE_ALV_GRID_DISPLAY - layout variant;
    Have a look at rich's reply
    Regards,
    Lakshman.

  • Downloading ALV Report using Layout Variant

    I want to download an Alv grid report output using layout varaint to Presentation server and also wants to mail to user .
    i.e...
    I am facing a problem in downloading and in sending mail.
    My requirement is, user  will choose  layout variant
    As per Variant chosen, i have to download that alv grid output to presentation server and also to mail.
    These download and mail sending options is in selction screen
    Will rewards to helpfull ans

    Hello,
    Do like this.
    FORM DOWNLOAD_FILE TABLES P_T_LISTE STRUCTURE G_T_LISTE.
      G_R_DISP_VARIANT-REPORT = SY-REPID.
      G_R_DISP_VARIANT-VARIANT = PA_VAR.
      CALL FUNCTION 'REUSE_ALV_VARIANT_SELECT'
           EXPORTING
                I_DIALOG            = 'N'
                I_USER_SPECIFIC     = 'A'
                I_DEFAULT           = 'X'
                IT_DEFAULT_FIELDCAT = G_T_FIELDCAT
                I_LAYOUT            = G_R_LAYOUT
           IMPORTING
                ET_FIELDCAT         = G_T_FIELDCAT
                ES_LAYOUT           = G_R_LAYOUT
           CHANGING
                CS_VARIANT          = G_R_DISP_VARIANT
           EXCEPTIONS
                ERROR_MESSAGE       = 4
                OTHERS              = 4.
      LOOP AT G_T_FIELDCAT INTO G_R_FIELDCAT WHERE NO_OUT NE 'X'
                                               AND TECH IS INITIAL
                                               AND FIELDNAME NE 'ICON'.
        MOVE-CORRESPONDING G_R_FIELDCAT TO IS_FIELDCAT.
        IS_FIELDCAT-FIELDNAME = G_R_FIELDCAT-FIELDNAME.
        IS_FIELDCAT-INTTYPE   = G_R_FIELDCAT-INTTYPE.
        IS_FIELDCAT-OUTPUTLEN = G_R_FIELDCAT-OUTPUTLEN.
        IS_FIELDCAT-REF_FIELD = G_R_FIELDCAT-FIELDNAME.
        IS_FIELDCAT-REF_TABLE = G_R_FIELDCAT-REF_TABNAME.
        APPEND IS_FIELDCAT TO IT_FIELDCAT.
      ENDLOOP.
      DATA: WA_LISTE LIKE P_T_LISTE.
      CLEAR:IT_OUTTAB.
      REFRESH: IT_OUTTAB.
      LOOP AT P_T_LISTE INTO WA_LISTE.
        WA_OUTTAB-PSPID = WA_LISTE-PSPID .
        WA_OUTTAB-POSID = WA_LISTE-POSID.
        WA_OUTTAB-POST1 = WA_LISTE-POST1.
        WA_OUTTAB-STTXT_INT = WA_LISTE-STTXT_INT.
        WA_OUTTAB-STTXT_EXT = WA_LISTE-STTXT_EXT.
        APPEND WA_OUTTAB TO IT_OUTTAB.
      ENDLOOP.
    **dynamic table creation for data
      ASSIGN LT_DATA TO <FS_DATA>.
    * Create a new Table
      CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
      EXPORTING
            IT_FIELDCATALOG = IT_FIELDCAT
      IMPORTING
            EP_TABLE = <FS_DATA>
      EXCEPTIONS
          GENERATE_SUBPOOL_DIR_FULL = 1
          OTHERS                    = 2.
      IF SY-SUBRC = 0.
        ASSIGN <FS_DATA>->* TO <FS_1>.
        CREATE DATA NEW_LINE LIKE LINE OF <FS_1>.
    *** A field-symbol to access that work area
        ASSIGN NEW_LINE->*  TO <FS_2>.
    **MOVE DATA
        LOOP AT IT_OUTTAB INTO WA_OUTTAB.
          CALL FUNCTION 'CONVERSION_EXIT_ABPSN_OUTPUT'
               EXPORTING
                    INPUT  = WA_OUTTAB-PSPID
               IMPORTING
                    OUTPUT = WA_OUTTAB-PSPID.
          CALL FUNCTION 'CONVERSION_EXIT_ABPSN_OUTPUT'
               EXPORTING
                    INPUT  = WA_OUTTAB-POSID
               IMPORTING
                    OUTPUT = WA_OUTTAB-POSID.
          LOOP AT G_T_FIELDCAT INTO G_R_FIELDCAT
                              WHERE NO_OUT IS INITIAL
                                AND TECH IS INITIAL.
            ASSIGN COMPONENT G_R_FIELDCAT-FIELDNAME OF STRUCTURE
                                                    WA_OUTTAB TO <FS_5>.
            ASSIGN COMPONENT G_R_FIELDCAT-FIELDNAME OF STRUCTURE
                                                    <FS_2> TO <FS_3>.
            <FS_3> = <FS_5>.
          ENDLOOP.
          INSERT <FS_2> INTO TABLE <FS_1>.
        ENDLOOP.
      ELSE.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      OPEN DATASET P_FILE FOR OUTPUT IN TEXT MODE.
      IF SY-SUBRC EQ 0.
        LOOP AT <FS_1> ASSIGNING <FS_2>.
          TRANSFER  <FS_2> TO P_FILE.
        ENDLOOP.
      ELSE.
        MESSAGE E041(S9) WITH P_FILE.
      ENDIF.
      CLOSE DATASET P_FILE.
    ENDFORM.                    " download_file
    * 002 vsm1kor 13.06.06 - en
    Regards,
    Vasanth

  • ALV unwanted data from old layout variant

    All,
    We are using 6.0 and have a customized report that uses ALV.   I have a layout variant I use that contains the field PRICE.   We want to exclude PRICE from this report and the developers have made the code changes.   However, when I execute the report with the old variant the PRICE field appears (in the header and the data).   When I use a variant created after the code change the PRICE field does not appear.
    What needs to be done to eliminate the PRICE from ever showing up when I use the old layout variant?  
    Thanks
    Sandra

    Thank you for your responses.   They were both very helpful.   As I dug into this further, I understand now from my abap developer that to make the code changes per Surendar's e-mail would require a significant amount of code changes in this specific case.  He tried to explain that to me earlier and I didn't understand.  Because we are looking to eliminate this report soon we do not want to make that investment of time. 
    Thank you again for your quick and very helpful responses.
    Sandra

  • Download alv report using layout variant in background

    Hi All,
    I want to download an Alv report using layout varaint in background job.
    can any one please help me.
    i.e...
    I am facing a problem in downloading a text file to the Application server.
    My requirement is, when the user downloads a file with the layout variant, the file should have only the columns which was selected in the variant.
    Will rewards to helpfull ans
    regards
    Chetan

    hey seshu,
    I am facing a problem in downloading a text file to the Application server.
    My requirement is, when the user downloads a file with the layout variant, the file should have only the columns which was selected in the variant.

Maybe you are looking for

  • Error when creating a business activity in SAP BPC 10.1

    Hi Experts, I am failing to save a new business activity in SAP BPC 10.1 when setting up a new business process flow. I can validate the the activity successfully, however when I try to save the activity i receive the following message " Saving the w

  • Does NI-488.2 gpib driver fo Linux work with RedHat 7.2

    ibconf requires libncurses.so.4.0 and in my RedHat 7.2 installation there is libncurses.so.5.0. So ibconf doesn't work

  • BOBI 4.1 SP2 installation with oracle database

    HI,    In our landscape, we have installed installed oracle 11g and we have installed BOBI 4.1 with oracle system user ID for both CMS and Audit. We havent create any separate schema for CMS and Audit database. It was runninf fine but recently we are

  • Help with Syncing/Backup Apps from Mac to iTouch

    I've been predominately buying apps through the iTouch, but last night I decided to buy from my mac and have it sync over the apps. I bought 2 apps and then had itunes sync all my apps. I got a message that I had apps on my itouch that were not in my

  • Accessing data from mutiple databases dynamically in OBIEE

    Hi, Can we access a database column by having its name as a string? Actually i want to connect to multiple databases based on some condition dynamically. I do not want to hard code database columns in the condition i want to read them from configurat