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

Error in call subscreen.. CALL SUBSCREEN ref1.

Former Member
0 Likes
856

Hi Guru's

i am trying to use tabstrip. initially i have created the program using tabstrip control wizard. but now the same code i am writing using tabstrip control.

But while clicking 2nd tab i am getting errot as " Invalid field format (screen error)"

my code is

REPORT ytest2.

DATA: g_tabst_act TYPE sy-ucomm.

CONTROLS: tabstrip_control TYPE TABSTRIP.

DATA: BEGIN OF tabst,

prog TYPE sy-repid VALUE 'YTEST2' ,

screen TYPE sy-dynnr,

press_t TYPE sy-ucomm VALUE 'TAB2',

END OF tabst.

CALL SCREEN 100.

&----


*& Module STATUS_0100 OUTPUT

&----


  • text

----


MODULE status_0100 OUTPUT.

SET PF-STATUS 'ST'.

ENDMODULE. " STATUS_0100 OUTPUT

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


MODULE user_command_0100 INPUT.

CASE sy-ucomm.

WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.

SET SCREEN 0.

WHEN OTHERS.

tabst-press_t = sy-ucomm.

ENDCASE.

ENDMODULE. " USER_COMMAND_0100 INPUT

&----


*& Module ACTIVATE_TABSTRIP OUTPUT

&----


  • text

----


MODULE activate_tabstrip OUTPUT.

g_tabst_act = tabst-press_t.

tabstrip_control-activetab = g_tabst_act.

CASE g_tabst_act.

WHEN 'TAB1'.

tabst-prog = sy-repid.

tabst-screen = '1001'.

WHEN 'TAB2'.

tabst-prog = sy-repid.

tabst-screen = '1002'.

ENDCASE.

ENDMODULE. " ACTIVATE_TABSTRIP OUTPUT

screen flow logic is

PROCESS BEFORE OUTPUT.

MODULE status_0100.

MODULE activate_tabstrip.

CALL SUBSCREEN ref1 INCLUDING tabst-prog tabst-screen.

*

PROCESS AFTER INPUT.

MODULE user_command_0100.

CALL SUBSCREEN ref1.

Element list is..

+ TABSTRIP_CONTROL Tab 1 1 78 78 23

- TAB1 Push 1 1 4 4 1

- TAB2 Push 1 2 4 4 1

- REF1 Subsc 3 2 73 73 20

OK 0 0 20 20 1 OK

__ _ ____________________________________________________________________________________________________________________________________ _____ ___ ___ ___ ___ ___ ____ _

Can you please help me why i am geting this error.

Hi Guru's

i am trying to use tabstrip. initially i have created the program using tabstrip control wizard. but now the same code i am writing using tabstrip control.

But while clicking 2nd tab i am getting errot as " Invalid field format (screen error)"

my code is

REPORT ytest2.

DATA: g_tabst_act TYPE sy-ucomm.

CONTROLS: tabstrip_control TYPE TABSTRIP.

DATA: BEGIN OF tabst,

prog TYPE sy-repid VALUE 'YTEST2' ,

screen TYPE sy-dynnr,

press_t TYPE sy-ucomm VALUE 'TAB2',

END OF tabst.

CALL SCREEN 100.

&----


*& Module STATUS_0100 OUTPUT

&----


  • text

----


MODULE status_0100 OUTPUT.

SET PF-STATUS 'ST'.

ENDMODULE. " STATUS_0100 OUTPUT

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


MODULE user_command_0100 INPUT.

CASE sy-ucomm.

WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.

SET SCREEN 0.

WHEN OTHERS.

tabst-press_t = sy-ucomm.

ENDCASE.

ENDMODULE. " USER_COMMAND_0100 INPUT

&----


*& Module ACTIVATE_TABSTRIP OUTPUT

&----


  • text

----


MODULE activate_tabstrip OUTPUT.

g_tabst_act = tabst-press_t.

tabstrip_control-activetab = g_tabst_act.

CASE g_tabst_act.

WHEN 'TAB1'.

tabst-prog = sy-repid.

tabst-screen = '1001'.

WHEN 'TAB2'.

tabst-prog = sy-repid.

tabst-screen = '1002'.

ENDCASE.

ENDMODULE. " ACTIVATE_TABSTRIP OUTPUT

screen flow logic is

PROCESS BEFORE OUTPUT.

MODULE status_0100.

MODULE activate_tabstrip.

CALL SUBSCREEN ref1 INCLUDING tabst-prog tabst-screen.

*

PROCESS AFTER INPUT.

MODULE user_command_0100.

CALL SUBSCREEN ref1.

Element list is..

+ TABSTRIP_CONTROL Tab 1 1 78 78 23

- TAB1 Push 1 1 4 4 1

- TAB2 Push 1 2 4 4 1

- REF1 Subsc 3 2 73 73 20

OK 0 0 20 20 1 OK

__ _ ____________________________________________________________________________________________________________________________________ _____ ___ ___ ___ ___ ___ ____ _

Can you please help me why i am geting this error.

6 REPLIES 6
Read only

former_member770378
Active Participant
0 Likes
816

Did you defined screens 1001 and 1002 ?

Read only

0 Likes
816

Yeah it is already created

Read only

Former Member
0 Likes
816

Hi,

Check have you done this .....

"As this is done for you by the wizard, but if you are creating tab control manually you must do this....

*&SPWIZARD: OUTPUT MODULE FOR TS 'DEAL_TABS'. DO NOT CHANGE THIS LINE!

*&SPWIZARD: SETS ACTIVE TAB

MODULE DEAL_TABS_ACTIVE_TAB_SET OUTPUT.

DEAL_TABS-ACTIVETAB = G_DEAL_TABS-PRESSED_TAB.

CASE G_DEAL_TABS-PRESSED_TAB.

WHEN C_DEAL_TABS-TAB1.

G_DEAL_TABS-SUBSCREEN = '0101'.

WHEN C_DEAL_TABS-TAB2.

G_DEAL_TABS-SUBSCREEN = '0102'.

WHEN C_DEAL_TABS-TAB3.

G_DEAL_TABS-SUBSCREEN = '0103'.

WHEN C_DEAL_TABS-TAB4.

G_DEAL_TABS-SUBSCREEN = '0104'.

WHEN OTHERS.

*&SPWIZARD: DO NOTHING

ENDCASE.

ENDMODULE.

*&SPWIZARD: INPUT MODULE FOR TS 'DEAL_TABS'. DO NOT CHANGE THIS LINE!

*&SPWIZARD: GETS ACTIVE TAB

MODULE DEAL_TABS_ACTIVE_TAB_GET INPUT.

OK_CODE = SY-UCOMM.

CASE OK_CODE.

WHEN C_DEAL_TABS-TAB1.

G_DEAL_TABS-PRESSED_TAB = C_DEAL_TABS-TAB1.

WHEN C_DEAL_TABS-TAB2.

G_DEAL_TABS-PRESSED_TAB = C_DEAL_TABS-TAB2.

WHEN C_DEAL_TABS-TAB3.

G_DEAL_TABS-PRESSED_TAB = C_DEAL_TABS-TAB3.

WHEN C_DEAL_TABS-TAB4.

G_DEAL_TABS-PRESSED_TAB = C_DEAL_TABS-TAB4.

WHEN OTHERS.

*&SPWIZARD: DO NOTHING

ENDCASE.

ENDMODULE.

Hope it helps you,

Regards,

Abhijit G. Borkar

Read only

0 Likes
816

Hi Abhijit,

Are you trying to say that i should change the Table control name?

Read only

0 Likes
816

no not at all stick to the names given by you, i have pasted a sample code in my earlier post.....

the declarations used there are used in tab navigation so these are very important...

regards,

Abhijit G. Borkar

Read only

0 Likes
816

I am not geting your code.. What you want me to change.

Please explain why i am geting that error actually.