<?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: Variant in Module Pool in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/variant-in-module-pool/m-p/4584241#M1081364</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Check out this sample code , it may be useful. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt; 

*-----------------------------------------------------------------* 
*   TABLES                                                        * 
*-----------------------------------------------------------------* 
TABLES: SPFLI. 

*-----------------------------------------------------------------* 
*   TYPE-POOLS                                                    * 
*-----------------------------------------------------------------* 
TYPE-POOLS: SLIS. 

*-----------------------------------------------------------------* 
*   INTERNAL TABLES                                               * 
*-----------------------------------------------------------------* 
DATA: T_RKEY TYPE STANDARD TABLE OF RSVARKEY WITH HEADER LINE, 
      T_SELCTAB TYPE STANDARD TABLE OF RSSCR WITH HEADER LINE, 
      T_VARI TYPE STANDARD TABLE OF RVARI WITH HEADER LINE, 
      IT_EXTAB TYPE SLIS_T_EXTAB, 
      WA_EXTAB LIKE LINE OF IT_EXTAB. 

*-----------------------------------------------------------------* 
*   VARIABLES                                                     * 
*-----------------------------------------------------------------* 
DATA: OK_CODE TYPE SY-UCOMM, 
      W_VARIANT TYPE RSVAR-VARIANT, 
      W_USER_VARI TYPE RSVAR-VARIANT, 
      W_VARI_REPORT TYPE RSVAR-REPORT, 
      SEL_VARIANT TYPE RSVAR-VARIANT, 
      SEL_VARIANT_TEXT TYPE RSVAR-VTEXT, 
      W_REPORT TYPE RSVAR-REPORT, 
      VARIANT_EXISTS TYPE C. 

*-----------------------------------------------------------------* 
*   SELECTION-SCREEN                                              * 
*-----------------------------------------------------------------* 
SELECTION-SCREEN BEGIN OF SCREEN 101 AS SUBSCREEN. 
SELECT-OPTIONS: S_CARRID FOR SPFLI-CARRID, 
                S_CONNID FOR SPFLI-CONNID. 
SELECTION-SCREEN END OF SCREEN 101. 

*-----------------------------------------------------------------* 
*   INITIALIZATION                                                * 
*-----------------------------------------------------------------* 
INITIALIZATION. 

W_REPORT = SY-REPID. 

PERFORM VARIANT_EXISTS. 

*-----------------------------------------------------------------* 
*   START-OF-SELECTION                                            * 
*-----------------------------------------------------------------* 
START-OF-SELECTION. 

  CALL SCREEN 0100. 

*&amp;amp;----------------------------------------------------------------* 
*&amp;amp;      Module  STATUS_0100  OUTPUT                               * 
*&amp;amp;----------------------------------------------------------------* 
MODULE STATUS_0100 OUTPUT. 

  SET PF-STATUS '100' EXCLUDING IT_EXTAB. 

ENDMODULE.                 " STATUS_0100  OUTPUT 

*&amp;amp;----------------------------------------------------------------* 
*&amp;amp;      Module  USER_COMMAND_0100  INPUT                          * 
*&amp;amp;----------------------------------------------------------------* 
MODULE USER_COMMAND_0100 INPUT. 

  OK_CODE = SY-UCOMM. 
  CASE OK_CODE. 
    WHEN 'SAVE'. 
      PERFORM SAVE_VARIANT. 
      PERFORM VARIANT_EXISTS. 
    WHEN 'BACK'. 
      LEAVE TO SCREEN 0. 
    WHEN 'GET_VAR'. 
      PERFORM LOAD_VARIANT. 
    WHEN 'DEL_VAR'. 
      PERFORM DELETE_VARIANT. 
      PERFORM VARIANT_EXISTS. 
  ENDCASE. 

ENDMODULE.                 " USER_COMMAND_0100  INPUT 

*&amp;amp;----------------------------------------------------------------* 
*&amp;amp;      Form  SAVE_VARIANT                                        * 
*&amp;amp;----------------------------------------------------------------* 
FORM SAVE_VARIANT. 

  T_RKEY-REPORT = SY-REPID. 
  APPEND T_RKEY. 

  CALL FUNCTION 'RS_VARIANT_SAVE_FROM_SELSCREEN' 
       EXPORTING 
            CURR_REPORT          = SY-REPID 
            VARI_REPORT          = SY-REPID 
       IMPORTING 
            VARIANT              = W_VARIANT 
       TABLES 
            P_SSCR               = T_SELCTAB 
            P_VARI               = T_VARI 
       EXCEPTIONS 
            ILLEGAL_VARIANT_NAME = 1 
            NOT_AUTHORIZED       = 2 
            NO_REPORT            = 3 
            REPORT_NOT_EXISTENT  = 4 
            REPORT_NOT_SUPPLIED  = 5 
            OTHERS               = 6. 

  T_RKEY-VARIANT = W_VARIANT. 
  MODIFY T_RKEY INDEX 1. 

  CALL FUNCTION 'RS_RWSET_SAVE_VARIANT' 
       EXPORTING 
            RKEY    = T_RKEY 
       TABLES 
            SELCTAB = T_SELCTAB. 

ENDFORM.                    " SAVE_VARIANT 

*&amp;amp;----------------------------------------------------------------* 
*&amp;amp;      Form  LOAD_VARIANT                                        * 
*&amp;amp;----------------------------------------------------------------* 
FORM LOAD_VARIANT. 

  PERFORM CHOOSE_VARIANT CHANGING SEL_VARIANT. 

  IF SEL_VARIANT NE SPACE. 

    CALL FUNCTION 'RS_SUPPORT_SELECTIONS' 
         EXPORTING 
              REPORT               = W_REPORT 
              VARIANT              = SEL_VARIANT 
         EXCEPTIONS 
              VARIANT_NOT_EXISTENT = 1 
              VARIANT_OBSOLETE     = 2 
              OTHERS               = 3. 

  ENDIF. 

ENDFORM.                    " LOAD_VARIANT 

*&amp;amp;----------------------------------------------------------------* 
*&amp;amp;      Form  DELETE_VARIANT                                      * 
*&amp;amp;----------------------------------------------------------------* 
FORM DELETE_VARIANT. 

  PERFORM CHOOSE_VARIANT CHANGING SEL_VARIANT. 

  IF SEL_VARIANT NE SPACE. 

    CALL FUNCTION 'RS_VARIANT_DELETE' 
         EXPORTING 
              REPORT               = W_REPORT 
              VARIANT              = SEL_VARIANT 
              FLAG_CONFIRMSCREEN   = 'X' 
              FLAG_DELALLCLIENT    = 'X' 
         EXCEPTIONS 
              NOT_AUTHORIZED       = 1 
              NOT_EXECUTED         = 2 
              NO_REPORT            = 3 
              REPORT_NOT_EXISTENT  = 4 
              REPORT_NOT_SUPPLIED  = 5 
              VARIANT_LOCKED       = 6 
              VARIANT_NOT_EXISTENT = 7 
              NO_CORR_INSERT       = 8 
              VARIANT_PROTECTED    = 9 
              OTHERS               = 10. 

  ENDIF. 

ENDFORM.                    " DELETE_VARIANT 

*-----------------------------------------------------------------* 
*       FORM CHOOSE_VARIANT                                       * 
*-----------------------------------------------------------------* 
FORM CHOOSE_VARIANT CHANGING L_SEL_VARIANT. 

  CALL FUNCTION 'RS_VARIANT_CATALOG' 
       EXPORTING 
            REPORT               = W_REPORT 
            MASKED               = 'X' 
       IMPORTING 
            SEL_VARIANT          = L_SEL_VARIANT 
            SEL_VARIANT_TEXT     = SEL_VARIANT_TEXT 
       EXCEPTIONS 
            NO_REPORT            = 1 
            REPORT_NOT_EXISTENT  = 2 
            REPORT_NOT_SUPPLIED  = 3 
            NO_VARIANTS          = 4 
            NO_VARIANT_SELECTED  = 5 
            VARIANT_NOT_EXISTENT = 6 
            OTHERS               = 7. 

ENDFORM. 

*&amp;amp;----------------------------------------------------------------* 
*&amp;amp;      Form  VARIANT_EXISTS                                      * 
*&amp;amp;----------------------------------------------------------------* 
FORM VARIANT_EXISTS. 

CALL FUNCTION 'RS_VARIANT_FOR_ONE_SCREEN' 
       EXPORTING 
            PROGRAM        = W_REPORT 
            DYNNR          = '0101' 
       IMPORTING 
            VARIANT_EXISTS = VARIANT_EXISTS. 

  IF VARIANT_EXISTS EQ 'X'. 
    CLEAR: WA_EXTAB, IT_EXTAB. 
    REFRESH IT_EXTAB. 
  ELSE. 
    CLEAR: WA_EXTAB, IT_EXTAB. 
    REFRESH IT_EXTAB. 
    WA_EXTAB-FCODE = 'GET_VAR'. 
    APPEND WA_EXTAB TO IT_EXTAB. 
  ENDIF. 

ENDFORM.                    " VARIANT_EXISTS 
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 30 Sep 2008 07:03:48 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-09-30T07:03:48Z</dc:date>
    <item>
      <title>Variant in Module Pool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/variant-in-module-pool/m-p/4584238#M1081361</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to create a variant for modulepool program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have used different function modules to achieve that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;now im able to get the pop-up window when i select the variant button(F2) on selection-screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The thing is when i select the variant from variant popup window the values are not displaying on the selection screen fields rather the next screen is displaying.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pls anyone tell me how to display the values on the selection screen fields.&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,&lt;/P&gt;&lt;P&gt;Shaik sha vali.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Sep 2008 12:55:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/variant-in-module-pool/m-p/4584238#M1081361</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-29T12:55:26Z</dc:date>
    </item>
    <item>
      <title>Re: Variant in Module Pool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/variant-in-module-pool/m-p/4584239#M1081362</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Shake Sha Vali,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check out anywhere else whether you select 'SKIP FIRST SCREEN' option.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;R.Nagarajan.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Sep 2008 06:16:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/variant-in-module-pool/m-p/4584239#M1081362</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-30T06:16:17Z</dc:date>
    </item>
    <item>
      <title>Re: Variant in Module Pool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/variant-in-module-pool/m-p/4584240#M1081363</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hai,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   it possible to edit selection screen 1000. so goto screen 1000 flow logic and write the code that u want there for f2 , f8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;shan.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Sep 2008 06:33:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/variant-in-module-pool/m-p/4584240#M1081363</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-30T06:33:14Z</dc:date>
    </item>
    <item>
      <title>Re: Variant in Module Pool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/variant-in-module-pool/m-p/4584241#M1081364</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Check out this sample code , it may be useful. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt; 

*-----------------------------------------------------------------* 
*   TABLES                                                        * 
*-----------------------------------------------------------------* 
TABLES: SPFLI. 

*-----------------------------------------------------------------* 
*   TYPE-POOLS                                                    * 
*-----------------------------------------------------------------* 
TYPE-POOLS: SLIS. 

*-----------------------------------------------------------------* 
*   INTERNAL TABLES                                               * 
*-----------------------------------------------------------------* 
DATA: T_RKEY TYPE STANDARD TABLE OF RSVARKEY WITH HEADER LINE, 
      T_SELCTAB TYPE STANDARD TABLE OF RSSCR WITH HEADER LINE, 
      T_VARI TYPE STANDARD TABLE OF RVARI WITH HEADER LINE, 
      IT_EXTAB TYPE SLIS_T_EXTAB, 
      WA_EXTAB LIKE LINE OF IT_EXTAB. 

*-----------------------------------------------------------------* 
*   VARIABLES                                                     * 
*-----------------------------------------------------------------* 
DATA: OK_CODE TYPE SY-UCOMM, 
      W_VARIANT TYPE RSVAR-VARIANT, 
      W_USER_VARI TYPE RSVAR-VARIANT, 
      W_VARI_REPORT TYPE RSVAR-REPORT, 
      SEL_VARIANT TYPE RSVAR-VARIANT, 
      SEL_VARIANT_TEXT TYPE RSVAR-VTEXT, 
      W_REPORT TYPE RSVAR-REPORT, 
      VARIANT_EXISTS TYPE C. 

*-----------------------------------------------------------------* 
*   SELECTION-SCREEN                                              * 
*-----------------------------------------------------------------* 
SELECTION-SCREEN BEGIN OF SCREEN 101 AS SUBSCREEN. 
SELECT-OPTIONS: S_CARRID FOR SPFLI-CARRID, 
                S_CONNID FOR SPFLI-CONNID. 
SELECTION-SCREEN END OF SCREEN 101. 

*-----------------------------------------------------------------* 
*   INITIALIZATION                                                * 
*-----------------------------------------------------------------* 
INITIALIZATION. 

W_REPORT = SY-REPID. 

PERFORM VARIANT_EXISTS. 

*-----------------------------------------------------------------* 
*   START-OF-SELECTION                                            * 
*-----------------------------------------------------------------* 
START-OF-SELECTION. 

  CALL SCREEN 0100. 

*&amp;amp;----------------------------------------------------------------* 
*&amp;amp;      Module  STATUS_0100  OUTPUT                               * 
*&amp;amp;----------------------------------------------------------------* 
MODULE STATUS_0100 OUTPUT. 

  SET PF-STATUS '100' EXCLUDING IT_EXTAB. 

ENDMODULE.                 " STATUS_0100  OUTPUT 

*&amp;amp;----------------------------------------------------------------* 
*&amp;amp;      Module  USER_COMMAND_0100  INPUT                          * 
*&amp;amp;----------------------------------------------------------------* 
MODULE USER_COMMAND_0100 INPUT. 

  OK_CODE = SY-UCOMM. 
  CASE OK_CODE. 
    WHEN 'SAVE'. 
      PERFORM SAVE_VARIANT. 
      PERFORM VARIANT_EXISTS. 
    WHEN 'BACK'. 
      LEAVE TO SCREEN 0. 
    WHEN 'GET_VAR'. 
      PERFORM LOAD_VARIANT. 
    WHEN 'DEL_VAR'. 
      PERFORM DELETE_VARIANT. 
      PERFORM VARIANT_EXISTS. 
  ENDCASE. 

ENDMODULE.                 " USER_COMMAND_0100  INPUT 

*&amp;amp;----------------------------------------------------------------* 
*&amp;amp;      Form  SAVE_VARIANT                                        * 
*&amp;amp;----------------------------------------------------------------* 
FORM SAVE_VARIANT. 

  T_RKEY-REPORT = SY-REPID. 
  APPEND T_RKEY. 

  CALL FUNCTION 'RS_VARIANT_SAVE_FROM_SELSCREEN' 
       EXPORTING 
            CURR_REPORT          = SY-REPID 
            VARI_REPORT          = SY-REPID 
       IMPORTING 
            VARIANT              = W_VARIANT 
       TABLES 
            P_SSCR               = T_SELCTAB 
            P_VARI               = T_VARI 
       EXCEPTIONS 
            ILLEGAL_VARIANT_NAME = 1 
            NOT_AUTHORIZED       = 2 
            NO_REPORT            = 3 
            REPORT_NOT_EXISTENT  = 4 
            REPORT_NOT_SUPPLIED  = 5 
            OTHERS               = 6. 

  T_RKEY-VARIANT = W_VARIANT. 
  MODIFY T_RKEY INDEX 1. 

  CALL FUNCTION 'RS_RWSET_SAVE_VARIANT' 
       EXPORTING 
            RKEY    = T_RKEY 
       TABLES 
            SELCTAB = T_SELCTAB. 

ENDFORM.                    " SAVE_VARIANT 

*&amp;amp;----------------------------------------------------------------* 
*&amp;amp;      Form  LOAD_VARIANT                                        * 
*&amp;amp;----------------------------------------------------------------* 
FORM LOAD_VARIANT. 

  PERFORM CHOOSE_VARIANT CHANGING SEL_VARIANT. 

  IF SEL_VARIANT NE SPACE. 

    CALL FUNCTION 'RS_SUPPORT_SELECTIONS' 
         EXPORTING 
              REPORT               = W_REPORT 
              VARIANT              = SEL_VARIANT 
         EXCEPTIONS 
              VARIANT_NOT_EXISTENT = 1 
              VARIANT_OBSOLETE     = 2 
              OTHERS               = 3. 

  ENDIF. 

ENDFORM.                    " LOAD_VARIANT 

*&amp;amp;----------------------------------------------------------------* 
*&amp;amp;      Form  DELETE_VARIANT                                      * 
*&amp;amp;----------------------------------------------------------------* 
FORM DELETE_VARIANT. 

  PERFORM CHOOSE_VARIANT CHANGING SEL_VARIANT. 

  IF SEL_VARIANT NE SPACE. 

    CALL FUNCTION 'RS_VARIANT_DELETE' 
         EXPORTING 
              REPORT               = W_REPORT 
              VARIANT              = SEL_VARIANT 
              FLAG_CONFIRMSCREEN   = 'X' 
              FLAG_DELALLCLIENT    = 'X' 
         EXCEPTIONS 
              NOT_AUTHORIZED       = 1 
              NOT_EXECUTED         = 2 
              NO_REPORT            = 3 
              REPORT_NOT_EXISTENT  = 4 
              REPORT_NOT_SUPPLIED  = 5 
              VARIANT_LOCKED       = 6 
              VARIANT_NOT_EXISTENT = 7 
              NO_CORR_INSERT       = 8 
              VARIANT_PROTECTED    = 9 
              OTHERS               = 10. 

  ENDIF. 

ENDFORM.                    " DELETE_VARIANT 

*-----------------------------------------------------------------* 
*       FORM CHOOSE_VARIANT                                       * 
*-----------------------------------------------------------------* 
FORM CHOOSE_VARIANT CHANGING L_SEL_VARIANT. 

  CALL FUNCTION 'RS_VARIANT_CATALOG' 
       EXPORTING 
            REPORT               = W_REPORT 
            MASKED               = 'X' 
       IMPORTING 
            SEL_VARIANT          = L_SEL_VARIANT 
            SEL_VARIANT_TEXT     = SEL_VARIANT_TEXT 
       EXCEPTIONS 
            NO_REPORT            = 1 
            REPORT_NOT_EXISTENT  = 2 
            REPORT_NOT_SUPPLIED  = 3 
            NO_VARIANTS          = 4 
            NO_VARIANT_SELECTED  = 5 
            VARIANT_NOT_EXISTENT = 6 
            OTHERS               = 7. 

ENDFORM. 

*&amp;amp;----------------------------------------------------------------* 
*&amp;amp;      Form  VARIANT_EXISTS                                      * 
*&amp;amp;----------------------------------------------------------------* 
FORM VARIANT_EXISTS. 

CALL FUNCTION 'RS_VARIANT_FOR_ONE_SCREEN' 
       EXPORTING 
            PROGRAM        = W_REPORT 
            DYNNR          = '0101' 
       IMPORTING 
            VARIANT_EXISTS = VARIANT_EXISTS. 

  IF VARIANT_EXISTS EQ 'X'. 
    CLEAR: WA_EXTAB, IT_EXTAB. 
    REFRESH IT_EXTAB. 
  ELSE. 
    CLEAR: WA_EXTAB, IT_EXTAB. 
    REFRESH IT_EXTAB. 
    WA_EXTAB-FCODE = 'GET_VAR'. 
    APPEND WA_EXTAB TO IT_EXTAB. 
  ENDIF. 

ENDFORM.                    " VARIANT_EXISTS 
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Sep 2008 07:03:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/variant-in-module-pool/m-p/4584241#M1081364</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-30T07:03:48Z</dc:date>
    </item>
  </channel>
</rss>

