在用户命令后再次将屏幕中的文本字段设置为可见
Set text field in screen visible again after user command
在我的 PBO 模块中,我有这样的东西:
LOOP AT SCREEN.
IF screen-name EQ 'LBL_TEST'.
screen-invisible = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
我想在 PAI 模块中的一些用户命令后再次设置 'LBL_TEST' 可见。我该怎么做?
此致,
帖木儿
你不能检查 PBO 中 sy-ucomm 的值吗? (我自己没查过,心里也不清楚,所以才问。)如果没有,可以声明一个全局变量:
DATA: gv_ucomm TYPE sy-ucomm.
将 sy-ucomm 的值移动到 PAI 中的这个全局变量中:
gv_ucomm = sy-ucomm.
并检查它在 PBO 中的值:
IF gv_ucomm EQ '...'.
... "turn on field
ELSE.
... "turn off field
ENDIF.
您必须在 PBO 中执行此操作。您可以在操作完成时设置一个全局参数,然后检查它。喜欢:
DATA: gv_checker.
PROCESS AFTER INPUT.
case ok_code.
when 'some_opp'.
gv_checker = 'X'.
endcase.
PROCESS BEFORE OUTPUT.
LOOP AT SCREEN.
IF screen-name EQ 'LBL_TEST'.
screen-invisible = '1'.
MODIFY SCREEN.
ENDIF.
if IF screen-name EQ 'LBL_TEST' and gv_checker = 'X'.
screen-invisible = '0'.
MODIFY SCREEN.
endif.
ENDLOOP.
在我的 PBO 模块中,我有这样的东西:
LOOP AT SCREEN.
IF screen-name EQ 'LBL_TEST'.
screen-invisible = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
我想在 PAI 模块中的一些用户命令后再次设置 'LBL_TEST' 可见。我该怎么做?
此致, 帖木儿
你不能检查 PBO 中 sy-ucomm 的值吗? (我自己没查过,心里也不清楚,所以才问。)如果没有,可以声明一个全局变量:
DATA: gv_ucomm TYPE sy-ucomm.
将 sy-ucomm 的值移动到 PAI 中的这个全局变量中:
gv_ucomm = sy-ucomm.
并检查它在 PBO 中的值:
IF gv_ucomm EQ '...'.
... "turn on field
ELSE.
... "turn off field
ENDIF.
您必须在 PBO 中执行此操作。您可以在操作完成时设置一个全局参数,然后检查它。喜欢:
DATA: gv_checker.
PROCESS AFTER INPUT.
case ok_code.
when 'some_opp'.
gv_checker = 'X'.
endcase.
PROCESS BEFORE OUTPUT.
LOOP AT SCREEN.
IF screen-name EQ 'LBL_TEST'.
screen-invisible = '1'.
MODIFY SCREEN.
ENDIF.
if IF screen-name EQ 'LBL_TEST' and gv_checker = 'X'.
screen-invisible = '0'.
MODIFY SCREEN.
endif.
ENDLOOP.