Selection-screen functionality

Hi,
I have 2 questions regarding selection-screens:
1. I have 2 select-options like this in my selection-screen:
Matnr:  s_matnr
Vendor: s_lifnr
How can I make a check that if Matnr is filled then Vendor has to be filled as well and vice versa ?
2. I want to take the interval of data from a select-option and create the records in an internal table:
example
Contract no:  From 45000000 To 45000025
All the records that are contracts (document cat. = K) from that interval have to be appended to an internal table.

Hi Peter ,
SELECTION-SCREEN :
  BEGIN OF BLOCK b1 WITH FRAME TITLE tit.
parameters:
  p_matnr TYPE marc-matnr,
  P_WERKS TYPE MARC-WERKS,
  p_lifnr TYPE lfa1-lifnr.
SELECTION-SCREEN END OF BLOCK b1.
WRITE: 10 p_lifnr.
INITIALIZATION.
  MOVE 'Material-Plant' TO tit.
AT SELECTION-SCREEN ON p_matnr.
  PERFORM validate_material.
AT SELECTION-SCREEN ON p_werks.
  PERFORM validate_plant.
AT SELECTION-SCREEN." ON block b1.
  PERFORM validate_material_plant_comb.
FORM validate_material .
  DATA
    lw_matnr TYPE matnr.
  IF  p_matnr IS NOT INITIAL.
    SELECT SINGLE matnr
      INTO lw_matnr
      FROM mara
     WHERE matnr EQ p_matnr.
    IF sy-subrc NE 0.
      MESSAGE e000(PP) WITH p_matnr.
    ENDIF.
  ENDIF.
ENDFORM.                    " validate_material
FORM validate_plant .
  DATA
   lw_werks TYPE werks.
  IF p_werks IS NOT INITIAL.
    SELECT SINGLE werks
      INTO lw_werks
      FROM t001w
     WHERE werks EQ p_werks.
    IF sy-subrc NE 0.
      MESSAGE e272(61) WITH p_werks.
    ENDIF.
  ENDIF.
ENDFORM.                    " validate_plant
FORM validate_material_plant_comb .
  DATA:
   lw_matnr TYPE matnr,
   lw_werks TYPE werks.
  IF p_matnr IS NOT INITIAL
  AND p_werks IS NOT INITIAL.
    SELECT SINGLE matnr
      INTO lw_matnr
      FROM marc
     WHERE werks EQ p_werks
       AND matnr EQ p_matnr.
    IF sy-subrc NE 0.
      MESSAGE e707(12) WITH p_matnr p_werks.
    ENDIF.
  ENDIF.
ENDFORM.                    " validate_material_plant_comb
I have done it with parameters You just convert into select options.
This Validates the user before giving output
Regards
Swapna,
Edited by: NagaSwapna Thota on Jun 28, 2008 12:10 PM
Edited by: NagaSwapna Thota on Jun 28, 2008 12:11 PM

Similar Messages

  • Selection-screen function key  dynamically ?

    Dear all,
    I wonder if it is possible to have a function key dynamically appearing on the selection screen of an ABAP. For example the button for reading the documentation of an ABAP is shown dynamically only if there is a documenation available.
    I have tried several methods at SELECTION-SCREEN OUTPUT
    - SET PF-STATUS EXCLUDING 'FC0x' : no reaction
    - Blanking the icon via CLEAR: SSCRFIELDS-FUNCTXT: Result blank button
    - In LOOP AT SCREEN nothing can be found concerning function keys.
    I assume that the crucial point is the SELECTION-SCREEN FUNCTION KEY statement, which generates the button.
    Thanx for your help
    Rabanus Diehl

    You mention about the 'Documentation' button.
    However, SE38 is a dialog program so this why it is easy to do. You are writing a report program. You could have the pushbutton on the screen itseld instead of the status bar. You should then be able to use LOOP AT SCREEN to hide. Here is some code to put a pushbutton on a screen.
    INCLUDE <list>.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN PUSHBUTTON 01(35) garment
      USER-COMMAND garment.
    SELECTION-SCREEN END OF LINE.
    INITIALIZATION.
      PERFORM f_setup_pushbutton_text USING icon_execute_object text-s01
                                      CHANGING garment.
    FORM f_setup_pushbutton_text USING    p_icon
                                          p_text
                                 CHANGING p_result.
      DATA: l_result(50).
      CALL FUNCTION 'ICON_CREATE'
           EXPORTING
                name                  = p_icon
                text                  = p_text
                add_stdinf            = space
           IMPORTING
                RESULT                = l_result
           EXCEPTIONS
                EXCEPTIONS
                icon_not_found        = 1
                outputfield_too_short = 2
                OTHERS                = 3.
      IF sy-subrc EQ 0. ENDIF.
      p_result = l_result.
    ENDFORM.                               " F_SETUP_PUSHBUTTON_TEXT

  • InfoObject Hierarchy selection screen function

    How would I find a function/method for displaying a BW infoobject, like cost center (/BI0/HCOSTCENTER), for a user selection screen in a group/hierarchy format? Similar to BEx hierarchy selection for node level. Are there any example programs for doing this?
    Edited by: A. Berkey on Mar 2, 2011 11:13 AM

    You mention about the 'Documentation' button.
    However, SE38 is a dialog program so this why it is easy to do. You are writing a report program. You could have the pushbutton on the screen itseld instead of the status bar. You should then be able to use LOOP AT SCREEN to hide. Here is some code to put a pushbutton on a screen.
    INCLUDE <list>.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN PUSHBUTTON 01(35) garment
      USER-COMMAND garment.
    SELECTION-SCREEN END OF LINE.
    INITIALIZATION.
      PERFORM f_setup_pushbutton_text USING icon_execute_object text-s01
                                      CHANGING garment.
    FORM f_setup_pushbutton_text USING    p_icon
                                          p_text
                                 CHANGING p_result.
      DATA: l_result(50).
      CALL FUNCTION 'ICON_CREATE'
           EXPORTING
                name                  = p_icon
                text                  = p_text
                add_stdinf            = space
           IMPORTING
                RESULT                = l_result
           EXCEPTIONS
                EXCEPTIONS
                icon_not_found        = 1
                outputfield_too_short = 2
                OTHERS                = 3.
      IF sy-subrc EQ 0. ENDIF.
      p_result = l_result.
    ENDFORM.                               " F_SETUP_PUSHBUTTON_TEXT

  • Selection-screen functionality in dialog screen

    SELECT-OPTIONS pr_matnr FOR lv_matnr-matnr.
    What this does is display a 'From' and 'To' field, plus a little right-hand arrow to allow additional ranges to be added. I'm trying to achieve the same but within a dialog screen. Anyone?.
    I just know that I'm going to kick myself when I find out how to do it, but I have all but given up searching for it. Perhaps it's just a bad day and I've chosen the wrong search params.
    thanks.

    Hi.
    I tried this at my system and the following seems to work
    1) Create a report that defines a subscreen:
    REPORT ztst.
    TABLES mara.
    SELECTION-SCREEN BEGIN OF SCREEN 1010 AS SUBSCREEN.
    SELECT-OPTIONS: s_matnr FOR mara-matnr.
    SELECTION-SCREEN END OF SCREEN 1010.
    2) Call this subscreen from your dialog screen
    in PBO:
    CALL SUBSCREEN subscreen_1 INCLUDING 'ZTST' '1010'.
    in PAI:
    CALL SUBSCREEN subscreen_1.
    Reward if helpfull...
    Cheers,
    Sundar.

  • Function Keys on Selection-Screen

    Hi,
    I used function keys in one of my report program.
    Now, if some check box is checked in the customization that function should be displayed, otherwise shouldnot be displayed.
    I made use of "loop at screen" to make that application button invisible but i don't know the name of the button. I have given the name as same given while creating the button using "SSCRFIELDS".
    Is there anyy other way to disable the button??
    Regards,
    Yadesh

    Hi,
    Your requirement can be solved with two approaches:
    1) simpler one is to use different GUI statuses depending on checkbox state
    AT SELECTION-SCREEN OUTPUT.
    refresh it_exclude.
    if checkbox = 'X'.
      append 'BUTTON_FCODE'.
    endif.
    "you in turn swith on/off your desired button
    CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'
        EXPORTING
          p_status  = 'GUI_STATUS'
          p_program = sy-repid
        TABLES
          p_exclude = it_exclude.
    2) as SELECTION-SCREEN FUNCTION KEY n statement cannot be processed within PAI/PBO block you cannot set it dynamically like
    AT SELECTION-SCREEN.
    IF check = 'X' .
    SELECTION-SCREEN FUNCTION KEY n.
    ELSE.
    "no selection button here
    ENDIF.
    Moreover you cannot change standard application toolbar of selection screen within Loop at screen statement (this will only affect selection screen parameters not toolbar).
    The only way here is dynamically generate report's code. When checkbox is check what you do is
    data: it_code type table of char72 with header line.
    READ REPORT sy-repid INTO it_code.
    Then looping through the code table you either remove entry having SELECTION-SCREEN FUNCTION KEY n. or add it to the table.
    Finally you switch reports code with
    INSERT REPORT sy-repid FROM it_code.
    And execute new one with
    SUBMIT (sy-repid).
    This will ensure that new SELECTION-SCREEN parameters (or function keys in your case can be switched and report will be executed with new screen look).
    Nevetherless be carefull! You need to ensure that submit will not create and endless loop. ABAP Memory will help you here (exchange flags within program indicating whether program is executed for the first time or another one).
    Hope this will give you some idea how to solve it.
    Regards
    Marcin

  • Using FUnction keys on selection screen

    Hi All,
    I want to submit a report if the user presses any assigned function key when he is on the selection screen of a t-code.
    how can i capture the commands of function key on selection screen.

    hi
    try below code
    TABLES sscrfields.
    INITIALIZATION.
    PARAMETERS : p_1 TYPE c.
    SELECTION-SCREEN : FUNCTION KEY 1.
    SSCRFIELDS-FUNCTXT_01 = 'Report'.
    SELECTION-SCREEN : FUNCTION KEY 2.
    SSCRFIELDS-FUNCTXT_02 = 'Report2'.
    AT SELECTION-SCREEN.
      IF sscrfields-ucomm = 'FC01'.
        SUBMIT ZXXX1 VIA SELECTION-SCREEN AND RETURN.
      ENDIF.
      IF sscrfields-ucomm = 'FC01'.
        SUBMIT ZXXX2 VIA SELECTION-SCREEN AND RETURN.
      ENDIF.

  • Tooltip on pushbutton on alv report selection screen

    Hi Experts,
    I have a selection screen with two pushbuttons i want to provide tooltip on this button when user takes his cursor on it .. some part of my code
    Selection screen:
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.
    SELECTION-SCREEN: BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(20) text-t02 FOR FIELD p_info.
    PARAMETERS: p_info TYPE string.
    SELECTION-SCREEN: PUSHBUTTON 68(10) but1 USER-COMMAND cli1.
    SELECTION-SCREEN : END OF LINE.
    PARAMETERS:      r_exe_im  RADIOBUTTON GROUP rb1.
    PARAMETERS:      r_st  RADIOBUTTON GROUP rb1.
    SELECTION-SCREEN SKIP 1.
    SELECTION-SCREEN: PUSHBUTTON /1(20) exec1 USER-COMMAND cli2.
    SELECTION-SCREEN: FUNCTION KEY 1.
    SELECTION-SCREEN END OF BLOCK b1.
    please tell me on these selection fields how to display tool tip.
    Thanks and regards,
    Roshan.

    Hi,
    After completing your executable program in SE38, activate it and goto SE51(Screen painter).
    Here give the name of your program and screen number as 1000.
    Click on Change.
    Goto Element List Tab.
    Here you will find all your elements from your program.
    Select the required element and click on Properties.
    Here you will find a Tooltip Text property. Click on the button 'Text' of this property.
    You will be given 2 options 1) Text from Text element 2) Text from Variable
    Enter as per requirement
    Save and Activate.
    Hope this will be useful
    Regards
    Bhupal

  • Problem while hide a block on selection screen on button press

    Hi,
    I have added two buttons on the application toolbar of the selection screen. I have input fields under two blocks on the selection-screen. Initially the second block is hidden. If I press the button 1 the second block should be made visible.
    For this to happen, I captured the button 1 click event using the following statement.
    IF sscrfields-ucomm = 'FC01'.
    Inside the if ... endif, I looped at the screen and made the second block visible. It was working fine.
    loop at screen.
      if screen-group4 = '013'.
         screen-invisible = 1.
         screen-active    = 0.
      endif.
    endloop.
    Later the second button was added. Now when i run the report for the first time, if button 2 is clicked the hidden block appears on the selection screen even though i have not added any code for it.
    Just to check, i commented the logic to display the hidden block on button 1 click event. Even without any code the first time i press any of the two buttons added on the application toolbar the hidden block is displayed.
    I saved a variant for the report.
    During execution of the report, if i select any variant then the hidden block is displayed.
    Can anyone please tell me how to fix this problem.
    Regards,
    T2.

    Hi All,
    The problem is solved.
    Everyone was confusing between the pushbutton on the selectio-screen and on apllication toolbar
    (where you have the execute icon).
    Please find the code below. Thanks for you time and help. I appreciate it.
    REPORT ztest.
    INCLUDE <icon>.
    *  TABLES                                                              *
    TABLES: t001,              " Company Codes
            lfa1,              " Vendor Master (General Section)
            sscrfields.        " Fields on selection screens
    * To capture button press event.
    DATA: gv_button_press       TYPE c.
    * Menu Painter: Program interface for dynamic texts
    DATA: gs_dyntxt             TYPE smp_dyntxt.
    *  SELECTION SCREEN                                                    *
    SELECTION-SCREEN FUNCTION KEY 1.
    SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-s01.
    * Company Code.
    SELECTION-SCREEN BEGIN OF BLOCK ccode WITH FRAME TITLE text-s02.
    SELECT-OPTIONS: s_bukrs FOR t001-bukrs OBLIGATORY MEMORY ID buk.
    SELECTION-SCREEN END OF BLOCK ccode.
    SELECTION-SCREEN END OF BLOCK blk1.
    SELECTION-SCREEN BEGIN OF BLOCK dsel WITH FRAME TITLE text-s04.
    * Vendor Master.
    SELECTION-SCREEN BEGIN OF BLOCK vend WITH FRAME TITLE text-s07.
    SELECT-OPTIONS: s_konzs FOR lfa1-konzs MODIF ID aw1.
    SELECT-OPTIONS: s_txcd1 FOR lfa1-stcd1 MODIF ID aw1.
    SELECT-OPTIONS: s_txcd2 FOR lfa1-stcd2 MODIF ID aw1.
    SELECTION-SCREEN END OF BLOCK vend.
    SELECTION-SCREEN END OF BLOCK dsel.
    * INITIALIZATION                                                       *
    INITIALIZATION.
    * Populate the Application toolbar button attributes.
      PERFORM populate_app_toolbar_buttons.
    * Hide the dynamic screen intially.
      PERFORM hide_screenfields.
    * AT SELECTION SCREEN                                                  *
    AT SELECTION-SCREEN.
    * Capture the button press event.
      PERFORM capture_button_press.
    * AT SELECTION-SCREEN OUTPUT.                                          *
    AT SELECTION-SCREEN OUTPUT.
    * Show/Hide the dynamic selection screen based on button press.
      PERFORM adapt_screen.
    *&  Form  populate_app_toolbar_buttons                                 *
    *   Display Icon on the application toolbar buttons. Also set the      *
    *   function codes for these buttons.                                  *
    FORM populate_app_toolbar_buttons.
      CLEAR gs_dyntxt.
      WRITE icon_fencing     TO gs_dyntxt-icon_id AS ICON.
      MOVE  text-b01         TO gs_dyntxt-quickinfo.   " Dynamic Selections
      MOVE gs_dyntxt         TO sscrfields-functxt_01.
    ENDFORM.                    " populate_app_toolbar_buttons
    *&  Form  hide_screenfields                                            *
    *   Initially hide the Dynamic selection screen.                       *
    FORM hide_screenfields.
      LOOP AT SCREEN.
        IF screen-group1 = 'AW1'.
          screen-invisible = '1'.
          screen-active    = '0'.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    ENDFORM.                    " hide_screenfields
    *&  Form  capture_button_press                                         *
    *   Set the flag based on button press event. Appication bar button    *
    *   tcode is available only at 'At Selection-screen' event.            *
    *   Use the captured data at 'At Selection-screen Output' event.       *
    *   Screen adjustments is possible only under this event.              *
    FORM capture_button_press.
      IF sscrfields-ucomm = 'FC01'.
        IF gv_button_press IS INITIAL.
          gv_button_press = 'X'.
        ELSEIF gv_button_press EQ 'X'.
          CLEAR gv_button_press.
        ENDIF.
      ENDIF.
    ENDFORM.                    " capture_button_press
    *&  Form  adapt_screen                                                 *
    *   Show/Hide the dynamic selection screen based on button press       *
    *   captured at 'At selection-screen' event.                           *
    FORM adapt_screen.
    * If button press flag is initial hide the dynamic selection screen.
      IF gv_button_press IS INITIAL.
        LOOP AT SCREEN.
          IF screen-group1 = 'AW1'.
            screen-invisible = '1'.
            screen-active    = '0'.
          ENDIF.
          MODIFY SCREEN.
        ENDLOOP.
    * Elseif button press flag is 'X' show the dynamic selection screen.
      ELSEIF gv_button_press EQ 'X'.
        LOOP AT SCREEN.
          IF screen-group1 = 'AW1'.
            screen-invisible = '0'.
            screen-active    = '1'.
          ENDIF.
          MODIFY SCREEN.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " adapt_screen
    Regards,
    T2
    Message was edited by: Titu Joseph

  • Error during creation of push button on selection screen

    Hi,
    I wanted to create push buttons on selection screen,
    Code:
    DATA DB1 TYPE VBAP-WERKS.
    DATA DB2 TYPE MARA-MATNR.
    SELECT-OPTIONS : SPLANT FOR DB1,
                                    SCLASS FOR DB2.
    SELECTION-SCREEN:  FUNCTION KEY 1,
                                        FUNCTION KEY 2,
                                        FUNCTION KEY 3.
    INITIALIZATION.
    DATA FUNCTXT TYPE SMP_DYNTXT.
    CLEAR FUNCTXT.
    DATA: FUNCTXT_01 TYPE SSCRFIELDS-FUNCTXT_01.
    FUNCTXT-TEXT = 'DEL'.
    SSCRFIELDS-FUNCTXT_01 = FUNCTXT.
    CLEAR FUNCTXT.
    FUNCTXT-TEXT = 'EDIT'.
    SSCRFIELDS-FUNCTXT_02 = FUNCTXT.
    CLEAR FUNCTXT.
    FUNCTXT-TEXT = 'CRE'.
    SSCRFIELDS-FUNCTXT_03 = FUNCTXT.
    But during activating, I'm getting the error as : Field "SSCRFIELDS-FUNCTXT_01" is unknown. It is neither in one of the specified tables nor defined by "DATA" statement.
    Please suggest solutions to overcome this error.
    Regards
    Darshan MS

    Hi,
    trans. for examples of selection screen : BIBS
    regards
    Fred

  • Add a button in report selection screen

    Hi Experts,
         I want to add a userdefined button in report selection screen....so far i have written code like this,...
    TABLES : sscrfields.
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-010.
    PARAMETERS: P_ID LIKE ZBAPITABLE-ID,
                P_NM LIKE ZBAPITABLE-NAME.
    SELECTION-SCREEN END OF BLOCK B1.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-020.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT (11) TEXT-001 FOR FIELD R1.
    PARAMETERS: R1 RADIOBUTTON GROUP G1.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT (10) TEXT-002 FOR FIELD R1.
    PARAMETERS: R2 RADIOBUTTON GROUP G1.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT (10) TEXT-003 FOR FIELD R1.
    PARAMETERS: R3 RADIOBUTTON GROUP G1.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT (10) TEXT-004 FOR FIELD R1.
    PARAMETERS: R4 RADIOBUTTON GROUP G1.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK B2.
    SELECTION-SCREEN: FUNCTION KEY 1.
    MOVE 'SAVE' TO sscrfields-functxt_01.
    If i use code like this button was added in application tool bar
    but in my selection screen i have  two blocks ....in first block i have input fields, and in second there is set of radio buttons...Just below that i want to put one button ....how it is possible...
    can anyone plz help me?
    Regards,
    veena.

    Here's th docu link:
    [Pushbuttons on the Selection Screen|http://help.sap.com/saphelp_nw70/helpdata/en/9f/dba81635c111d1829f0000e829fbfe/frameset.htm]
    Regards,
    Clemens

  • Selection-Screen F1 Help

    HI Abapers,
         My requirement is, in the selection-screen i want to have a push button next to execute button with icon ICON_INFORMATION from table ICON displayed on it. On the click of the Push button a sepeate window has to be opened which displays the Documentation of the program. How to achieve it .Situable answers will be rewarded.
    Regards,
    Kasi S

    hai,
      this is the coding for keeping pushbutton on application toolbar.
    TABLES sscrfields.
    PARAMETERS: p_carrid TYPE s_carr_id,
                p_cityfr TYPE s_from_cit.
    SELECTION-SCREEN: FUNCTION KEY 1,
                      FUNCTION KEY 2.
    INITIALIZATION.
      sscrfields-functxt_01 = 'LH'.
      sscrfields-functxt_02 = 'UA'.
    AT SELECTION-SCREEN.
      CASE sscrfields-ucomm.
          WHEN'FC01'.
          p_carrid = 'LH'.
          p_cityfr = 'Frankfurt'.
        WHEN 'FC02'.
          p_carrid = 'UA'.
          p_cityfr = 'Chicago'.
      ENDCASE.
    START-OF-SELECTION.
      WRITE / 'START-OF-SELECTION'.
    Message was edited by:
            tamilarasan kandasamy

  • Button in a selection screen

    Can someone give an example of create a pushbuttom in a selection screen 1000? I draw the button with screen painter and i assign a function code.
    Which event is triggered when i push the button??? AT-USER COMMAND ??? I think that isn't because is in the selection-screen.
    thanks,
    SILVIa

    Hi
    TABLES: SSCRFIELDS.
    If you need a pushbuttom on the screen:
    SELECTION-SCREEN PUSHBUTTON X(Y) <NAME> USER-COMMAND <COMMAND>.
    X is the distance from the left border and Y is the lenght.
    INITIALIZATION.
    <NAME> = 'My Buttom'.
    If you need it on the status:
    SELECTION-SCREEN FUNCTION KEY N.
    with N is from 1 to 5.
    INITIALIZATION.
    MOVE 'My Buttom' TO SSCRFIELDS-FUNCTXT_0<N>.
    Manage the ok-code in the AT SELECTION-SCREEN event
    AT SELECTION-SCREEN.
      IF SSCRFIELDS-UCOMM = <CODE>.
      ENDIF.
    Max

  • Dynamic Selection option in the selection screen

    Hi ,
    I have a requirement like this ....
    The user wants some fields to be default available in the selection screen. But they also want to be able to select the data based on additional fields (all the remaining fields ) which they want to see in the dynamic selection .
    The basic list for selections should be limited to the fields listed in the specifications provided to me and the remaining fields should be made available through the dynamic selection option.
    In the transaction FBL3N , this facility is provided.
    Kindly help me with this..
    thanks,
    Sumit .

    Hi Sumit,
    To include dynamic selection check this sample code.
    TYPE POOLS DECLARATIONS FOR VALUE REQUEST MANAGER AND ICONS
    TYPE-POOLS : vrm,
                 icon.
    *SELECTION SCREEN FIELDS
    TABLES : sscrfields.*GLOBAL DECLARATIONS
    DATA : flag TYPE c,
          tablename(10),
          mmtable LIKE dd02l-tabname,
          sdtable LIKE dd02l-tabname,
          hrtable LIKE dd02l-tabname.*DECLARATIONS FOR SELECTION SCREEN STATUS
    DATA it_ucomm TYPE TABLE OF sy-ucomm.***********SELECTION-SCREENS**********************
    SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME.*FOR DYNAMIC DISPLAY OF MODULES
    PARAMETERS :  pa RADIOBUTTON GROUP rad USER-COMMAND com MODIF ID mod,
                  pb RADIOBUTTON GROUP rad MODIF ID rad,
                  pc RADIOBUTTON GROUP rad MODIF ID cad.SELECTION-SCREEN SKIP.**TO INCLUDE DYNAMIC ICONS
    SELECTION-SCREEN COMMENT 2(6) text_001.*DYNAMIC LIST BOX BASED ON USER SELECTIONS
    PARAMETERS one AS LISTBOX VISIBLE LENGTH 20  MODIF ID mod.
    PARAMETERS two AS LISTBOX VISIBLE LENGTH 20   MODIF ID rad.
    PARAMETERS three AS LISTBOX VISIBLE LENGTH 20 MODIF ID cad.SELECTION-SCREEN END OF BLOCK blk1.*DISPLAY DYNAMIC PUSHBUTTON ON APP TOOLBAR ON USER CLICKS
    SELECTION-SCREEN: FUNCTION KEY 1,
                      FUNCTION KEY 2,
                      FUNCTION KEY 3.**EVENT ON SELECTION SCREEN FOR OUTPUT DISPLAY
    AT SELECTION-SCREEN OUTPUT.*CLICK OF FIRST RADIO BUTTON
      IF pa = 'X'.
        sscrfields-functxt_01 = 'Materials Management'.
        WRITE icon_plant AS ICON TO text_001.
    *CODE TO GET DYNAMICS BASED ON THE SELECTED RADIO
        LOOP AT SCREEN.
          IF screen-group1 = 'MOD'.
            screen-intensified = '1'.
            screen-active = 1.
            screen-display_3d = '1'.
            MODIFY SCREEN.
          ENDIF.
          IF screen-group1 = 'RAD'.
            screen-intensified = '0'.
            screen-active = 0.
            screen-display_3d = '0'.
            MODIFY SCREEN.
          ENDIF.
          IF screen-group1 = 'CAD'.
            screen-intensified = '0'.
            screen-active = 0.
            screen-display_3d = '0'.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
      ENDIF.*CLICK OF SECOND RADIO
      IF pb = 'X'.
        sscrfields-functxt_02 = 'Sales And Distribution'.
        WRITE icon_ws_ship AS ICON TO text_001.
        LOOP AT SCREEN.
          IF screen-group1 = 'RAD'.
            screen-intensified = '1'.
            screen-active = 1.
            screen-display_3d = '1'.
            MODIFY SCREEN.
          ENDIF.
          IF screen-group1 = 'MOD'.
            screen-intensified = '0'.
            screen-active = 0.
            screen-display_3d = '0'.
            MODIFY SCREEN.
          ENDIF.
          IF screen-group1 = 'CAD'.
            screen-intensified = '0'.
            screen-active = 0.
            screen-display_3d = '0'.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
      ENDIF.*CLICK OF THIRD RADIO
      IF pc = 'X'.
        sscrfields-functxt_03 = 'Human Resources'.
        WRITE icon_new_employee AS ICON TO text_001.
        LOOP AT SCREEN.
          IF screen-group1 = 'RAD'.
            screen-intensified = '0'.
            screen-active = 0.
            screen-display_3d = '0'.
            MODIFY SCREEN.
          ENDIF.
          IF screen-group1 = 'MOD'.
            screen-intensified = '0'.
            screen-active = 0.
            screen-display_3d = '0'.
            MODIFY SCREEN.
          ENDIF.
          IF screen-group1 = 'CAD'.
            screen-intensified = '1'.
            screen-active = 1.
            screen-display_3d = '1'.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
      ENDIF.*CUSTOMISING THE TOOLBARS OF THE SELECTION SCREEN
    *WITH F8 BUTTON DISABLED  APPEND :  'PRIN' TO it_ucomm,
                'SPOS' TO it_ucomm,
                'ONLI' TO it_ucomm.  CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'
        EXPORTING
          p_status  = sy-pfkey
        TABLES
          p_exclude = it_ucomm.
    **EVENT ON THE SELECTION
    AT SELECTION-SCREEN.* LIST BOX ONE VALUES
      CASE one.
        WHEN '1'.
          mmtable = 'MARC'.
        WHEN '2'.
          mmtable = 'MARA'.
        WHEN '3'.
          mmtable = 'MARD'.
        WHEN '4'.
          mmtable = 'MARM'.
      ENDCASE.* LIST BOX TWO VALUES
      CASE two.
        WHEN '1'.
          sdtable = 'VBAK'.
        WHEN '2'.
          sdtable = 'VBAP'.
        WHEN '3'.
          sdtable = 'VBUK'.
        WHEN '4'.
          sdtable = 'VBUP'.
      ENDCASE.* LIST BOX THREE VALUES
      CASE three.
        WHEN '1'.
          hrtable = 'PA0001'.
        WHEN '2'.
          hrtable = 'PA0006'.
        WHEN '3'.
          hrtable = 'PA0022'.
        WHEN '4'.
          hrtable = 'PA0008'.
      ENDCASE.*VALUES FOR CLICK OF THE PUSHBUTTON ON APP TOOLBAR
    *AND ENABLING THE BUTTONS TO PERFORM F8
      CASE sscrfields-ucomm.
        WHEN 'FC01'.
          tablename = mmtable.
          sscrfields-ucomm = 'ONLI'.
        WHEN 'FC02'.
          tablename = sdtable.
          sscrfields-ucomm = 'ONLI'.
        WHEN 'FC03'.
          tablename = hrtable.
          sscrfields-ucomm = 'ONLI'.
      ENDCASE.*INITIALIZATION EVENT
    INITIALIZATION.*VALUES ASSIGNED TO DROPDOWNLISTS IN THE SUBROUTINES
      PERFORM f4_value_request_pa.
      PERFORM f4_value_request_pb.
      PERFORM f4_value_request_pc.*START OF SELECTION EVENT
    START-OF-SELECTION.*SUBROUTINE FOR OUTPUT
      PERFORM output.*&----------------------------------------------------------------*
    *&      Form  f4_value_request_PA
    *       text
    *SUBROUTINE TO PROVIDE DROPDOWN VALUES TO LIST1
    FORM f4_value_request_pa.  DATA: l_name TYPE vrm_id,
            li_list TYPE vrm_values,
            l_value LIKE LINE OF li_list.  l_value-key = '1'.
      l_value-text = 'Plant Data for Material'.
      APPEND l_value TO li_list.
      CLEAR l_value.  l_value-key = '2'.
      l_value-text = 'General Material Data'.
      APPEND l_value TO li_list.
      CLEAR l_value.  l_value-key = '3'.
      l_value-text = 'Storage Location Data for Material'.
      APPEND l_value TO li_list.
      CLEAR l_value.  l_value-key = '4'.
      l_value-text = 'Units of Measure for Material'.
      APPEND l_value TO li_list.
      CLEAR l_value.
      l_name = 'ONE'.  CALL FUNCTION 'VRM_SET_VALUES'
        EXPORTING
          id              = l_name
          values          = li_list
        EXCEPTIONS
          id_illegal_name = 1
          OTHERS          = 2.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.ENDFORM. " f4_value_request_tabname*&----------------------------------------------------------------*
    *&      Form  f4_value_request_PB
    *       text
    *SUBROUTINE TO PROVIDE DROPDOWN VALUES TO LIST2FORM f4_value_request_pb.  DATA: l_name TYPE vrm_id,
            li_list TYPE vrm_values,
            l_value LIKE LINE OF li_list.  l_value-key = '1'.
      l_value-text = 'Sales Document: Header Data'.
      APPEND l_value TO li_list.
      CLEAR l_value.  l_value-key = '2'.
      l_value-text = 'Sales Document: Item Data'.
      APPEND l_value TO li_list.
      CLEAR l_value.  l_value-key = '3'.
      l_value-text = 'Sales Document:Header Status'.
      APPEND l_value TO li_list.
      CLEAR l_value.  l_value-key = '4'.
      l_value-text = 'Sales Document: Item Status'.
      APPEND l_value TO li_list.
      CLEAR l_value.
      l_name = 'TWO'.
      CALL FUNCTION 'VRM_SET_VALUES'
        EXPORTING
          id              = l_name
          values          = li_list
        EXCEPTIONS
          id_illegal_name = 1
          OTHERS          = 2.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM. " f4_value_request_PB*&----------------------------------------------------------------*
    *&      Form  f4_value_request_PC
    *       text
    *SUBROUTINE TO PROVIDE DROPDOWN VALUES TO LIST3FORM f4_value_request_pc.  DATA: l_name TYPE vrm_id,
            li_list TYPE vrm_values,
            l_value LIKE LINE OF li_list.  l_value-key = '1'.
      l_value-text = 'HR Master :Infotype 0001 (Org. Assignment)'.
      APPEND l_value TO li_list.
      CLEAR l_value.  l_value-key = '2'.
      l_value-text = 'Address Infotype 0006'.
      APPEND l_value TO li_list.
      CLEAR l_value.  l_value-key = '3'.
      l_value-text = 'Education Infotype 0022'.
      APPEND l_value TO li_list.
      CLEAR l_value.  l_value-key = '4'.
      l_value-text = 'Basic Pay Infotype 0008'.
      APPEND l_value TO li_list.
      CLEAR l_value.
      l_name = 'THREE'.
      CALL FUNCTION 'VRM_SET_VALUES'
        EXPORTING
          id              = l_name
          values          = li_list
        EXCEPTIONS
          id_illegal_name = 1
          OTHERS          = 2.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM. " f4_value_request_PC
    *&      Form  OUTPUT
    *       text
    *      -->P_TABLENAME  text
    *fINAL OUTPUT
    FORM output.  DATA p_table(10).  p_table = tablename.*popup to display teh selected table and
    *Continue button is clicked
      CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'
        EXPORTING
          titel        = 'User Selections '
          textline1    = p_table
          textline2    = 'is the Selected table'
          start_column = 25
          start_row    = 6.*assigning the table value in p_table to the
    * Table in SE16 transaction by explicitly calling
      SET PARAMETER ID 'DTB' FIELD p_table.
      CALL TRANSACTION 'SE16'.
    ENDFORM.                    "OUTPUT
    Regards,
    Manoj Kumar P

  • Add bottons on the application tool bar of the standard selection screen

    Hi All,
    I am having the standard selection screen in module pool programing. I wnat to add the bottons on the application tool bar of the standard selection screen.and hide the existing bottons (like std. execute and i bottons.)instead of these i want to give my won bottons like create and display.
    pls help on this.

    Hi Sridhar,
      Try the Code below. It places two buttons on the selection-screen along with the execute button.
    TABLES sscrfields.
    PARAMETERS: p_carrid TYPE s_carr_id,
                p_cityfr TYPE s_from_cit.
    SELECTION-SCREEN: FUNCTION KEY 1,
                      FUNCTION KEY 2.
    INITIALIZATION.
      sscrfields-functxt_01 = 'LH'.
      sscrfields-functxt_02 = 'UA'.
    AT SELECTION-SCREEN.
      CASE sscrfields-ucomm.
          WHEN'FC01'.
          p_carrid = 'LH'.
          p_cityfr = 'Frankfurt'.
        WHEN 'FC02'.
          p_carrid = 'UA'.
          p_cityfr = 'Chicago'.
      ENDCASE.
    START-OF-SELECTION.
      WRITE / 'START-OF-SELECTION'.
    Just go to the table sscrfields to knoe the fields in it. I think this clears the issue.
    Regards,
    Swapna.

  • Layout variants in Selection screen

    Hi All,
        I have a requirement where i need to create a functinal key on selection screen'Disp Variant' and i need to provide F4 help when user click on button and when layout is selected the report should show the layout according to selected layout variant.
    I have written following code but it is not workin for me.Please help.
    initialisation.
        wa_functxt-icon_id   =  icon_variants.
        wa_functxt-quickinfo = 'CHOOSE'.
        wa_functxt-icon_text = 'DISP VAR'.
        sscrfields-functxt_01 = wa_functxt.
    wa_functxt of type smp_dyntxt and sscrfields have been declared at top.
    CLEAR: wa_variant2.
      wa_variant2-report = sy-repid.
      CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
        EXPORTING
          i_save     = ' '
        CHANGING
          cs_variant = wa_variant2
        EXCEPTIONS
          not_found  = 2.
      IF sy-subrc EQ 0.
        PERFORM f_select_alv_variant.
      ENDIF.
    even this is in initialisation.
    form F_SELECT_ALV_VARIANT .
      MOVE sy-repid TO wa_variant1-report.
      CALL FUNCTION 'REUSE_ALV_VARIANT_SELECT'
        EXPORTING
          i_dialog            = space
          i_user_specific     = 'X'
          i_default           = space
          it_default_fieldcat = i_fieldcat[]
          i_layout            = wa_layout
        IMPORTING
          et_fieldcat         = i_fieldcat[]
        CHANGING
          cs_variant          = wa_variant2
        EXCEPTIONS
          wrong_input         = 1
          fc_not_complete     = 2
          not_found           = 3
          program_error       = 4
          OTHERS              = 5.
      IF sy-subrc EQ 0.
        "Do nothing.
      ENDIF.
    endform.  
    AT SELECTION-SCREEN.
    CASE sscrfields-ucomm.
    *When Display Variant button is clicked
        WHEN c_fc01.
          PERFORM f_f4_for_variant.
        WHEN OTHERS.
      ENDCASE.
    form F_F4_FOR_VARIANT .
      CLEAR: wa_variant1,
             wa_variant2.
      wa_variant1-report = sy-repid.
      CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
        EXPORTING
          is_variant = wa_variant1
          i_save     = 'U'
        IMPORTING
          e_exit     = v_variant_exit
          es_variant = wa_variant2.
      PERFORM f_select_alv_variant.
      IF v_variant_exit EQ 'X'..
        PERFORM f_get_default_variant.
      ENDIF.
    endform.
    Thanks in Advance,
    Anjana

    Let's discuss based on something. On that program, I don't have any issue, check it.
    INCLUDE <icon>.
    TABLES sscrfields.
    DATA wa_variant1 TYPE disvariant.
    DATA wa_variant2 TYPE disvariant.
    SELECTION-SCREEN FUNCTION KEY 1.
    PARAMETERS dummy.
    INITIALIZATION.
      DATA wa_functxt TYPE smp_dyntxt.
      wa_functxt-icon_id = icon_variants.
      wa_functxt-quickinfo = 'CHOOSE'.
      wa_functxt-icon_text = 'DISP VAR'.
      sscrfields-functxt_01 = wa_functxt.
      PERFORM f_get_default_variant.
    FORM f_get_default_variant.
      CLEAR: wa_variant2.
      wa_variant2-report = sy-repid.
      CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
        EXPORTING
          i_save     = ' '
        CHANGING
          cs_variant = wa_variant2
        EXCEPTIONS
          not_found  = 2.
    ENDFORM.                    "f_get_default_variant
    AT SELECTION-SCREEN.
      PERFORM at_selection_screen.
    *&      Form  at_selection_screen
    *       text
    FORM at_selection_screen.
      CASE sscrfields-ucomm.
    *When Display Variant button is clicked
        WHEN 'FC01'.
          PERFORM f_f4_for_variant.
        WHEN 'ONLI'.
          DATA gt_output TYPE TABLE OF t000 WITH HEADER LINE.
          SELECT * FROM t000 INTO TABLE gt_output.
          DATA lo_table TYPE REF TO cl_salv_table.
          TRY.
              CALL METHOD cl_salv_table=>factory
                IMPORTING
                  r_salv_table = lo_table
                CHANGING
                  t_table      = gt_output[].
            CATCH cx_salv_msg.
          ENDTRY.
          DATA lo_layout TYPE REF TO cl_salv_layout.
          lo_layout = lo_table->get_layout( ).
          lo_layout->set_save_restriction( cl_salv_layout=>restrict_none ).
          DATA ls_layout_key TYPE salv_s_layout_key.
          ls_layout_key-report = sy-repid.
          lo_layout->set_key( ls_layout_key ).
          DATA l_variant TYPE slis_vari.
          l_variant = wa_variant2-variant.
          lo_layout->set_initial_layout( l_variant ).
          DATA lo_functions_list TYPE REF TO cl_salv_functions_list.
          lo_functions_list = lo_table->get_functions( ).
          lo_functions_list->set_all( ).
          lo_table->display( ).
      ENDCASE.
    ENDFORM.                    "at_selection_screen
    FORM f_f4_for_variant .
      CLEAR: wa_variant1, wa_variant2.
      wa_variant1-report = sy-repid.
      DATA v_variant_exit TYPE flag.
      CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
        EXPORTING
          is_variant = wa_variant1
          i_save     = 'U'
        IMPORTING
          e_exit     = v_variant_exit
          es_variant = wa_variant2.
      IF v_variant_exit EQ 'X'..
        PERFORM f_get_default_variant.
      ENDIF.
    ENDFORM.                    "F_F4_FOR_VARIANT

Maybe you are looking for

  • Venue 8 Pro not charging?

    I have not used this tablet a lot for the first couple of months I had it, then it was not used for 4 months I enjoyed it but mainly wanted it for travel. I used it for month while traveling in October it worked fine and put it up since then I got it

  • Profit Center on Vendor Line Item - When other line item is Bank

    Dear Experts, We have a peculiar problem here.  Recently we went live with SAP ECC6.0.  On the date of migration one cheque was issued to a Vendor who did not presented the same into Bank.  The Cheque is now expired and we need to pass an entry into

  • Cycle Count Problem

    Hi, The 'Cycle Count Items' form is blank even after compliing and have seven items against cycle account name'Warehouse 2011' Any ideas where we are going wrong? Many thanks

  • In-app purchase - refund

    I represent a company Meetville.com. We have an application with the function of in-app purchase to buy content within the application. I have a question: how can our users cancel recurring payments in the application and how can we make a refund to

  • HTML ATTACHMENT - SPECIAL CHARACTERS IS COMING WRONLY

    Hi All, i have used SO_DOCUMENT_SEND_API1 to send the attachment in mail ... in attachment mail it is not supporting special characters, showing the characters wrongly For example.. User given Decription Moeda Comemorações e Evento Recieved Output li