0

我有一个 SAP 经典输出报告,它可以有可变数量的页面,并且每个页面可以有可变数量的行。我希望能够一次向上或向下滚动一页。标准工具栏为此提供了一个按钮,但这不起作用,因为我没有指定页面有多少行 - 它只是向下滚动几行。使用

SCROLL LIST FORWARD 1 PAGES INDEX 0.

虽然达到了要求的效果。有没有办法重新分配标准工具栏上的按钮,让它触发运行该代码的事件?或者实现类似的东西?

我在想我可以做类似的事情

AT USER-COMMAND.
    CASE sy-ucomm.
        WHEN 'pgdn'.
            SCROLL LIST FORWARD 1 PAGES INDEX 0.
     ENDCASE.

但我还不能让它工作。

4

1 回答 1

1

我认为你必须创建一个 GUI 状态。像这样:

图形界面状态

然后设置 GUI 状态并编写命令:

report  zscroll.

data lines type i.

start-of-selection.
set pf-status 'ZSCROLL_GUI'. " Set GUI status

while lines <= 100. " Print sample data
  write / lines.
  add 1 to lines.
endwhile.

at user-command. " Your code here
    case sy-ucomm.
        when 'EXIT'.
          leave screen.
        when 'PGDN'.
          "Your code
        when 'PGUP'.
          "Your code
     endcase.

结果是这样的:

设置 GUI 状态并编写命令

最后,您从菜单或工具栏中单击一个按钮,您将看到“AT USER-COMMAND”事件正在工作:

调试

希望能帮助到你

于 2013-03-25T15:17:35.390 回答