<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: ABAP code for creating a report variant in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-code-for-creating-a-report-variant/m-p/3219251#M767711</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-003.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_var  TYPE variant DEFAULT '/GENERAL',&lt;/P&gt;&lt;P&gt;            p_dvar TYPE variant DEFAULT '/DOWNLOAD'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_dvar.&lt;/P&gt;&lt;P&gt;  PERFORM f_get_f4_variants USING gc_a&lt;/P&gt;&lt;P&gt;                                  text-086&lt;/P&gt;&lt;P&gt;                         CHANGING p_var.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_get_f4_variants USING rc_a   TYPE gty_char01&lt;/P&gt;&lt;P&gt;                             rv_text TYPE any&lt;/P&gt;&lt;P&gt;                    CHANGING rv_var TYPE variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_layout_variant TYPE disvariant.&lt;/P&gt;&lt;P&gt;  ls_layout_variant = sy-repid.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_F4'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      is_variant    = ls_layout_variant&lt;/P&gt;&lt;P&gt;      i_save        = rc_a&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      es_variant    = ls_layout_variant&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      not_found     = 1&lt;/P&gt;&lt;P&gt;      program_error = 2&lt;/P&gt;&lt;P&gt;      OTHERS        = 3.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 2.&lt;/P&gt;&lt;P&gt;    MESSAGE i000 WITH rv_text.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    rv_var = ls_layout_variant-variant.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_GET_F4_VARIANTS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Validating alv variants&lt;/P&gt;&lt;P&gt; AT SELECTION-SCREEN ON p_var.&lt;/P&gt;&lt;P&gt;  PERFORM f_check_variants_exist USING p_var&lt;/P&gt;&lt;P&gt;                                       text-086.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_check_variants_exist USING rv_var  TYPE variant&lt;/P&gt;&lt;P&gt;                                  rv_text TYPE any.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA ls_variant type disvariant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT rv_var IS INITIAL.&lt;/P&gt;&lt;P&gt;    MOVE: sy-repid TO ls_variant-report,&lt;/P&gt;&lt;P&gt;          rv_var   TO ls_variant-variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_save        = 'A'&lt;/P&gt;&lt;P&gt;      CHANGING&lt;/P&gt;&lt;P&gt;        cs_variant    = ls_variant&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        wrong_input   = 1&lt;/P&gt;&lt;P&gt;        not_found     = 2&lt;/P&gt;&lt;P&gt;        program_error = 3&lt;/P&gt;&lt;P&gt;        OTHERS        = 4.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e000 WITH rv_text.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_check_variants_exist&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 07 Jan 2008 08:55:27 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-01-07T08:55:27Z</dc:date>
    <item>
      <title>ABAP code for creating a report variant</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-code-for-creating-a-report-variant/m-p/3219250#M767710</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I would like to create parameter on selection screen type SLIS_VARI. I would like that the program will start with pre-defined variant in ALV grid, the same as it is on standard stock report (MB52)...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can someone tell me how to do this, and where to put the code?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;Saso&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Jan 2008 08:50:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-code-for-creating-a-report-variant/m-p/3219250#M767710</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-07T08:50:47Z</dc:date>
    </item>
    <item>
      <title>Re: ABAP code for creating a report variant</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-code-for-creating-a-report-variant/m-p/3219251#M767711</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-003.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_var  TYPE variant DEFAULT '/GENERAL',&lt;/P&gt;&lt;P&gt;            p_dvar TYPE variant DEFAULT '/DOWNLOAD'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_dvar.&lt;/P&gt;&lt;P&gt;  PERFORM f_get_f4_variants USING gc_a&lt;/P&gt;&lt;P&gt;                                  text-086&lt;/P&gt;&lt;P&gt;                         CHANGING p_var.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_get_f4_variants USING rc_a   TYPE gty_char01&lt;/P&gt;&lt;P&gt;                             rv_text TYPE any&lt;/P&gt;&lt;P&gt;                    CHANGING rv_var TYPE variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_layout_variant TYPE disvariant.&lt;/P&gt;&lt;P&gt;  ls_layout_variant = sy-repid.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_F4'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      is_variant    = ls_layout_variant&lt;/P&gt;&lt;P&gt;      i_save        = rc_a&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      es_variant    = ls_layout_variant&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      not_found     = 1&lt;/P&gt;&lt;P&gt;      program_error = 2&lt;/P&gt;&lt;P&gt;      OTHERS        = 3.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 2.&lt;/P&gt;&lt;P&gt;    MESSAGE i000 WITH rv_text.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    rv_var = ls_layout_variant-variant.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_GET_F4_VARIANTS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Validating alv variants&lt;/P&gt;&lt;P&gt; AT SELECTION-SCREEN ON p_var.&lt;/P&gt;&lt;P&gt;  PERFORM f_check_variants_exist USING p_var&lt;/P&gt;&lt;P&gt;                                       text-086.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_check_variants_exist USING rv_var  TYPE variant&lt;/P&gt;&lt;P&gt;                                  rv_text TYPE any.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA ls_variant type disvariant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT rv_var IS INITIAL.&lt;/P&gt;&lt;P&gt;    MOVE: sy-repid TO ls_variant-report,&lt;/P&gt;&lt;P&gt;          rv_var   TO ls_variant-variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_save        = 'A'&lt;/P&gt;&lt;P&gt;      CHANGING&lt;/P&gt;&lt;P&gt;        cs_variant    = ls_variant&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        wrong_input   = 1&lt;/P&gt;&lt;P&gt;        not_found     = 2&lt;/P&gt;&lt;P&gt;        program_error = 3&lt;/P&gt;&lt;P&gt;        OTHERS        = 4.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e000 WITH rv_text.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_check_variants_exist&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Jan 2008 08:55:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-code-for-creating-a-report-variant/m-p/3219251#M767711</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-07T08:55:27Z</dc:date>
    </item>
    <item>
      <title>Re: ABAP code for creating a report variant</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-code-for-creating-a-report-variant/m-p/3219252#M767712</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the code for variant as parameter and F4 help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: g_repid LIKE sy-repid,&lt;/P&gt;&lt;P&gt;      g_dynnr LIKE sy-dynnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: g_save(1) TYPE c VALUE 'A',&lt;/P&gt;&lt;P&gt;      g_exit(1) TYPE c,&lt;/P&gt;&lt;P&gt;      gx_variant LIKE disvariant,&lt;/P&gt;&lt;P&gt;      g_variant LIKE disvariant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_vari LIKE disvariant-variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  g_repid = sy-repid.&lt;/P&gt;&lt;P&gt;  g_dynnr = sy-dynnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM variant_init.&lt;/P&gt;&lt;P&gt;*Get default variant&lt;/P&gt;&lt;P&gt;  gx_variant = g_variant.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_save     = g_save&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      cs_variant = gx_variant&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      not_found  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    p_vari = gx_variant-variant.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  AT SELECTION SCREEN                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;*--PAI of selection screen&lt;/P&gt;&lt;P&gt;  PERFORM pai_of_selection_screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---F4 option for report variant&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.&lt;/P&gt;&lt;P&gt;  PERFORM f4_for_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     SUB-ROUTINES                                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM variant_init.&lt;/P&gt;&lt;P&gt;  CLEAR g_variant.&lt;/P&gt;&lt;P&gt;  g_variant-report = g_repid.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " variant_init&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM pai_of_selection_screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT p_vari IS INITIAL.&lt;/P&gt;&lt;P&gt;    MOVE g_variant TO gx_variant.&lt;/P&gt;&lt;P&gt;    MOVE p_vari TO gx_variant-variant.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_save     = g_save&lt;/P&gt;&lt;P&gt;      CHANGING&lt;/P&gt;&lt;P&gt;        cs_variant = gx_variant.&lt;/P&gt;&lt;P&gt;    g_variant = gx_variant.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM variant_init.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " pai_of_selection_screen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_F4'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      is_variant = g_variant&lt;/P&gt;&lt;P&gt;      i_save     = g_save&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      e_exit     = g_exit&lt;/P&gt;&lt;P&gt;      es_variant = gx_variant&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      not_found  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 2.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE 'S'      NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF g_exit = space.&lt;/P&gt;&lt;P&gt;      p_vari = gx_variant-variant.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AND pass this gx_variant to ALV Function module.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rewards points if helpful.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Srinivas ch&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Jan 2008 08:57:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-code-for-creating-a-report-variant/m-p/3219252#M767712</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-07T08:57:08Z</dc:date>
    </item>
  </channel>
</rss>

