ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ABAP--关于ABAP的屏幕编程的SCREEN SEQUENCE的说明ABAP--关于ABAP的屏幕

ABAP--关于ABAP的屏幕编程的SCREEN SEQUENCE的说明ABAP--关于ABAP的屏幕

原创 Linux操作系统 作者:vcdone 时间:2008-07-18 00:10:00 0 删除 编辑

最近一个网友提到他在做SCREEN编程时,一旦屏幕之间切换次数过多就会出现堆栈溢出的错误。经过分析他提供的信息,我得出错误的原因是他错误地使用CALL SCREEN语句来做屏幕之间的切换。由于SAP系统每次碰到CALL SCREEN语句就会产生新的SCREEN SEQUENCE(参见下图),而且SAP系统设置了SCREEN SEQUENCE堆栈不能超过50个,一旦超过就会出溢出错误。网友就是错误的使用CALL SCREEN 100 和 CALL SCREEN 200进行屏幕切换,不断地产生新的SCREEN SEQUENCE,可想而知溢出是必然的。在SCREEN调用碰到下一屏幕为0时,SCREEN SEQUENCE的才会结束,程序就回到CALL SCREEN的调用之处(也就是说我们可以用LEAVE TO SCREEN 0来结束当前SCREEN SEQUENCE)。

 

 为了避免产生新的SCREEN SEQUENCE,我们常常使用静态下一屏幕或动态下一屏幕来进行屏幕之间的切换。

方法如下:

1)静态制定下一屏幕

在进行屏幕设计是制定下一个屏幕;

2)动态设置下一屏幕

SET SCREEN 200. "该语句只是动态制定下一个屏幕,但不结束当前屏幕处理,只有LEAVE SCREEN才会结束屏幕的处理
LEAVE SCREEN.

或者

LEAVE TO SCREEN 200.

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15232529/viewspace-586631/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-08-19

  • 博文量
    16
  • 访问量
    13880