Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  User Dialogs →  Selection Screens →  Create Selection Screens →  SELECTION-SCREEN →  SELECTION-SCREEN - screen_elements 

SELECTION-SCREEN - TABBED BLOCK

Short Reference

Other versions: 7.31 | 7.40 | 7.54

Syntax


SELECTION-SCREEN BEGIN OF TABBED BLOCK tblock FOR n LINES [NO INTERVALS]. 
...
[SELECTION-SCREEN TAB (len) tab USER-COMMAND fcode
                  [DEFAULT [PROGRAM prog] SCREEN dynnr]
                         [MODIF ID modid]
                  [ldb_additions].]
...
SELECTION-SCREEN END OF BLOCK tblock.

Extras

1. ... NO INTERVALS

2. ... USER-COMMAND fcode

3. ... DEFAULT [PROGRAM prog] SCREEN dynnr

Effect

The first and last statements define a tabstrip area with the name tblock on the current selection screen. The name tblock must be specified directly and can contain a maximum of 16 characters. The number of lines in the tabstrip area is determined by a number n, which must be specified directly and can contain a maximum of three characters but must not exceed 197. The current selection screen cannot be defined as a subscreen dynpro using AS SUBSCREEN.

Within the statements defining a tabstrip area, there can only be SELECTION-SCREEN statements with a TAB addition, and these can only be used in this location. These statements define tab titles with the name tab and a length of len. The names tab must be specified directly and can contain a maximum of 8 characters. The lengths len must be specified directly as positive numbers with no more than two figures and a value of no more than 79. If the width of all the tab titles is greater than the width of this area, a scroll bar is configured automatically so that all pages can be accessed.

The system automatically creates a type c global variable of the same name and with a length of 83 for each tab title. The content of the variables is displayed as the label for the tab title on the selection screen. The MODIF ID addition assigns the tab title to the modification group modid. The ldb_additions can only be used in the selection include of a logical database.

If no SELECTION-SCREEN statement with the TAB addition is included within the statements for the definition of a tab area, a tab area is defined without a tab title. This special case acts as the definition of a subscreen area for the integration of a single subscreen dynpro on the selection screen. The subscreen dynpro is assigned dynamically (see below).

Addition 1

... NO INTERVALS

Effect

The tabstrip area is created small enough that a subscreen dynpro created using the addition NO INTERVALS of AS SUBSCREEN can fit in it.


Note

The NO INTERVALS addition of TABBED BLOCK has no influence on the selection criteria of selection screens, which are integrated as subscreen dynpros in the tab area.

Addition 2

... USER-COMMAND fcode

Effect

Each tab title must be assigned a function code fcode using the USER-COMMAND addition. The function codes fcode must be specified directly and can contain a maximum of 20 characters. When the user selects a tab, the associated function code can be taken from the component ucomm of the structure sscrfields after the event AT SELECTION-SCREEN. For this purpose, this component must be declared as an interface work area with reference to the structure SSCRFIELDS using the statement TABLES.


Notes

  • If a function code used in the GUI status of the selection screen is specified for fcode, the selection screen processing is affected accordingly.
  • It is not recommended that the system field sy-ucomm instead of sscrfields-ucomm is evaluated, since this does not guarantee that sy-ucomm is always given the correct value in selection screen processing.

Addition 3

... DEFAULT [PROGRAM prog] SCREEN dynnr

Effect

Each tab title must be assigned a subscreen screen whose screen is displayed as a tab page when the tab title is selected. If this assignment is not made or has errors when the selection screen is sent, a non-handleable exception is raised.

Dynamic Assignment

For each tabstrip area, a global structure with the same name is created in the current program. This structure has the following three components: prog of type c with length 40, dynnr of type c and length 4, and activetab of type c with length 132. If the addition DEFAULT is not specified, the name of the ABAP program in which the required subscreen dynpro is defined, the number of the subscreen dynpro, and the function code of the tab title must be assigned to these components before the selection screen is sent. An assignment to the component activetab at the event AT SELECTION-SCREEN has no effect. Instead, this is automatically overwritten with the function code of the selected tab title before the event AT SELECTION-SCREENOUTPUT of the current selection screen.

For a pure subscreen area, that is, a tabstrip area without a tab title, dynamic assignment must be used. Before the selection screen is sent, the program name must be assigned to the component prog and the dynpro number of the subscreen dynpro must be assigned to the component dynnr (for an example, see the program DEMO_SEL_SCREEN_WITH_SUBSCREEN).

Static Assignment

If the addition DEFAULT is specified, the tab title is assigned the subscreen screen for the number dynnr of the program prog. You must specify the screen number and program directly. If the addition PROGRAM is not specified, the subscreen dynpro is searched for in the current program. A subscreen dynpro that is assigned statically with DEFAULT can also be overwritten dynamically.

If the DEFAULT addition is specified, you can specify that the screen element for a tab page is displayed when the selection screen is sent by assigning the name of the tab title to the component activetab. The other components are filled with the values specified for DEFAULT when the selection screen is sent. The first page is displayed as standard.


Note

If an assigned subscreen screen is not a selection screen, the dialog modules that are accessed during its flow logic must be defined in the current program. If an assigned subscreen screen is a selection screen, user actions on the subscreen lead to the event AT SELECTION-SCREEN. This includes when the user chooses a tab title. The event AT SELECTION-SCREEN is executed first for the subscreen included in the selection screen and then for the selection screen itself.


Example

Defines a tabstrip control mytab on the standard selection screen and includes the selection screens 100 and 200, which are defined as subscreen dynpros, in an executable program. The assignment of the subscreen screens to the tab titles takes place dynamically. For an example of a static assignment with the addition DEFAULT, refer to SELECTION-SCREEN - AS SUBSCREEN.

TABLES sscrfields. 

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 sscrfields-ucomm. 
        WHEN 'PUSH1'. 
          mytab-dynnr = 100. 
        WHEN 'PUSH2'. 
          mytab-dynnr = 200. 
        WHEN OTHERS. 
        ... 
      ENDCASE. 
      ... 
  ENDCASE. 

Continue

Tabstrip Controls on Selection Screens - Example

Subscreens on Selection Screens - Example