‎2007 Nov 16 7:29 AM
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
‎2007 Nov 16 7:41 AM
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>
‎2007 Nov 16 7:41 AM
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>