‎2006 Jun 02 12:45 PM
hi all
when im tryin to create tabstrip in module pool pgm im gettin error as subscreen s not assigned to tab how do i assign the subscreen for the tabstrip
‎2006 Jun 02 12:46 PM
hii
REPORT ZTABSTRIPS LINE-SIZE 120
NO STANDARD PAGE HEADING.
TABLES: ekko, ekpo, eket, marc, t134h.
----
Tab Strips 1
----
SELECTION-SCREEN BEGIN OF SCREEN 101 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK vendor WITH FRAME TITLE text-t00.
SELECT-OPTIONS vendor FOR ekko-lifnr.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT (10) text-m01.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP.
SELECT-OPTIONS vplant FOR ekko-reswk.
SELECTION-SCREEN END OF BLOCK vendor.
SELECTION-SCREEN END OF SCREEN 101.
----
Tab Strips 2
----
SELECTION-SCREEN BEGIN OF SCREEN 102 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK data1 WITH FRAME TITLE text-t02.
SELECT-OPTIONS: busarea FOR t134h-gsber,
plant FOR ekpo-werks,
puorg FOR ekko-ekorg.
SELECTION-SCREEN END OF BLOCK data1.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK data2 WITH FRAME TITLE text-t03.
SELECT-OPTIONS sched FOR ekko-ebeln.
SELECT-OPTIONS matl FOR ekpo-matnr.
SELECTION-SCREEN END OF BLOCK data2.
SELECTION-SCREEN END OF SCREEN 102.
----
Tab Strips 3
----
SELECTION-SCREEN BEGIN OF SCREEN 103 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK rype WITH FRAME TITLE text-t04.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS del RADIOBUTTON GROUP one.
SELECTION-SCREEN COMMENT 4(35) text-c05 FOR FIELD del.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS fix RADIOBUTTON GROUP one.
SELECTION-SCREEN COMMENT 4(35) text-c06 FOR FIELD fix.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK rype.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK interval WITH FRAME TITLE text-t05.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS mon RADIOBUTTON GROUP two.
SELECTION-SCREEN COMMENT 4(15) text-c01 FOR FIELD mon.
PARAMETERS evalmon TYPE spbup.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS wek RADIOBUTTON GROUP two.
SELECTION-SCREEN COMMENT 4(15) text-c02 FOR FIELD wek.
PARAMETERS evalweek TYPE sptag.
SELECTION-SCREEN COMMENT 35(30) text-i01.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK interval.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK type WITH FRAME TITLE text-t01.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS ext RADIOBUTTON GROUP thr.
SELECTION-SCREEN COMMENT 4(15) text-c08 FOR FIELD int.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS int RADIOBUTTON GROUP thr.
SELECTION-SCREEN COMMENT 4(15) text-c07 FOR FIELD ext.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK type.
SELECTION-SCREEN BEGIN OF BLOCK pre WITH FRAME TITLE text-t06.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS vn RADIOBUTTON GROUP slv.
SELECTION-SCREEN COMMENT 4(15) text-c09 FOR FIELD vn.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS bp RADIOBUTTON GROUP slv.
SELECTION-SCREEN COMMENT 4(17) text-c10 FOR FIELD bp.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK pre.
SELECTION-SCREEN END OF SCREEN 103.
SELECTION-SCREEN BEGIN OF TABBED BLOCK uno FOR 20 LINES.
SELECTION-SCREEN TAB (15) name1 USER-COMMAND ucomm1
DEFAULT SCREEN 101.
SELECTION-SCREEN TAB (17) name2 USER-COMMAND ucomm2
DEFAULT SCREEN 102.
SELECTION-SCREEN TAB (23) name3 USER-COMMAND ucomm3
DEFAULT SCREEN 103.
SELECTION-SCREEN END OF BLOCK uno.
INITIALIZATION.
name1 = text-n01.
name2 = text-n02.
name3 = text-n03.
‎2006 Jun 02 12:47 PM
Hi Varalakshmi,
Check the demo program:
DEMO_DYNPRO_TABSTRIP_LOCAL
Regards,
Ravi
‎2006 Jun 02 12:48 PM
Hi,
Refer the demo program <b>DEMO_DYNPRO_TABSTRIP_LOCAL and DEMO_DYNPRO_TABSTRIP_SERVER</b> in SE38 and corresponding screen in SE51.
<b>Reward points if it helps.</b>
Message was edited by: Amit Mishra
‎2006 Jun 02 12:48 PM
for tabstrip in module pool we need to define subscreens, i think ur prob might be while creating the subscreens, just check whether u have defined them correctly
Just for an idea this is how we define in reports.
SELECTION-SCREEN BEGIN OF SCREEN 101 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK VENDOR WITH FRAME TITLE TEXT-T00.
SELECT-OPTIONS VENDOR FOR EKKO-LIFNR.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT (10) TEXT-M01.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP.
SELECT-OPTIONS VPLANT FOR EKKO-RESWK.
SELECTION-SCREEN END OF BLOCK VENDOR.
SELECTION-SCREEN END OF SCREEN 101.
----
Tab Strips 2
----
SELECTION-SCREEN BEGIN OF SCREEN 102 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK DATA1 WITH FRAME TITLE TEXT-T02.
SELECT-OPTIONS: BUSAREA FOR T134H-GSBER,
PLANT FOR EKPO-WERKS,
PUORG FOR EKKO-EKORG.
SELECTION-SCREEN END OF BLOCK DATA1.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK DATA2 WITH FRAME TITLE TEXT-T03.
SELECT-OPTIONS SCHED FOR EKKO-EBELN.
SELECT-OPTIONS MATL FOR EKPO-MATNR.
SELECTION-SCREEN END OF BLOCK DATA2.
SELECTION-SCREEN END OF SCREEN 102.
‎2006 Jun 02 12:49 PM
Hi,
Check these Demo Programs..
<b>DEMO_DYNPRO_TABSTRIP_LOCAL
DEMO_DYNPRO_TABSTRIP_SERVER
DEMO_SEL_SCREEN_IN_TABSTRIP
DEMO_SEL_SCREEN_WITH_TABSTRIP</b>
Regards
vijay
‎2006 Jun 02 12:50 PM
hi u need to use the statement
CALL SUBSCREEN <subscreen area> INCLUDING <report id> 'Screen number' in the PAI and in the PBO use the statement CALL SUBSCREEN <subscreen area>.
Check the below sample program..
REPORT DEMO_DYNPRO_TABSTRIP_LOCAL.
CONTROLS MYTABSTRIP TYPE TABSTRIP.
DATA: OK_CODE TYPE SY-UCOMM,
SAVE_OK TYPE SY-UCOMM.
MYTABSTRIP-ACTIVETAB = 'PUSH2'.
CALL SCREEN 100.
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'SCREEN_100'.
ENDMODULE.
MODULE CANCEL INPUT.
LEAVE PROGRAM.
ENDMODULE.
MODULE USER_COMMAND INPUT.
SAVE_OK = OK_CODE.
CLEAR OK_CODE.
IF SAVE_OK = 'OK'.
MESSAGE I888(SABAPDOCU) WITH 'MYTABSTRIP-ACTIVETAB ='
MYTABSTRIP-ACTIVETAB.
ENDIF.
ENDMODULE.
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
CALL SUBSCREEN: SUB1 INCLUDING SY-REPID '0110',
SUB2 INCLUDING SY-REPID '0120',
SUB3 INCLUDING SY-REPID '0130'.
PROCESS AFTER INPUT.
MODULE CANCEL AT EXIT-COMMAND.
CALL SUBSCREEN: SUB1,
SUB2,
SUB3.
MODULE USER_COMMAND.
Cheers,
Abdul Hakim
mark all useful answers..
‎2006 Jun 02 12:51 PM
Hi,
In tabstrip.
each tab should have subscreen area assigned to the tab.
u can pick subcreen area from the toolbox and assign individual subscreen area to each tabstrip.
tab of the tabstrip contains asubscreen area and each subscreen can contain one or more screen.
Check this link for further details
<b>DIALOG Programming</b>
http://help.sap.com/saphelp_webas630/helpdata/en/9f/db9cdc35c111d1829f0000e829fbfe/content.htm
http://www.sapdevelopment.co.uk/dialog/dialoghome.htm
http://help.sap.com/saphelp_46c/helpdata/en/08/bef2dadb5311d1ad10080009b0fb56/content.htm
http://www.sapgenie.com/links/abap.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c9/5472fc787f11d194c90000e8353423/frameset.htm
http://help.sap.com/saphelp_47x200/helpdata/en/52/670ba2439b11d1896f0000e8322d00/frameset.htm
Mark Helpfull answers
Regards
Message was edited by: Manoj Gupta
Message was edited by: Manoj Gupta
‎2006 Jun 02 12:55 PM
hi,
If you need it in selection screen,check this link.
http://www.sapdevelopment.co.uk/reporting/selscr/selscr_tabstrip.htm
also Check this.
http://help.sap.com/saphelp_nw04/helpdata/en/17/5bf1b52ba211d2954f0000e8353423/content.htm
According to the tab pressed,you can write the coding in PAI and display the output in PBO.
Following is the sample code.I am using custom container.
CONTROLS: main_tab TYPE TABSTRIP.
DATA: BEGIN OF i_main_tab,
subscreen LIKE sy-dynnr,
prog LIKE sy-repid VALUE
'ZZZ_TABSTRIP',
pressed_tab LIKE sy-ucomm VALUE c_main_tab-tab1,
END OF i_main_tab.
MODULE status_9001 OUTPUT.
SET PF-STATUS 'ZSTATUS'.
SET TITLEBAR 'ZTITLE'.
main_tab-activetab = i_main_tab-pressed_tab.
CASE i_main_tab-pressed_tab.
WHEN c_main_tab-tab1.
IF o_custom_container1 IS INITIAL.
Creating Object
PERFORM f9000_objects_create.
Building the field catalog
PERFORM f9001_build_field_cat TABLES i_fcat
USING 'ZZZ_GRID'.
For Layout
PERFORM f9002_layout USING sy-title c_x c_a c_x.
i_main_tab-subscreen = '9100'.
Displaying data
CALL METHOD o_alvgrid1->set_table_for_first_display
EXPORTING
is_variant = w_variant
i_save = c_a
is_layout = w_layout
CHANGING
it_outtab = i_grid[]
it_fieldcatalog = i_fcat[]
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE i005 WITH text-009."Error in ALV report display
LEAVE LIST-PROCESSING.
ENDIF.
endif.
when c_main_tab-tab2.
if o_custom_container2 is initial.
perform f9000_objects_create1 using:
create custom container
'o_custom_container2' '' '' '',
Create splitter container
'o_splitter' o_custom_container2 '2' '1',
Create event reciever
'o_eventreceiver' '' '' ''.
Creating containers for the split grids
call method o_splitter->get_container exporting row = 1
column = 1
receiving container = o_container1.
call method o_splitter->get_container exporting row = 2
column = 1
receiving container = o_container2.
Set where the splits on the screen comes
call method o_splitter->set_row_height
exporting
id = 1
height = 45
exceptions
cntl_error = 1
cntl_system_error = 2
others = 3.
if sy-subrc ne 0.
perform f9003_error_handle using text-E04.
endif.
perform f9000_objects_create1 using:
Create the alv grids
'o_alvgrid2' o_container1 '' '',
'o_alvgrid3' o_container2 '' ''.
set handler o_eventreceiver->handle_double_click for o_alvgrid2.
perform f9001_build_field_cat tables i_fcat1
using 'ZZZ_GRID1'.
perform f9001_build_field_cat tables i_fcat2
using 'ZZZ_GRID2'.
For Layout
PERFORM f9002_layout USING sy-title c_x c_a c_x.
i_main_tab-subscreen = '9200'.
if not i_grid1[] is initial.
call method o_alvgrid2->set_table_for_first_display
exporting
is_variant = w_variant
i_save = c_a
is_layout = w_layout
CHANGING
it_outtab = i_grid1[]
it_fieldcatalog = i_fcat1[]
exceptions
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
others = 4.
if sy-subrc <> 0.
message i005 with text-009."Error in ALV report display
leave list-processing.
endif.
Populate the GRID2 data
read table i_grid1 into w_grid1 index 1.
if sy-subrc = 0.
if not i_grid2[] is initial.
Generate the grid2 data.
call method o_alvgrid3->set_table_for_first_display
exporting
is_variant = w_variant
i_save = c_a
is_layout = w_layout
CHANGING
it_outtab = i_grid2[]
it_fieldcatalog = i_fcat2[]
exceptions
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
others = 4.
endif.
endif.
else.
No data for the entered selection criteria
message i005 with text-010.
leave list-processing.
endif.
endif.
WHEN OTHERS.
DO NOTHING
ENDCASE.
ENDMODULE. " STATUS_9001 OUTPUT
&----
*& Module MAIN_TAB_ACTIVE_TAB_GET INPUT
&----
This is used to catch the pressed tab
----
MODULE main_tab_active_tab_get INPUT.
CASE sy-ucomm.
WHEN c_main_tab-tab1.
i_main_tab-pressed_tab = c_main_tab-tab1.
i_main_tab-subscreen = '9100'.
WHEN c_main_tab-tab2.
i_main_tab-pressed_tab = c_main_tab-tab2.
i_main_tab-subscreen = '9200'.
WHEN OTHERS.
DO NOTHING
ENDCASE.
ENDMODULE. " MAIN_TAB_ACTIVE_TAB_GET INPUT
&----
*& Module USER_COMMAND_9001 INPUT
&----
This is used for user command
----
MODULE user_command_9001 INPUT.
CASE sy-ucomm.
WHEN 'BACK'.
PERFORM exit_program.
SET SCREEN '0'.
WHEN 'EXIT' OR 'CANC'.
PERFORM exit_program.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " USER_COMMAND_9000 INPUT
For screen 9001 we need to write Flow logic as below. For subscreens, Flow logic is
not required.
PROCESS BEFORE OUTPUT.
MODULE STATUS_9001.
CALL SUBSCREEN main_tab_sca
INCLUDING i_main_tab-prog i_main_tab-subscreen.
*
PROCESS AFTER INPUT.
MODULE user_command_9001.
MODULE main_tab_active_tab_get.
rgds,
latheesh
‎2006 Jun 02 1:04 PM
Hi,
When you design Tabstrip on screen, in each tab page you have to design the subscreen area.
By default there are two tab pages for the Tabstrip. You need to define the Function code for each tab and inside each tab page, design(draw) the sub screen.
Defining tabstrip control is as follows.
controls <tabstrip name> type tabstrip.
Please reward points if the answer is helpful.
Regards,
S.Lakshmi
‎2006 Jun 02 1:04 PM
HI
I HAVE SOLVED THT ISSUE
THE OTHER THIN S WHEN I EXECUTE THE TRANSACTION IM GETTIN LIKE SCREEN MUST BE A INCLUDE SCREEN (SCREEN ERROR) WHAT DOES IT MEAN
‎2006 Jun 02 1:07 PM
Check if the Screens you have added in Tabstrip are Subscreens and are not Normal Screens