ABAP 列表报告中的 AT LINE SELECTION 后返回按钮的事件?
Event for back button after AT LINE SELECTION in ABAP list report?
我有一个使用事件块 AT LINE SELECTION
(和 HIDE
)的列表报告。
AT LINE-SELECTION.
WRITE: 'Testline'.
* and some more things
当我双击主列表中的一行时,AT LINE SELECTION
被处理,主列表被替换为包含文本 'Testline'.
的列表
当我点击绿色后退按钮时,主列表再次显示。
一切正常。
现在回答我的问题:
当用户点击绿色后退按钮从详细列表转到主列表时,是否可以通过某种方式通知报表?
显而易见的解决方案AT USER-COMMAND
没有被调用。
这是我想再次 SUBMIT
相同报告以更新列表的事件。
(我知道我可以用 ALV 报告来做到这一点,但是这可以用简单的列表报告来实现吗?)
当您检查 documentation 时,您会发现以下信息:
- The function codes PICK and PF## ("##" stands for 01 to 24) do not cause the event AT USER-COMMAND, but the events AT LINE-SELECTION and AT PF##.
- All function codes that start with the character "%" are interpreted as system functions and do not cause the event AT USER-COMMAND. The system functions for lists are listed in the following table 1.
- The function codes in the following table 2, likewise, do not cause the event AT USER-COMMAND, but are handled by the list processor.
table 2 包括 BACK
(这是绿色箭头的默认代码)。
您可以做什么:写下您自己的状态。
REPORT ytest.
DATA pf_exclude TYPE TABLE OF sy-ucomm WITH HEADER LINE.
START-OF-SELECTION.
SET PF-STATUS 'LIST'. "<--- here
WRITE: / 'Hello World'.
AT LINE-SELECTION.
WRITE: 'Testline'.
* and some more things
AT USER-COMMAND.
BREAK-POINT.
CASE sy-ucomm.
WHEN 'MYBACK'.
ENDCASE.
现在您可以定义自己的状态:
- 不要忘记定义
PICK
- 否则双击将不起作用。
- 定义你自己的后退函数。
我有一个使用事件块 AT LINE SELECTION
(和 HIDE
)的列表报告。
AT LINE-SELECTION.
WRITE: 'Testline'.
* and some more things
当我双击主列表中的一行时,AT LINE SELECTION
被处理,主列表被替换为包含文本 'Testline'.
当我点击绿色后退按钮时,主列表再次显示。
一切正常。
现在回答我的问题:
当用户点击绿色后退按钮从详细列表转到主列表时,是否可以通过某种方式通知报表?
显而易见的解决方案AT USER-COMMAND
没有被调用。
这是我想再次 SUBMIT
相同报告以更新列表的事件。
(我知道我可以用 ALV 报告来做到这一点,但是这可以用简单的列表报告来实现吗?)
当您检查 documentation 时,您会发现以下信息:
- The function codes PICK and PF## ("##" stands for 01 to 24) do not cause the event AT USER-COMMAND, but the events AT LINE-SELECTION and AT PF##.
- All function codes that start with the character "%" are interpreted as system functions and do not cause the event AT USER-COMMAND. The system functions for lists are listed in the following table 1.
- The function codes in the following table 2, likewise, do not cause the event AT USER-COMMAND, but are handled by the list processor.
table 2 包括 BACK
(这是绿色箭头的默认代码)。
您可以做什么:写下您自己的状态。
REPORT ytest.
DATA pf_exclude TYPE TABLE OF sy-ucomm WITH HEADER LINE.
START-OF-SELECTION.
SET PF-STATUS 'LIST'. "<--- here
WRITE: / 'Hello World'.
AT LINE-SELECTION.
WRITE: 'Testline'.
* and some more things
AT USER-COMMAND.
BREAK-POINT.
CASE sy-ucomm.
WHEN 'MYBACK'.
ENDCASE.
现在您可以定义自己的状态:
- 不要忘记定义
PICK
- 否则双击将不起作用。 - 定义你自己的后退函数。