最近一个网友提到他在做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 SCREEN200. "该语句只是动态制定下一个屏幕,但不结束当前屏幕处理,只有LEAVE SCREEN才会结束屏幕的处理
LEAVE SCREEN.
或者
LEAVE TO SCREEN 200.
分享到:
相关推荐
ABAP - Keyword Documentation This documentation describes the syntax and meaning of the keywords of the ABAP language and its object-oriented part ABAP Objects. Alongside this, language frameworks ...
ABAP-选择屏幕 Dynpros 基础 通过这个屏幕实例可以了解屏幕元素的构成,及屏幕事件。
ABAP-培训教材附录 ABAP-培训教材ABAP-培训教材ABAP-培训教材ABAP-培训教材
CD260-ABAP-in-Eclipse-开发-CN CD260-ABAP-in-Eclipse-开发-CNCD260-ABAP-in-Eclipse-开发-CNCD260-ABAP-in-Eclipse-开发-CN
eclipse-abap-keywordcolors eclipse-abap-关键字颜色
ABAP-EXCEL编程 完整详细例子
SAP-ABAP SELECT-SCREEN 的几个用法 SAP中调用外部程序(RFC) ABAP 读EXCEL 到内表 ABAP总结之BDC完整版 ABAP的面向对象-class的定义 SAP ABAP程序优化方法 table_control中的小操作 ABAP 搜索帮助 ABAP如何自定义...
ABAP-OOP-Library, 面向对象的编程库 ABAP对象定位程序库安装手动创建下面列出的字典类型使用基于源类编辑器和常规编辑器来导入所有类。接口和程序。某些软件包使用邮件类。 这些消息保存在。messageclass 。txt文件...
ABAP-根据T-CODE找用户出口;ABAP-根据T-CODE找用户出口
ABAP-WebDynpro实例.docx
ABAP-学习笔记-通用
SAP-ABAP-OO-实现-CL-SALV-TABLE
SAP方丈-ABAP-SAP增强应用实例
SAP-ABAP-Certification-Review.pdf
SAP初探之ABAP-数据库对象 解释说明 在ABAP里面 面向对象的概念
SAP中文教材全系列之:ABAP中文标准教材-BC400_ZH_Col63_FV_Part_A4 陆续更新中。
ABAP-数据类型学习笔记
ABAP-透明表学习笔记.py
SAP资料集有ABAP-PP-MM-RFC-BAPI-JCO等.rar
ABAP-OLE[借鉴].pdf