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

tabsrip in module pool

Former Member
0 Likes
1,520

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

11 REPLIES 11
Read only

Former Member
0 Likes
1,200

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.

Read only

Former Member
0 Likes
1,200

Hi Varalakshmi,

Check the demo program:

DEMO_DYNPRO_TABSTRIP_LOCAL

Regards,

Ravi

Read only

Former Member
0 Likes
1,200

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

Read only

rahulkavuri
Active Contributor
0 Likes
1,200

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.

Read only

Former Member
0 Likes
1,200

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

Read only

abdul_hakim
Active Contributor
0 Likes
1,200

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..

Read only

Former Member
0 Likes
1,200

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://www.sap-img.com/

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

Read only

Former Member
0 Likes
1,200

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

Read only

Former Member
0 Likes
1,200

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

Read only

Former Member
0 Likes
1,200

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

Read only

0 Likes
1,200

Check if the Screens you have added in Tabstrip are Subscreens and are not Normal Screens