<?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: about function module in alv in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/about-function-module-in-alv/m-p/1626280#M279841</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;lets assume my selection screen field  for variant is&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;PARAMETERS : P_VARI TYPE DISVARIANT-VARIANT. 
   "Layout
this is used to have one of the already saved variants to be displayed.


about&amp;lt;b&amp;gt; 'REUSE_ALV_VARIANT_DEFAULT_GET'&amp;lt;/b&amp;gt;
this is used to get any default layout variant exists or not. we normally call this FM in INITIALIZATION Event.

*----------------------------------------------------------------------*
*                  INITIALIZATION
*----------------------------------------------------------------------*
&amp;lt;b&amp;gt;INITIALIZATION.&amp;lt;/b&amp;gt;

  V_REPID = SY-REPID.
  V_VARIANT_SAVE = 'A'.
  CLEAR V_VARIANT.
  V_VARIANT-REPORT = V_REPID.
*-- Default-Variant
  V_DEF_VARIANT = V_VARIANT.
  CALL FUNCTION &amp;lt;b&amp;gt;'REUSE_ALV_VARIANT_DEFAULT_GET'&amp;lt;/b&amp;gt;
    EXPORTING
      I_SAVE     = V_VARIANT_SAVE
    CHANGING
      CS_VARIANT = V_DEF_VARIANT
    EXCEPTIONS
      NOT_FOUND  = 2.
  IF SY-SUBRC = 0.
    P_VARI = V_DEF_VARIANT-VARIANT.
  ENDIF.


another FM &amp;lt;b&amp;gt;'REUSE_ALV_VARIANT_F4'&amp;lt;/b&amp;gt;
this is to give F4 help to the user to choose one of the layouts,which already saved.

*-- F4 help for Variant
&amp;lt;b&amp;gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.
  PERFORM F4_FOR_VARIANT.&amp;lt;/b&amp;gt;
*----------------------------------------------------------------------*
*       FORM  F4_FOR_VARIANT                                           *
*----------------------------------------------------------------------*
*       Provide F4 help for the Variant                                *
*----------------------------------------------------------------------*
FORM F4_FOR_VARIANT .

  CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
    EXPORTING
      IS_VARIANT    = V_VARIANT
      I_SAVE        = V_VARIANT_SAVE
    IMPORTING
      E_EXIT        = V_VARIANT_EXIT
      ES_VARIANT    = V_DEF_VARIANT
    EXCEPTIONS
      NOT_FOUND     = 1
      PROGRAM_ERROR = 2
      OTHERS        = 3.
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    MESSAGE ID SY-MSGID TYPE 'S' NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ELSE.
    IF V_VARIANT_EXIT = SPACE.
      P_VARI = V_DEF_VARIANT-VARIANT.
    ENDIF.
  ENDIF.
ENDFORM.                    " F4_FOR_VARIANT

and while calling the ALV function module,

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM = V_REPID
      IT_FIELDCAT        = IT_FIELDCAT
      I_DEFAULT          = 'X'
      I_SAVE             = 'A'
&amp;lt;b&amp;gt;      IS_VARIANT         = V_VARIANT&amp;lt;/b&amp;gt; 
   TABLES
      T_OUTTAB           = P_ITAB[]
    EXCEPTIONS
      PROGRAM_ERROR      = 1
      OTHERS             = 2.
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Srikanth Kidambi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 15 Sep 2006 09:04:00 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-09-15T09:04:00Z</dc:date>
    <item>
      <title>about function module in alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/about-function-module-in-alv/m-p/1626279#M279840</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hai all&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;iwant to know about few function modules in alv&lt;/P&gt;&lt;P&gt;1) reuse_alv_default_varients_get.&lt;/P&gt;&lt;P&gt;2)reuse alv_varients_f4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;what is the use of these function modules&lt;/P&gt;&lt;P&gt;how to use these function modules, what r the structures used to use these function module. where to pass this in &lt;/P&gt;&lt;P&gt;in list and grid display function modules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;plz help me.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks &amp;amp; regards&lt;/P&gt;&lt;P&gt;sindu&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Sep 2006 08:59:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/about-function-module-in-alv/m-p/1626279#M279840</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-09-15T08:59:00Z</dc:date>
    </item>
    <item>
      <title>Re: about function module in alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/about-function-module-in-alv/m-p/1626280#M279841</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;lets assume my selection screen field  for variant is&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;PARAMETERS : P_VARI TYPE DISVARIANT-VARIANT. 
   "Layout
this is used to have one of the already saved variants to be displayed.


about&amp;lt;b&amp;gt; 'REUSE_ALV_VARIANT_DEFAULT_GET'&amp;lt;/b&amp;gt;
this is used to get any default layout variant exists or not. we normally call this FM in INITIALIZATION Event.

*----------------------------------------------------------------------*
*                  INITIALIZATION
*----------------------------------------------------------------------*
&amp;lt;b&amp;gt;INITIALIZATION.&amp;lt;/b&amp;gt;

  V_REPID = SY-REPID.
  V_VARIANT_SAVE = 'A'.
  CLEAR V_VARIANT.
  V_VARIANT-REPORT = V_REPID.
*-- Default-Variant
  V_DEF_VARIANT = V_VARIANT.
  CALL FUNCTION &amp;lt;b&amp;gt;'REUSE_ALV_VARIANT_DEFAULT_GET'&amp;lt;/b&amp;gt;
    EXPORTING
      I_SAVE     = V_VARIANT_SAVE
    CHANGING
      CS_VARIANT = V_DEF_VARIANT
    EXCEPTIONS
      NOT_FOUND  = 2.
  IF SY-SUBRC = 0.
    P_VARI = V_DEF_VARIANT-VARIANT.
  ENDIF.


another FM &amp;lt;b&amp;gt;'REUSE_ALV_VARIANT_F4'&amp;lt;/b&amp;gt;
this is to give F4 help to the user to choose one of the layouts,which already saved.

*-- F4 help for Variant
&amp;lt;b&amp;gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.
  PERFORM F4_FOR_VARIANT.&amp;lt;/b&amp;gt;
*----------------------------------------------------------------------*
*       FORM  F4_FOR_VARIANT                                           *
*----------------------------------------------------------------------*
*       Provide F4 help for the Variant                                *
*----------------------------------------------------------------------*
FORM F4_FOR_VARIANT .

  CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
    EXPORTING
      IS_VARIANT    = V_VARIANT
      I_SAVE        = V_VARIANT_SAVE
    IMPORTING
      E_EXIT        = V_VARIANT_EXIT
      ES_VARIANT    = V_DEF_VARIANT
    EXCEPTIONS
      NOT_FOUND     = 1
      PROGRAM_ERROR = 2
      OTHERS        = 3.
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    MESSAGE ID SY-MSGID TYPE 'S' NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ELSE.
    IF V_VARIANT_EXIT = SPACE.
      P_VARI = V_DEF_VARIANT-VARIANT.
    ENDIF.
  ENDIF.
ENDFORM.                    " F4_FOR_VARIANT

and while calling the ALV function module,

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM = V_REPID
      IT_FIELDCAT        = IT_FIELDCAT
      I_DEFAULT          = 'X'
      I_SAVE             = 'A'
&amp;lt;b&amp;gt;      IS_VARIANT         = V_VARIANT&amp;lt;/b&amp;gt; 
   TABLES
      T_OUTTAB           = P_ITAB[]
    EXCEPTIONS
      PROGRAM_ERROR      = 1
      OTHERS             = 2.
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Srikanth Kidambi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Sep 2006 09:04:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/about-function-module-in-alv/m-p/1626280#M279841</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-09-15T09:04:00Z</dc:date>
    </item>
    <item>
      <title>Re: about function module in alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/about-function-module-in-alv/m-p/1626281#M279842</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;- reuse_alv_default_varients_get: it returns the default layout variant, so you can inizialize the parameters you have to transfer to the ALV:&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;&lt;/P&gt;&lt;P&gt;DATA:  G_SAVE(1) TYPE C VALUE 'A',&lt;/P&gt;&lt;P&gt;       GX_VARIANT LIKE DISVARIANT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  GX_VARIANT-REPORT = SY-REPID.&lt;/P&gt;&lt;P&gt;  GX_VARIANT-USERNAME = SY-UNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;            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 = 0.&lt;/P&gt;&lt;P&gt;    P_VARI = GX_VARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CLEAR GX_VARIANT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) reuse alv_varients_f4 is to manage the search help for layout variant:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  G_VARIANT-REPORT   = SY-REPID.&lt;/P&gt;&lt;P&gt;  G_VARIANT-USERNAME = SY-UNAME.&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;    CLEAR: G_VARIANT, GX_VARIANT.&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;Max&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Sep 2006 09:06:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/about-function-module-in-alv/m-p/1626281#M279842</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-09-15T09:06:20Z</dc:date>
    </item>
    <item>
      <title>Re: about function module in alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/about-function-module-in-alv/m-p/1626282#M279843</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi sindu,&lt;/P&gt;&lt;P&gt;answer to 2)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;try this extract:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: COMMENT 01(30) T_VARIAN.&lt;/P&gt;&lt;P&gt;PARAMETERS:       P_VARIAN LIKE DISVARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END   OF LINE.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;DATA: VARIANT    LIKE DISVARIANT.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARIAN.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  DATA:       I_VARIANT  LIKE DISVARIANT.&lt;/P&gt;&lt;P&gt;  DATA:       E_VARIANT  LIKE DISVARIANT.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  I_VARIANT-REPORT = SY-REPID.&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    = I_VARIANT&lt;/P&gt;&lt;P&gt;            I_SAVE        = 'A'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            ES_VARIANT    = E_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;*&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE I010 WITH 'Es sind keine Varianten angelegt'.&lt;/P&gt;&lt;P&gt;    CLEAR: P_VARIAN.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    P_VARIAN = E_VARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  T_VARIAN    = 'Anzeigevariante'.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;  VARIANT-VARIANT               = P_VARIAN.&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;             IS_VARIANT               = VARIANT&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;Regards, Dieter&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Sep 2006 09:08:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/about-function-module-in-alv/m-p/1626282#M279843</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-09-15T09:08:40Z</dc:date>
    </item>
    <item>
      <title>Re: about function module in alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/about-function-module-in-alv/m-p/1626283#M279844</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi Priya,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this out&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/use-simple-alv-functions-to-make-reporting-easy.htm" target="test_blank"&gt;http://www.sap-img.com/abap/use-simple-alv-functions-to-make-reporting-easy.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Santosh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Sep 2006 09:12:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/about-function-module-in-alv/m-p/1626283#M279844</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-09-15T09:12:29Z</dc:date>
    </item>
    <item>
      <title>Re: about function module in alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/about-function-module-in-alv/m-p/1626284#M279845</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;check this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT Z_TEST_alv_variant .&lt;/P&gt;&lt;P&gt;TYPE-POOLS : SLIS.&lt;/P&gt;&lt;P&gt;PARAMETERS: ONE RADIOBUTTON GROUP G1 DEFAULT 'X',&lt;/P&gt;&lt;P&gt;            TWO RADIOBUTTON GROUP G1.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_TAB OCCURS 0,&lt;/P&gt;&lt;P&gt;FIELD1 TYPE I,&lt;/P&gt;&lt;P&gt;FIELD2 TYPE I,&lt;/P&gt;&lt;P&gt;END OF I_TAB.&lt;/P&gt;&lt;P&gt;DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;DATA: L_VARIANT TYPE DISVARIANT,&lt;/P&gt;&lt;P&gt;      LX_VARIANT LIKE DISVARIANT,&lt;/P&gt;&lt;P&gt;      L_SAVE TYPE C,&lt;/P&gt;&lt;P&gt;      L_EXIT(1) TYPE C.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK 0 WITH FRAME TITLE TEXT-VAR.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_VARI LIKE DISVARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK 0.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  L_SAVE = 'A'.&lt;/P&gt;&lt;P&gt;  PERFORM VARIANT_INIT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get default variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LX_VARIANT = L_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     = L_SAVE&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      CS_VARIANT = LX_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 = LX_VARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Process on value request&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;  I_TAB-FIELD1 = 19.&lt;/P&gt;&lt;P&gt;  I_TAB-FIELD2 = 20.&lt;/P&gt;&lt;P&gt;  APPEND I_TAB.&lt;/P&gt;&lt;P&gt;  I_TAB-FIELD1 = 19.&lt;/P&gt;&lt;P&gt;  I_TAB-FIELD2 = 20.&lt;/P&gt;&lt;P&gt;  APPEND I_TAB.&lt;/P&gt;&lt;P&gt;  I_TAB-FIELD1 = 19.&lt;/P&gt;&lt;P&gt;  I_TAB-FIELD2 = 20.&lt;/P&gt;&lt;P&gt;  APPEND I_TAB.&lt;/P&gt;&lt;P&gt;  I_TAB-FIELD1 = 19.&lt;/P&gt;&lt;P&gt;  I_TAB-FIELD2 = 20.&lt;/P&gt;&lt;P&gt;  APPEND I_TAB.&lt;/P&gt;&lt;P&gt;  I_TAB-FIELD1 = 19.&lt;/P&gt;&lt;P&gt;  I_TAB-FIELD2 = 20.&lt;/P&gt;&lt;P&gt;  APPEND I_TAB.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  PERFORM INITIALIZE_FIELDCAT USING GT_FIELDCAT[].&lt;/P&gt;&lt;P&gt;  PERFORM CALL_ALV  TABLES I_TAB[]&lt;/P&gt;&lt;P&gt;                   USING GT_FIELDCAT.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form initialize_fieldcat&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;text&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;P_GT_FIELDCAT[] text&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 INITIALIZE_FIELDCAT USING L_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-FIELDNAME = 'FIELD1'.&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-KEY = 'X'.&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-COL_POS = 1.&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-SELTEXT_S = 'Work center'.&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-SELTEXT_L = 'Work center'.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  APPEND LS_FIELDCAT TO L_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR LS_FIELDCAT.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-FIELDNAME = 'FIELD2'.&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-KEY = ' '.&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-COL_POS = 2.&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-SELTEXT_S = 'Work center2'.&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-SELTEXT_L = 'Work center2'.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  APPEND LS_FIELDCAT TO L_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR LS_FIELDCAT.&lt;/P&gt;&lt;P&gt;ENDFORM. " initialize_fieldcat&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  call_alv&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      text&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_GT_FIELDCAT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_I_TAB  text&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 CALL_ALV  TABLES   P_TAB&lt;/P&gt;&lt;P&gt;                USING    P_GT_FIELDCAT .&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_CALLBACK_PROGRAM = SY-REPID&lt;/P&gt;&lt;P&gt;      IT_FIELDCAT        = P_GT_FIELDCAT&lt;/P&gt;&lt;P&gt;      I_DEFAULT          = 'X'&lt;/P&gt;&lt;P&gt;      IS_VARIANT         = L_VARIANT&lt;/P&gt;&lt;P&gt;      I_SAVE             = L_SAVE&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      T_OUTTAB           = P_TAB[]&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      PROGRAM_ERROR      = 1&lt;/P&gt;&lt;P&gt;      OTHERS             = 2.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " call_alv&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  VARIANT_INIT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      text&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;*&lt;/P&gt;&lt;P&gt;  CLEAR L_VARIANT.&lt;/P&gt;&lt;P&gt;  L_VARIANT-REPORT = SY-REPID.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " VARIANT_INIT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  variant_SELECTION_SCREEN&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      text&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_SELECTION_SCREEN .&lt;/P&gt;&lt;P&gt;  IF NOT P_VARI IS INITIAL.&lt;/P&gt;&lt;P&gt;    MOVE L_VARIANT TO LX_VARIANT.&lt;/P&gt;&lt;P&gt;    MOVE P_VARI TO LX_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     = L_SAVE&lt;/P&gt;&lt;P&gt;      CHANGING&lt;/P&gt;&lt;P&gt;        CS_VARIANT = LX_VARIANT.&lt;/P&gt;&lt;P&gt;    L_VARIANT = LX_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;ENDFORM.                    " variant_SELECTION_SCREEN&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F4_FOR_VARIANT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      text&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 F4_FOR_VARIANT.&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 = L_VARIANT&lt;/P&gt;&lt;P&gt;      I_SAVE     = L_SAVE&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      E_EXIT     = L_EXIT&lt;/P&gt;&lt;P&gt;      ES_VARIANT = LX_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 L_EXIT = SPACE.&lt;/P&gt;&lt;P&gt;      P_VARI = LX_VARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "F4_FOR_VARIANT&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Laxmi.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Sep 2006 09:24:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/about-function-module-in-alv/m-p/1626284#M279845</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-09-15T09:24:44Z</dc:date>
    </item>
  </channel>
</rss>

