我在 Dynpro 上设置了一个 Tabstrip。我有 2 个标签。在每个选项卡上,我设置了一个子屏幕。
0100 - 主屏幕
0110 - 子屏幕一
0120 - 子屏幕二
tabstrip 是用这些属性定义的。
标签:
Title strip Reference subscreen Function code Function type
Subscreen One SUB1 STP_CTGRY_TAB P
Subscreen Two SUB1 TRAN_TAB P
子屏幕(子屏幕区域):
SUB1
dynpro 0100 流逻辑为:
PROCESS BEFORE OUTPUT.
MODULE pbo.
CALL SUBSCREEN sub1 INCLUDING sy-repid dynnr.
PROCESS AFTER INPUT.
CALL SUBSCREEN sub1.
MODULE pai.
在程序级别我声明。
CONTROLS mytabstrip TYPE TABSTRIP.
DATA: ok_code LIKE sy-ucomm,
dynnr TYPE sy-dynnr.
在主屏幕 0100 PBO:
IF mytabstrip-activetab IS INITIAL OR dynnr IS INITIAL.
mytabstrip-activetab = 'STP_CTGRY_TAB'.
dynnr = '0110'.
ENDIF.
在主屏幕 0100 PAI:
CASE ok_code.
WHEN 'STP_CTGRY_TAB'.
dynnr = '0110'.
mytabstrip-activetab = ok_code.
WHEN 'TRAN_TAB'.
dynnr = '0120'.
mytabstrip-activetab = ok_code.
ENDCASE.
如果我调试我的程序并设置断点,tabstrip 就可以工作。如果我运行程序并更改标签条的标签,则似乎子屏幕冻结并与应显示的子屏幕重叠。总而言之,选项卡上的所有更改都不起作用。
我忘了任何代码吗?谁能帮助我我可能错过的东西?