导读:在使用子屏幕展示报表数据时,遇到了不少问题,在此做一个较为简单的介绍子屏幕的相关知识点。
一、子屏幕的定义。
子屏幕是一个独立的屏幕,显示在另一个(“主”)屏幕的区域中。(如下称主屏幕)
子屏幕允许您在运行时将一个屏幕嵌入另一个屏幕。 您可以在主屏幕上包括多个子屏幕。
子屏幕一词既适用于您嵌入的屏幕,也适用于您将其放置在主屏幕上的区域。
使用子屏幕时,嵌入式屏幕的流逻辑也嵌入在主屏幕的流逻辑中。因此,在屏幕上使用子屏幕就像在 ABAP 程序中使用 include 一样。
二、使用子屏幕的三个简单步骤
在主屏幕上定义子屏幕区域
定义合适的子屏幕
将子屏幕包括在主屏幕的子屏幕区域中
(注:创建子屏幕的过程和创建正常的主屏幕过程一样,只是显示在主屏幕的子屏幕区域内。)
三、主屏幕调用子屏幕的语法
CALL SUBSCREEN <area> INCLUDING [<prog>] <dynp>.
四、注意要点。
同样的,子屏幕和主屏幕一样,都拥有PBO 和PAI模块,但是需要注意的是如下几点与主屏幕不同的地方。
子屏幕上不应附带 OK_CODE 或 FCODE。 主屏幕本身的 OK_CODE 是子屏幕的 OK_CODE,但是子屏幕也有PAI模块,因此可以借用主屏幕的OK_CODE在子屏幕的PAI模块进行相关的业务逻辑判断。
子屏幕不能有任何包含 SET TITLEBAR,SET PF-STATUS,SET SCREEN,LEAVE SCREEN 或 LEAVE TO SCREEN 的对话框模块。 这将导致运行时错误。子屏幕和主屏幕共享一个标题和状态工具栏,因此在子屏幕中不允许出现子屏幕的标题与状态工具栏,相关操作应在主屏幕的工具栏和标题定义。
需要在主屏幕的流程逻辑(PBO 和 PAI)中调用它。
CHAIN..ENDCHAIN 和 LOOP ENDLOOP 语句中不允许使用 CALL SUBSCREEN
不能有 AT EXIT-COMMAND 模块
如果使用的字段是全局字段。 必须在顶部包括中声明它们
如果使用另一个对话框程序的子屏幕,则除非添加特定代码,否则不会进行数据传输。