Selection screen Block inside a block

Hi
Is it possible to design a block in side a block in selection - screen?
If so, how is it possible..

>
Charan wrote:
> Hi
>
> Is it possible to design a block in side a block in selection - screen?
> If so, how is it possible..
Yes,
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
PARAMETERS : p_kunnr TYPE kna1-kunnr.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
PARAMETERS : p_vbeln TYPE vbak-vbeln.
SELECTION-SCREEN END OF BLOCK b3.
SELECTION-SCREEN END OF BLOCK b1.
Thanks & Regards

Similar Messages

  • Selection screen  -  i want to block the input in range-high  but i get '0'

    i have selection screen :
    SL_MONAT   FOR BKPF-MONAT NO-EXTENSION ,
    i want to block the high value input  , so i use  :
      LOOP AT SCREEN.
      IF SCREEN-NAME = 'SL_MONAT-HIGH'.
      screen-input = '0'.
    endif.
      endloop .
      When the screen display, the field is block but there is value '0' (zero) in the field.
    why?
      i just want to block the high option (by condition)  , with out any value inside  .
      when I delete the u201C loop at screenu201D  , no value display inside  .

    REPORT  ZSRK_073                                .
    TABLES : BKPF.
    SELECT-OPTIONS : SL_MONAT FOR BKPF-MONAT NO-EXTENSION .
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF SCREEN-NAME CS 'SL_MONAT-HIGH'.
          SCREEN-INPUT = 0.
          SCREEN-OUTPUT = 0.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.

  • Issue with tabbed block in selection screen

    Hi All,
    I have created a report program with the following code.
    SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.
    PARAMETERS: p1 TYPE c LENGTH 10.
    SELECTION-SCREEN END OF SCREEN 100.
    SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN.
    PARAMETERS: q1 TYPE c LENGTH 10.
    SELECTION-SCREEN END OF SCREEN 200.
    SELECTION-SCREEN: BEGIN OF TABBED BLOCK mytab FOR 10 LINES,
                      TAB (20) button1 USER-COMMAND push1,
                      TAB (20) button2 USER-COMMAND push2,
                      END OF BLOCK mytab.
    INITIALIZATION.
      button1 = 'Selection Screen 1'.
      button2 = 'Selection Screen 2'.
      mytab-prog = sy-repid.
      mytab-dynnr = 0100.
      mytab-activetab = 'PUSH1'.
    AT SELECTION-SCREEN.
      CASE sy-dynnr.
        WHEN 1000.
          CASE sy-ucomm.
            WHEN 'PUSH1'.
              mytab-dynnr = 100.
            WHEN 'PUSH2'.
              mytab-dynnr = 200.
          ENDCASE.
      ENDCASE.
    Execute the program and click on the second tab-page. Now, click on the 'Execute' button or press F8 (there is no specific functionality coded here).
    The issue now is that the first tab-page is displayed, instead of the second tab remaining displayed. I require the navigation to remain within the second tab-page after the EXECUTE button is clicked.
    Could someone help me out with this issue?
    Regards,
    Dinup
    Edited by: Dinup Sudhakaran on Feb 18, 2008 1:40 PM

    Hi,
    Go through below document with example code.
    It will help you.
    Tabstrip Controls on Selection Screens
    As with screens, you can now use tabstrip controls on selection screens. To do this, you must define a tabstrip area and the associated tab pages, and assign a subscreen to the tab pages. You do not have to (indeed, cannot) declare the tabstrip control or program the screen flow logic in your ABAP program, since both are automatically generated.
    To define a tabstrip area with tab pages, use the following statements in your selection screen definition:
    SELECTION-SCREEN: BEGIN OF TABBED BLOCK <tab_area> FOR <n> LINES,
                      TAB (<len>) <tab1> USER-COMMAND <ucom1>
                                  [DEFAULT [PROGRAM <prog>] SCREEN <scrn>],
                      TAB (<len>) <tab2> USER-COMMAND <ucom2>
                                  [DEFAULT [PROGRAM <prog>] SCREEN <scrn>],
                      END OF BLOCK <tab_area>.
    This defines a tabstrip control <tab_area> with size <n>. The tab pages <tab1>, <tab2>… are assigned to the tab area. <len> defines the width of the tab title. You must assign a function code <ucom> area to each tab title. You can find out the function code from the field SY-UCOMM in the AT SELECTION-SCREEN event.
    For each tab title, the system automatically creates a character field in the ABAP program with the same name. Before the selection screen is displayed, you can assign a text to the field. This then appears as the title of the corresponding tab page on the selection screen.
    You must assign a subscreen to each tab title. This will be displayed in the tab area when the user chooses that title. You can assign one of the following as a subscreen:
    A subscreen screen defined using the Screen Painter.
    A selection screen subscreen, defined in an ABAP program.
    You can make the assignment either statically in the program or dynamically at runtime. If, at runtime, one of the tab titles has no subscreen assigned, a runtime error occurs.
    Static assignment
    Use the DEFAULT addition when you define the tab title. You can specify an ABAP program and one of its subscreens. If you do not specify a program, the system looks for the subscreen in the current program. When the user chooses the tab title, it is activated, and the subscreen is assigned to the tabstrip area. The static assignment is valid for the entire duration of the program, but can be overwritten dynamically before the selection screen is displayed.
    Dynamic assignment
    For each tab area, the system automatically creates a structure in the ABAP program with the same name. This structure has three components – PROG, DYNNR, and ACTIVETAB. When you assign the subscreens statically, the structure contains the name of the ABAP program containing the subscreen, the number of the subscreen, and the name of the tab title currently active on the selection screen (and to which these values are assigned). The default active tab page is the first page. You can assign values to the fields of the structure before the selection screen is displayed, and so set a subscreen dynamically.
    If you assign a normal subscreen screen to a tab title, the dialog modules containing its flow logic must be defined in the current ABAP program. If the subscreen is a selection screen, user actions will trigger the AT SELECTION-SCREEN event and its variants (see Selection Screen Processing). This includes when the user chooses a tab title. If one selection screen is included on another, AT SELECTION-SCREEN will be triggered at least twice – firstly for the "included" selection screen, then for the selection screen on which it appears.
    REPORT demo_sel_screen_with_tabstrip.
    DATA flag(1) TYPE c.
    SUBSCREEN 1
    SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
    PARAMETERS: p1(10) TYPE c,
                p2(10) TYPE c,
                p3(10) TYPE c.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN END OF SCREEN 100.
    SUBSCREEN 2
    SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.
    PARAMETERS: q1(10) TYPE c OBLIGATORY,
                q2(10) TYPE c OBLIGATORY,
                q3(10) TYPE c OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN END OF SCREEN 200.
    STANDARD SELECTION SCREEN
    SELECTION-SCREEN: BEGIN OF TABBED BLOCK mytab FOR 10 LINES,
                      TAB (20) button1 USER-COMMAND push1,
                      TAB (20) button2 USER-COMMAND push2,
                      TAB (20) button3 USER-COMMAND push3
                                       DEFAULT SCREEN 300,
                      END OF BLOCK mytab.
    INITIALIZATION.
      button1 = text-010.
      button2 = text-020.
      button3 = text-030.
      mytab-prog = sy-repid.
      mytab-dynnr = 100.
      mytab-activetab = 'BUTTON1'.
    AT SELECTION-SCREEN.
      CASE sy-dynnr.
        WHEN 1000.
          CASE sy-ucomm.
            WHEN 'PUSH1'.
              mytab-dynnr = 100.
              mytab-activetab = 'BUTTON1'.
            WHEN 'PUSH2'.
              mytab-dynnr = 200.
              mytab-activetab = 'BUTTON2'.
          ENDCASE.
        WHEN 100.
          MESSAGE s888(sabapdocu) WITH text-040 sy-dynnr.
        WHEN 200.
          MESSAGE s888(sabapdocu) WITH text-040 sy-dynnr.
      ENDCASE.
    MODULE init_0100 OUTPUT.
      LOOP AT SCREEN.
        IF screen-group1 = 'MOD'.
          CASE flag.
            WHEN 'X'.
              screen-input = '1'.
            WHEN ' '.
              screen-input = '0'.
          ENDCASE.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    ENDMODULE.
    MODULE user_command_0100 INPUT.
      MESSAGE s888(sabapdocu) WITH text-050 sy-dynnr.
      CASE sy-ucomm.
        WHEN 'TOGGLE'.
          IF flag = ' '.
            flag = 'X'.
          ELSEIF flag = 'X'.
            flag = ' '.
          ENDIF.
      ENDCASE.
    ENDMODULE.
    START-OF-SELECTION.
      WRITE: / 'P1:', p1,'Q1:', q1,
             / 'P2:', p2,'Q2:', q2,
             / 'P3:', p3,'Q3:', q3.
    This program defines two selection screens – 100 and 200, as subscreens, and places a tabstrip control area with three tab pages on the standard selection screen. A subscreen screen 300 (from the same program) is assigned statically to the third tab page.
    The layout of screen 300 is:
    The input/output fields P1 to Q3 are defined by using the parameters from the ABAP program The pushbutton has the function code TOGGLE.
    The screen flow logic for screen 300 is as follows:
    PROCESS BEFORE OUTPUT.
      MODULE init_0100.
    PROCESS AFTER INPUT.
      MODULE user_command_0100.
    Both dialog modules are defined in the ABAP program.
    When you run the program, the standard selection screen appears. In the INITIALIZATION event, the texts are defined on the tab titles, the subscreen selection screen 100 is assigned to the tab area, and the first tab title is activated.
    User actions on the selection screen are processed in the AT SELECTION-SCREEN event block. In particular, it is here that the subscreens are assigned and tab titles activated when the user chooses one of the first two tab titles. This is not necessary for the third tab title, since the dynamic assignment (screen 300) is always placed in the structure MYTAB when the user chooses it.
    Before the subscreen screen is displayed, the PBO module INIT_100 is executed. User actions on the subscreen screen trigger the PAI module. This includes when the user chooses a tab title. After that, the AT SELECTION-SCREEN event is triggered.
    Messages in the status line show where an action has been processed.

  • Retaining the selected tab in a tabbed block of selection screen

    Hi,
    My report has a selection screen with a tabbed block displaying 3 tabs. I want to retain the tab that was selected before executing the report and display that tab as the activetab when the user back navigates from the output list of the report to the selection screen.
    I tried to store the value of 'activetab' component of the tabbed block in a global variable and assigned the global variable to the 'activetab' component. But it is not working.
    Is there any other way by which we can do this?
    Thanks and Regards,
    Tongston

    I had a similar problem some time ago. One clarification first, global variables will not work because when you come back from report output, all the global/local variables are initialized that is when you come back to selection screen from report output, it is like a new instance of report.
    To resolve this you can use Export to memory ID / Import from memory ID statements, as these will retain the data across report instances.
    Now the following code is doing exactly what you wanted. You should copy/ paste it in an abap program and run it to see for yourself how I retained active tab.  Hope this will help you.
    REPORT  yy_test002.
    TABLES: bkpf, bseg, glt0, fdes, lfa1.
    DATA: g_acttab(132) TYPE c.
    SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME.
    PARAMETERS: p_bukrs LIKE bkpf-bukrs,  "obligatory,
                p_upto LIKE bkpf-budat.
    SELECTION-SCREEN END OF BLOCK blk1.
    SELECTION-SCREEN BEGIN OF SCREEN 101 AS SUBSCREEN.
    SELECT-OPTIONS: s_hkon1 FOR bseg-hkont NO-EXTENSION,
                    s_lifn1 FOR bseg-lifnr.
    SELECTION-SCREEN END OF SCREEN 101.
    SELECTION-SCREEN BEGIN OF SCREEN 102 AS SUBSCREEN.
    SELECT-OPTIONS: s_hkon2 FOR bseg-hkont NO-EXTENSION,
                    s_lifn2 FOR bseg-lifnr.
    SELECTION-SCREEN END OF SCREEN 102.
    SELECTION-SCREEN BEGIN OF SCREEN 103 AS SUBSCREEN.
    SELECT-OPTIONS: s_hkon3 FOR bseg-hkont NO-EXTENSION,
                    s_lifn3 FOR bseg-lifnr.
    SELECTION-SCREEN END OF SCREEN 103.
    SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME.
    PARAMETERS: p_dued LIKE bseg-fdtag.
    SELECTION-SCREEN BEGIN OF TABBED BLOCK tbblk FOR 8 LINES.
    SELECTION-SCREEN TAB (18) tabname1
    USER-COMMAND 'UTB1' DEFAULT SCREEN 101.
    SELECTION-SCREEN TAB (18) tabname2
    USER-COMMAND 'UTB2' DEFAULT SCREEN 102.
    SELECTION-SCREEN TAB (18) tabname3
    USER-COMMAND 'UTB3' DEFAULT SCREEN 103.
    SELECTION-SCREEN END OF BLOCK tbblk.
    SELECTION-SCREEN END OF BLOCK blk2.
    INITIALIZATION.
      tabname1 = 'GL Accounts set 1'.
      tabname2 = 'GL Accounts set 2'.
      tabname3 = 'GL Accounts set 3'.
      IMPORT g_acttab FROM MEMORY ID 'zssfsdfr3'.
      IF sy-subrc = 0.
        tbblk-prog = sy-repid.
        tbblk-activetab = g_acttab.
        CASE g_acttab.
          WHEN 'UTB1'.
            tbblk-dynnr = 101.
          WHEN 'UTB2'.
            tbblk-dynnr = 102.
          WHEN 'UTB3'.
            tbblk-dynnr = 103.
          WHEN OTHERS.
        ENDCASE.
      ENDIF.
    START-OF-SELECTION.
      g_acttab = tbblk-activetab.
      EXPORT g_acttab TO MEMORY ID 'zssfsdfr3'.
      WRITE:/ 'current active tab:', g_acttab.
      WRITE:/ 'bye'.

  • Reg: Selection screen tabstrip

    Hi all,
      I need to create a screen with tab strip and inside the tab it should hold a subscreen containing text element and checkbox and a  button.
    This is to be done using the selection-screen begin of screen method and not as a module pool.
    SELECTION-SCREEN BEGIN OF SCREEN 9000 TITLE title.
    SELECTION-SCREEN: BEGIN OF TABBED BLOCK mytab FOR 10 LINES,
                        TAB (20) button1 USER-COMMAND push1,
                      END OF BLOCK mytab.
    SELECTION-SCREEN END OF SCREEN 9000.
    I tried by above way but it's going to dump.
    Kindly help me on this by providing a sample code as to how to go about it.
    Thanks in advance,
    Krithika

    Hi
    Sample programs:
    DEMO_DYNPRO_TABSTRIP_LOCAL Tabstrip Control - Scrolling at SAPgui
    DEMO_DYNPRO_TABSTRIP_SERVER Tabstrip Control - Scrolling at Application Server
    DEMO_SEL_SCREEN_IN_TABSTRIP Selection Screen as Subscreen in Tabstrip
    DEMO_SEL_SCREEN_WITH_TABSTRIP Selection Screen with Tabstrips
    SELECTION-SCREEN: BEGIN OF TABBED BLOCK selec FOR 17 LINES,
                        TAB (23) button1 USER-COMMAND push1,
                        TAB (23) button2 USER-COMMAND push2,
                        TAB (23) button3 USER-COMMAND push3
                        DEFAULT SCREEN 1001,
                        END OF BLOCK selec.
      SELECTION-SCREEN BEGIN OF SCREEN 1001 AS SUBSCREEN.
      SELECTION-SCREEN END OF SCREEN 1001.
      SELECTION-SCREEN BEGIN OF SCREEN 1002 AS SUBSCREEN.
      SELECTION-SCREEN END OF SCREEN 1002.
      SELECTION-SCREEN BEGIN OF SCREEN 1003 AS SUBSCREEN.
      SELECTION-SCREEN END OF SCREEN 1003.
    Initialization
    INITIALIZATION.
      button1 = text-det.
      button2 = text-sup.
      button3 = text-mef.
      selec-prog = sy-repid.
      selec-dynnr = 1001.
      selec-activetab = 'BUTTON1'.
    Managing the keys
    AT SELECTION-SCREEN.
      CASE sy-ucomm.
        WHEN 'PUSH1'.
          selec-dynnr = 1001.
          selec-activetab = 'BUTTON1'.
        WHEN 'PUSH2'.
          selec-dynnr = 1002.
          selec-activetab = 'BUTTON2'.
        WHEN 'PUSH3'.
          selec-dynnr = 1003.
          selec-activetab = 'BUTTON3'.
      ENDCASE.
    2)  DATA flag(1) TYPE c.
    SUBSCREEN 1
    SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
    PARAMETERS: p1(10) TYPE c,
    p2(10) TYPE c,
    p3(10) TYPE c.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN END OF SCREEN 100.
    SUBSCREEN 2
    SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.
    PARAMETERS: q1(10) TYPE c OBLIGATORY,
    q2(10) TYPE c OBLIGATORY,
    q3(10) TYPE c OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN END OF SCREEN 200.
    STANDARD SELECTION SCREEN
    SELECTION-SCREEN: BEGIN OF TABBED BLOCK mytab FOR 10 LINES,
    TAB (20) button1 USER-COMMAND push1,
    TAB (20) button2 USER-COMMAND push2,
    TAB (20) button3 USER-COMMAND push3
    DEFAULT SCREEN 300,
    END OF BLOCK mytab.
    INITIALIZATION.
    button1 = text-010.
    button2 = text-020.
    button3 = text-030.
    mytab-prog = sy-repid.
    mytab-dynnr = 100.
    mytab-activetab = 'BUTTON1'.
    AT SELECTION-SCREEN.
    CASE sy-dynnr.
    WHEN 1000.
    CASE sy-ucomm.
    WHEN 'PUSH1'.
    mytab-dynnr = 100.
    mytab-activetab = 'BUTTON1'.
    WHEN 'PUSH2'.
    mytab-dynnr = 200.
    mytab-activetab = 'BUTTON2'.
    ENDCASE.
    WHEN 100.
    MESSAGE s888(sabapdocu) WITH text-040 sy-dynnr.
    WHEN 200.
    MESSAGE s888(sabapdocu) WITH text-040 sy-dynnr.
    ENDCASE.
    MODULE init_0100 OUTPUT.
    LOOP AT SCREEN.
    IF screen-group1 = 'MOD'.
    CASE flag.
    WHEN 'X'.
    screen-input = '1'.
    WHEN ' '.
    screen-input = '0'.
    ENDCASE.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
    ENDMODULE.
    MODULE user_command_0100 INPUT.
    MESSAGE s888(sabapdocu) WITH text-050 sy-dynnr.
    CASE sy-ucomm.
    WHEN 'TOGGLE'.
    IF flag = ' '.
    flag = 'X'.
    ELSEIF flag = 'X'.
    flag = ' '.
    ENDIF.
    ENDCASE.
    ENDMODULE.
    START-OF-SELECTION.
    WRITE: / 'P1:', p1,'Q1:', q1,
    / 'P2:', p2,'Q2:', q2,
    / 'P3:', p3,'Q3:', q3.
    <b>Reward if usefull</b>

  • Call Selection Screen

    Hi,
    can any one give me good links for
    All variants of at selection screen..
    some thing on call selection screen
    Thx,
    Shashi

    ·     AT SELECTION-SCREEN
    You should only perform very expensive checks with AT SELECTION-SCREEN if the program is then started. Here, you can read the system field SSCRFIELDS-UCOMM (provided a statement TABLES SSCRFIELDS exists). If the field has one of the values 'ONLI' (= Execute) or 'PRIN' (= Execute and Print), the report is then started, i.e. the selection screen is closed and the processing continues with START-OF-SELECTION.
         Additions:
    ·     ... ON psel
    Effect
    This event is assigned to the selection screen fields corresponding to the report parameter or selection criterion psel.
    If the report starts an error dialog at this point, precisely these fields become ready for input.
    ·     ... ON END OF sel
              For each selection criterion sel on the selection screen, you can call a further screen by pressing a pushbutton. On this screen, you can enter any number of single values and ranges for the selection criterion sel..
    When this screen has been processed (i.e. at the end of PAI for this screen), the event AT SELECTION-SCREEN ON END OF sel is executed.
    At this point, all the values entered are available in the internal table sel.
    ·     ... ON VALUE-REQUEST FOR psel_low_high
    Effect
    In this addition, the field psel_low_high is either the name of a report parameter or of the form sel-LOW or sel-HIGH, where sel is the name of a selection criterion. The effect of this is twofold:
    1.     The possible entries pushbutton for F4 appears beside the appropriate field.
    2.     When the user activates this pushbutton or presses F4 for the field, the event is executed. You can thus implement a self-programmed possible entries routine for the input/output fields of the selection screen. If the program contains such an event and the user presses F4, the system processes this rather than displaying the check table or the fixed values of the Dictionary field.
    ·     ... ON HELP-REQUEST FOR psel_low_high
    Effect
    As with the addition ON VALUE-REQUEST the field psel_low_high is either the name of a report parameter or of the form sel-LOW or sel-HIGH, where sel is the name of a selection criterion. When the user presses F1 on the relevant field, the subsequent processing block is executed. You can thus implement a self-programmed help for the input/output fields of the selection screen. If the program contains such an event and the user presses F1, the system processes this rather than displaying the documentation of the Dictionary field - even if the report parameter or the selection option with LIKE or FOR points to a Dictionary field.
    ·     ... ON RADIOBUTTON GROUP radi
    Effect
    This event is assigned to the radio button groups on the selection screen defined by PARAMETERS par RADIOBUTTON GROUP radi.  If the report starts at an error  dialog at this point ,precisely these fields of the radio button group
    radi become ready for input again.
    ·     ... ON BLOCK block
    Effect
    This event is assigned to the blocks on the selection screen defined by SELECTION-SCREEN BEGIN/END OF BLOCK block. If the report starts at an error
    dialog at this point, precisely these fields of the block block become ready for input again.
         The events assigned to the radio button groups are executed according to the first parameter of the radio button group.
    The events assigned to the blocks are executed "from the inside to the outside".
    ·     ... OUTPUT
    Effect
    This event is executed at PBO of the selection screen every time the user presses ENTER - in contrast to INITIALIZATION. Therefore, this event is not suitable for setting selection screen default values. Also, since AT SELECTION-SCREEN OUTPUT is first executed after the variant is imported (if a variant is used) and after adopting any values specified under SUBMIT in the WITH clause, changing the report parameters or the selection options in AT SELECTION-SCREEN OUTPUT would destroy the specified  values. Here, however, you can use LOOP AT SCREEN or MODIFY SCREEN to change the inout/output attributes of selection screen fields. 
    ·     ... ON EXIT-COMMAND
    Effect
    This event is executed at the exit command of the selection screen - that is, at Back, Cancel, or End,events executed after the screen is sent that do not cause the system to check the input and execute the PAI.
    plz reward if useful
    vivek

  • At Selection-screen Events!

    Hi!
      Pls tell me the order of selection screen events in sequence
    Pls give some sample program for validation of selection screen i/p without using search helps.
      Thanks

    Hi Rahul
    Basic form
    AT SELECTION-SCREEN.
    Additions
    1. ... ON psel
    2. ... ON END OF sel
    3. ... ON VALUE-REQUEST FOR psel_low_high .
    4. ... ON HELP-REQUEST FOR psel_low_high
    5. ... ON RADIOBUTTON GROUP radi
    6. ... ON BLOCK block
    7. ... OUTPUT
    Effect
    This event only makes sense in reports, i.e. in programs set to type 1 in the attributes. Type 1 programs are started via a logical database and always have a selection screen where the user can specify the database selections.
    The event is processed when the selection screen has been processed (at the end of PAI ).
    If an error message ( MESSAGE Emnr ) is sent during the event, all fields on the selection screen become ready for input.
    After further user input, AT SELECTION-SCREEN is executed again.
    Note
    You should only perform very expensive checks with AT SELECTION-SCREEN if the program is then started (not every time the user presses ENTER). Here, you can read the system field SSCRFIELDS-UCOMM (provided a statement TABLES SSCRFIELDS exists). If the field has one of the values 'ONLI' (= Execute) or 'PRIN' (= Execute and Print), the report is then started, i.e. the selection screen is closed and the processing continues with START-OF-SELECTION . Remember that the selection screen (and thus also AT SELECTION-SCREE N ) is also processed in variant maintenance and with SUBMIT VIA JOB . You can determine which of these applies by calling the function module RS_SUBMIT_INFO .
    Addition 1
    ... ON psel
    Effect
    This event is assigned to the selection screen fields corresponding to the report parameter or selection criterion psel .
    If the report starts an error dialog at this point, precisely these fields become ready for input.
    Addition 2
    ... ON END OF sel
    Effect
    For each selection criterion sel on the selection screen, you can call a further screen by pressing a pushbutton. On this screen, you can enter any number of single values and ranges for the selection criterion sel .
    When this screen has been processed (i.e. at the end of PAI for this screen), the event AT SELECTION-SCREEN ON END OF sel is executed.
    At this point, all the values entered are available in the internal table sel .
    Addition 3
    ... ON VALUE-REQUEST FOR psel_low_high
    Effect
    With this addition, the field psel_low_high is either the name of a report parameter or of the form sel-LOW or sel-HIGH , where sel is the name of a selection criterion. The effect of this is twofold:
    The pushbutton for F4 (Possible entries) appears beside the appropriate field.
    When the user selects this pushbutton or presses F4 for the field, the event is executed. You can thus implement a self-programmed possible entries routine for the input/output fields of the selection screen. If the program contains such an event and the user presses F4 , the system processes this rather than displaying the check table or the fixed values of the Dictionary field - even if the report parameter or the selection option with LIKE or FOR points to a Dictionary field. You can, for example, use the CALL SCREEN statement to display a selection list of possible values. The contents of the field psel_low_high at the end of this processing block are copied to the appropriate input/output field.
    This addition is only allowed with report-specific parameters (PARAMETERS ) or selection options (SELECT-OPTIONS ). For database-specific parameters or selection options, you can achieve the same effect by using the addition VALUE-REQUEST FOR ... with the key word PARAMETERS or SELECT-OPTIONS in the include DBxyzSEL (where xyz = name of logical database). In this case, you must program the value help in the database program SAPDBxyz .
    Addition 4
    ... ON HELP-REQUEST FOR psel_low_high
    Effect
    As with the addition ON VALUE-REQUEST the field psel_low_high is either the name of a report parameter or of the form sel-LOW or sel-HIGH , where sel is the name of a selection criterion. When the user presses F1 on the relevant field, the subsequent processing block is executed. You can thus implement a self-programmed help for the input/output fields of the selection screen. If the program contains such an event and the user presses F1 , the system processes this rather than displaying the documentation of the Dictionary field - even if the report parameter or the selection option with LIKE or FOR points to a Dictionary field.
    This addition is only allowed with report-specific parameters (PARAMETERS ) or selection options (SELECT-OPTIONS ). For database-specific parameters or selection options, you can achieve the same effect by using the addition HELP-REQUEST FOR ... with the key word PARAMETERS or SELECT-OPTIONS in the include DBxyzSEL (where xyz = name of logical database). In this case, you must program the help in the database program SAPDBxyz .
    Addition 5
    ... ON RADIOBUTTON GROUP radi
    <u><b>Effect</b></u>
    This event is assigned to the radio button groups on the selection screen defined by PARAMETERS par RADIOBUTTON GROUP radi .
    If the report starts an error dialog at this point, precisely these fields of the radio button group radi become ready for input again.
    <b>
    Addition 6</b>
    ... ON BLOCK block
    Effect
    <b><i>This event is assigned to the blocks on the selection screen defined by SELECTION-SCREEN BEGIN/END OF BLOCK block .
    If the report starts an error dialog at this point, precisely these fields of the block block become ready for input again.</i></b>
    <u><b>Note</b></u>
    In which sequence are the events AT SELECTION-SCREEN ON psel ... , AT SELECTION-SCREEN ON RADIOBUTTON GROUP ... , AT SELECTION-SCREEN ON BLOCK ... , AT SELECTION-SCREEN processed?
    <i>The AT SELECTION-SCREEN ON psel ... events assigned to the parameters or selection options are executed in the sequence they are declared in the program, i.e. in the sequence they appear on the selection screen.
    The events assigned to the radio button groups are executed according to the first parameter of the radio button group.
    The events assigned to the blocks are executed "from the inside to the outside".</i>
    <b>Example</b>
    SELECT-OPTIONS SEL0 FOR SY-TVAR0.
    SELECTION-SCREEN BEGIN OF BLOCK BL0.
    SELECT-OPTIONS SEL1 FOR SY-TVAR1.
    SELECTION-SCREEN BEGIN OF BLOCK BL1.
    PARAMETERS P0 RADIOBUTTON GROUP RADI.
    PARAMETERS P1 RADIOBUTTON GROUP RADI.
    SELECTION-SCREEN BEGIN OF BLOCK BL2.
    PARAMETERS P3.
    SELECTION-SCREEN END   OF BLOCK BL2.
    SELECT-OPTIONS SEL2 FOR SY-TVAR2.
    SELECTION-SCREEN END   OF BLOCK BL1.
    SELECTION-SCREEN END   OF BLOCK BL0.
    <b>Sequence:</b>
    AT SELECTION-SCREEN ON...
    SEL0
    SEL1
    RADIOBUTTON GROUP RADI
    P3
    BLOCK BL2
    SEL2
    BLOCK BL1
    BLOCK BL0
    AT SELECTION-SCREEN is executed at the very end.
    <b>Addition 7</b>
    ... OUTPUT
    <u>Effect</u>
    <b>This event is executed at PBO of the selection screen every time the user presses ENTER - in contrast to INITIALIZATION . Therefore, this event is not suitable for setting selection screen default values. Also, since AT SELECTION-SCREEN OUTPUT is first executed after the variant is imported (if a variant is used) and after adopting any values specified under SUBMIT in the WITH clause, changing the report parameters or the selection options in AT SELECTION-SCREEN OUTPUT would destroy the specified values.
    Here, however, you can use LOOP AT SCREEN or MODIFY SCREEN to change the input/output attributes of selection screen fields.</b>
    <u><b>Example</b></u>
    <b>Output all fields of the
    SELECT-OPTION NAME
    highlighted:</b>
    SELECT-OPTIONS NAME FOR SY-REPID MODIF ID XYZ.
    AT SELECTION-SCREEN OUTPUT.
    LOOP AT SCREEN.
         CHECK SCREEN-GROUP1 = 'XYZ'.
         SCREEN-INTENSIFIED = '1'.
         MODIFY SCREEN.
      ENDLOOP.
    <i><b>The addition MODIF ID XYZ to the key word SELECT-OPTIONS assigns all fields of the selection option NAME to a group you can read in the field SCREEN-GROUP1 . At PBO of the selection screen, all these fields are then set to highlighted.
    </b></i>
    check these links
    http://help.sap.com/saphelp_nw2004s/helpdata/en/56/1eb6c705ad11d2952f0000e8353423/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/10/e7dbde82ba11d295a40000e8353423/content.htm
    Reward all helpfull answers
    Regards
    Pavan

  • How to handle multiple radiobutton groups in a selection screen?

    Hi All,
    I have tabbed selection screen.
    * SELECTION SCREEN                                    *
    SELECTION-SCREEN BEGIN OF TABBED BLOCK TABB1 FOR 20 LINES.
    SELECTION-SCREEN TAB (20) TAB1 USER-COMMAND TAB1
                         DEFAULT SCREEN 1010.
    SELECTION-SCREEN TAB (20) TAB2 USER-COMMAND TAB2
                         DEFAULT SCREEN 1020.
    SELECTION-SCREEN END OF BLOCK TABB1.
    I have a radiobutton group in each of my tabs in the selection screen.
    SELECTION-SCREEN BEGIN OF SCREEN 1010 AS SUBSCREEN.
    SELECTION-SCREEN BEGIN OF BLOCK GUI WITH FRAME." TITLE TEXT-GUI.
    PARAMETERS: P_GUI1 RADIOBUTTON GROUP GUI,
                P_GUI2 RADIOBUTTON GROUP GUI,
                P_GUI3 RADIOBUTTON GROUP GUI,
                P_GUI4 RADIOBUTTON GROUP GUI,
                P_GUI5 RADIOBUTTON GROUP GUI,
    SELECTION-SCREEN END OF BLOCK GUI.
    SELECTION-SCREEN END OF SCREEN 1010.
    SELECTION-SCREEN BEGIN OF SCREEN 1020 AS SUBSCREEN.
    SELECTION-SCREEN BEGIN OF BLOCK REP WITH FRAME." TITLE TEXT-REP.
    PARAMETERS: P_REP1 RADIOBUTTON GROUP REP,
                P_REP2 RADIOBUTTON GROUP REP,
                P_REP3 RADIOBUTTON GROUP REP.
    SELECTION-SCREEN END OF BLOCK REP.
    SELECTION-SCREEN END OF SCREEN 1020.
    The issue is I want to be able to process only one of the tabs based on the checked radiobutton, but by default both the groups will have one of the radiobuttons checked. My piece of code is something like this.
    data : c_selected(1) value 'X'.
    case c_selected.
    when P_GUI1.
    * Process GUI 1
    when P_GUI2.
    * Process GUI 2
    when P_GUI3.
    * Process GUI 3
    when P_GUI4.
    * Process GUI 4
    when P_GUI5.
    * Process GUI 5
    when P_REP1.
    * Process Report 1
    when P_REP2.
    * Process Report 2
    when P_REP3.
    * Process Report 3
    endcase.
    How do I acheive this?
    Karthik
    Edited by: Karthik Boyapalli on Jun 16, 2008 9:10 PM

    The issue is I want to be able to process only one of the tabs based on the checked radiobutton, but by default both the groups will have one of the radiobuttons checked. My piece of code is something like this.
    You will be able to process the Radiobutton based on the tab. Use the sy-ucomm to determine the TAB that is selected on the selection screen. Then you can do further processing based on the radio button selected.
    Only one TAB will be available for User Interaction so there will be no issue with processing based on the radio button

  • 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

  • Table control in report selection screen

    I have a selection screen with some fields. Now, below these fields, I need a table control in which i will have input parameters with 3 fields so that i can enter data in combinations and use the same while executing the report like an internal table.
    1. I should be able to save it as a Variants.
    2. I should be able to schedule a background job.
    I found similar notes but they dont help me save variants and with job schedules.
    Request your help in this regard.
    Regards
    Kasi

    Hi
    In the selection-screen u can generated a tabstrip:
    SELECTION-SCREEN BEGIN OF TABBED BLOCK MAX FOR 22 LINES.
    SELECTION-SCREEN TAB (25) TABS1 USER-COMMAND UCOMM1
             DEFAULT SCREEN 100.
    SELECTION-SCREEN END OF BLOCK MAX.
    So the system'll generate a tabstrip in the selection-screen, here it'll load only the screen 100.
    By screen painter u have to create a subscreen 100 where u insert your table control.
    Max

  • Issue with CALL SELECTION-SCREEN

    Hi experts,
    I am working on a report.
    Here on the selection screen , based on the selection of some radiobuttons ,i want to call a secondary selection screen.
    So i am using the following program code ,
    AT SELECTION-SCREEN on BLOCk blk.
    IF p_abc  =  c_x.
        CALL SELECTION-SCREEN 100 STARTING AT 20 5.
        IF sy-subrc <> 0.
          MESSAGE text-011 TYPE c_e .
        ENDIF.
      ENDIF.
    so currently , once i complete my slection on the screen 100 , the popup screen stays there and rest of the programing logic is executed correctly.
    My issue is that , once i complete my slection on the screen 100, i want that the pop up should be closed
    And then the the rest of the program logic should continue.    
    please guide me how ,this can be done.
    Regards,
    Rajesh Kumar.

    Hi
    The event AT SELECTION-SCREEN and AT SELECTION-SCREEN ON BLOCK  are very similar, only the second event see the part of selection-screen defined in the block.
    This events are triggered as soon as the user does something: so press ENTER, F8,........
    If u want the second-selction screen is shown once and the main selection-screen has to be displayed under the second one, u can try to run the second one only if the report has to run, so if the user has pressed F8, code ONLI.
    AT SELECTION-SCREEN on BLOCk blk.
    CHECK SY-UCOMM = 'ONLI'.
    IF p_abc = c_x.
      CALL SELECTION-SCREEN 100 STARTING AT 20 5.
      IF sy-subrc 0.
         MESSAGE text-011 TYPE c_e .
      ENDIF.
    ENDIF.
    In tihs way the rest of the program will be executed, else u need to move all code of the event START-OF-SELECTION and END-OF-SELECTION in the event AT SELECTION-SCREEN, or, just as I said before, to move the calling of POPUP to event START-OF-SELECTION.
    Max

  • Tabstrip on selection screen

    Hi All,
    I have created selection screen with 3 tab strips.
    i have 2 radios button in each tab strip. My problem is, when i have selected first radio button from 2nd tab strip and execute, then it is executing first tab strip radio button first and when i click on back button then my second tab strip radio button getting executed.
    So could you please do let me know, how to execute directly 2nd tab strip radio button directly wiht out executing first tab strip.
    Regards,
    Jo

    Hello,
    Assign a user command to each tab strip as follows.
    SELECTION-SCREEN BEGIN OF BLOCK sel .
    SELECTION-SCREEN SKIP.
    *---------------------------* TABSTRIP *-------------------------------*
    SELECTION-SCREEN BEGIN OF TABBED BLOCK tabb1 FOR 15 LINES.
    SELECTION-SCREEN TAB (40) title1 USER-COMMAND ucomm1 DEFAULT SCREEN 1001.
    SELECTION-SCREEN TAB (40) title2 USER-COMMAND ucomm2 DEFAULT SCREEN 1002.
    SELECTION-SCREEN TAB (40) title3 USER-COMMAND ucomm3 DEFAULT SCREEN 1003.
    SELECTION-SCREEN END OF BLOCK tabb1.
    SELECTION-SCREEN END OF BLOCK sel.
    *-------------------------* SCREEN 1001 *------------------------------*
    SELECTION-SCREEN: BEGIN OF SCREEN 1001 AS SUBSCREEN          .
    SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE title.
    PARAMETERS: radio_button1  RADIOBUTTON GROUP rad DEFAULT 'X'.
    "Insert all your other radio button in the first tabstrip here
    SELECTION-SCREEN: END OF BLOCK b1                            .
    SELECTION-SCREEN: END OF SCREEN 1001                         .
    *-------------------------* SCREEN 1002 *------------------------------*
    SELECTION-SCREEN: BEGIN OF SCREEN 1002 AS SUBSCREEN          .
    SELECTION-SCREEN: BEGIN OF BLOCK b2 WITH FRAME TITLE titlex.
    PARAMETERS: radio_button2 RADIOBUTTON GROUP rad1.
    "Insert all your other radio button in the second tabstrip here
    SELECTION-SCREEN: END OF BLOCK b2                            .
    SELECTION-SCREEN: END OF SCREEN 1002                         .
    *-------------------------* SCREEN 1003 *------------------------------*
    SELECTION-SCREEN: BEGIN OF SCREEN 1003 AS SUBSCREEN          .
    SELECTION-SCREEN: BEGIN OF BLOCK b3 WITH FRAME TITLE titlexx.
    PARAMETERS: radio_button3 RADIOBUTTON GROUP rad2.
    "Insert all your other radio button in the third tabstrip here
    SELECTION-SCREEN: END OF BLOCK b3                            .
    SELECTION-SCREEN: END OF SCREEN 1003                         .
    In this case the first tabstrip has the user command UCOMM1, the second tabstrip has the user command UCOMM2 and likewise for the third and last tabstrip.
    Now in the START-OF-SELECTION event.
    Start by doing a case for active tabs before doing a check which radio button is selected as follows.
    CASE tabb1-activetab.
         WHEN 'UCOMM1'.  "First tabstrip
              CASE 'X'. "To check which radio button is checked
               "Here you do the processing upon the radio button selected.
              WHEN radio_button1. 
                   CALL TRANSACTION 'SE38'.
              ENDCASE.
         WHEN 'UCOMM2'.  "Second tabstrip
              CASE 'X'. "To check which radio button is checked
              "Here you do the processing upon the radio button selected.
              WHEN radio_button2. 
                   CALL TRANSACTION 'SE11'.
              ENDCASE.
         WHEN 'UCOMM3'.  "Third tabstrip
              CASE 'X'. "To check which radio button is checked
              "Here you do the processing upon the radio button selected.
              WHEN radio_button3.
                   CALL TRANSACTION 'SE09'.
              ENDCASE.
    ENDCASE.
    Hope it helps.
    Thanks and Kind Regards,
    Yovish.
    Message was edited by: Yovish Bissessur

  • Multiple selection screen.

    hi all,
           how to create multiple selection screens,
    i need 3 selection screens how to do it?
    wats the maximum number selection screen can be created in a report.
    regards
    Suprith

    SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.
    PARAMETERS: p1 TYPE c LENGTH 10,
                p2 TYPE c LENGTH 10,
                p3 TYPE c LENGTH 10.
    SELECTION-SCREEN END OF SCREEN 100.
    SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN.
    PARAMETERS: q1 TYPE c LENGTH 10,
                q2 TYPE c LENGTH 10,
                q3 TYPE c LENGTH 10.
    SELECTION-SCREEN END OF SCREEN 200.
    SELECTION-SCREEN: BEGIN OF TABBED BLOCK mytab FOR 10 LINES,
                      TAB (20) button1 USER-COMMAND push1,
                      TAB (20) button2 USER-COMMAND push2,
                      END OF BLOCK mytab.
    INITIALIZATION.
      button1 = 'Selection Screen 1'.
      button2 = 'Selection Screen 2'.
      mytab-prog = sy-repid.
      mytab-dynnr = 100.
      mytab-activetab = 'PUSH1'.
    AT SELECTION-SCREEN.
      CASE sy-dynnr.
        WHEN 1000.
          CASE sy-ucomm.
            WHEN 'PUSH1'.
              mytab-dynnr = 100.
            WHEN 'PUSH2'.
              mytab-dynnr = 200.
            WHEN OTHERS.
          ENDCASE.
      ENDCASE.

  • Selection-screen as subscreen in other selection screen

    Hi,
    is it possible to attached one selection screen, which has been created as subscreen (selection-screen begin of sreen 2000 as subscreen) to the other one (standard one 1000), created just with selection-screen commands (begin of block, etc)?
    Thank you.
    J

    Hi,
    Try using tab strips in the selection screen..
    http://help.sap.com/saphelp_nw04/helpdata/EN/00/deb23789e95378e10000009b38f8cf/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/e7/deb237b9a9a968e10000009b38f8cf/content.htm
    Thanks
    Naren

  • Layout Option on Selection Screen For Zreport

    Hi All,
           Plz explain how to do coding for using Layout option  on selection screen of
    report. Also i should be able to save and create new layout on selection screen.
           Thnaks in advance.
    Aniket Dayama

    hi,
    creation of sub-screens.
    selection-screen begin of tabbed block <name of the tab> for < height of the tab in no's> lines.
    eg;
    selection-screen tab(20) l1 <data element> user-comand <name of the funcion code>
    selection-screen end of block <name of the tab strip>.
    eg;
    selection-screen begin of tabbed block mytab for 10 lines.
    selection-screen tab(20) l1 user-command tab1.
    selection-screen tab (20) l2 user-command tab2..
    selection-screen end of block mytab.
    Under initialization.
    data element = text-01.
    data element = text=02.
    How to initialize the tab with default screen.
    <name of the tab> - prog = sy-repid.
    <name of the tab>- dynnr = '<subscreen no>'.
    <nane of the tab>-activetab = '<user-command for the strip>
    if this has solved ur problem then dont forget to reward with points.
    with regards,
    madhuri.

Maybe you are looking for