2010 Jan 25 12:16 PM
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.
2010 Jan 25 1:52 PM
2010 Jan 27 3:59 AM
2010 Jan 27 4:46 AM
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
2010 Jan 27 5:50 AM
Hi Abhijit,
Are you trying to say that i should change the Table control name?
2010 Jan 27 6:56 AM
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
2010 Jan 27 7:01 AM
I am not geting your code.. What you want me to change.
Please explain why i am geting that error actually.
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |