Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Reg: Selection screen tabstrip

Former Member
0 Likes
386

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
356

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>

1 REPLY 1
Read only

Former Member
0 Likes
357

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>