Abap 如何将一个选择屏幕包含到另一个屏幕中
我需要将给定程序的选择屏幕(Abap 如何将一个选择屏幕包含到另一个屏幕中,abap,dynpro,sap-selection-screens,Abap,Dynpro,Sap Selection Screens,我需要将给定程序的选择屏幕(ZPRG1)包含到另一个程序的(ZPRG2)子屏幕(100)中 当我运行下面的程序ZPRG2时,在显示任何屏幕之前,出现运行时错误DYNP\u错误的屏幕类型(错误的屏幕类型:屏幕定义不正确或使用不正确) ZPRG1(带有一个字段的选择屏幕1000测试): ZPRG2: REPORT zprg2. CALL SCREEN 100. MODULE pai INPUT. SET SCREEN 0. " close screen (all the time) ENDMOD
ZPRG1
)包含到另一个程序的(ZPRG2
)子屏幕(100
)中
当我运行下面的程序ZPRG2
时,在显示任何屏幕之前,出现运行时错误DYNP\u错误的屏幕类型
(错误的屏幕类型:屏幕定义不正确或使用不正确)
ZPRG1(带有一个字段的选择屏幕1000测试
):
ZPRG2:
REPORT zprg2.
CALL SCREEN 100.
MODULE pai INPUT.
SET SCREEN 0. " close screen (all the time)
ENDMODULE.
屏幕100:(ZPRG2的)
屏幕布局定义了子屏幕区域子区域
,以及任意数量的元素,流程逻辑如下:
PROCESS BEFORE OUTPUT.
CALL SUBSCREEN subarea INCLUDING 'ZPRG1' '1000'.
PROCESS AFTER INPUT.
CALL SUBSCREEN subarea.
MODULE pai.
如何防止运行时错误?在dynpro技术中,要将屏幕“a”包含在屏幕“B”中,屏幕“a”必须定义为子屏幕,屏幕“B”必须定义“子屏幕区域”以包含屏幕“a”。屏幕“B”的开头必须包含语句,该语句指静态或通过全局变量包含的子屏幕编号 与普通屏幕一样,选择屏幕也可以定义为子屏幕,方法是将其定义为“独立选择屏幕”(将其元素包装在ABAP语句和
选择屏幕结束和选择屏幕结束块
),并定义另一个包含此块的选择屏幕(ABAP语句)
下面是案例2的两个示例
示例1,带有默认选择屏幕(1000 cf脚注)
- 之前:
- 之后:
具有独立选择屏幕的示例2(1002,包括使用调用子屏幕子区域,包括“ZPRG1”“1002”。
)
- 之前:
- 之后:
脚注:
(1) 选择屏幕参数未放置在屏幕开始的选择屏幕中。。。屏幕结束…
是“默认选择屏幕”(1000
)的隐式部分。请注意,使用屏幕1000的SELECTION-SCREEN开头…
会导致语法错误。选择屏幕的工作原理与任何其他屏幕相同。您的问题是“如何将选择屏幕定义为子屏幕”,还是“如何将子屏幕包含到子屏幕区域”或这两个问题?嗨,桑德拉,请让我知道如何将选择屏幕定义为子屏幕?我已重新编写了该问题,以使其符合更多堆栈溢出原则(尤其是添加一个)。请确认它是否适合您的问题,或编辑它。你好,桑德拉,这个问题符合我的要求。我收到了相同的运行时错误:(
PROCESS BEFORE OUTPUT.
CALL SUBSCREEN subarea INCLUDING 'ZPRG1' '1000'.
PROCESS AFTER INPUT.
CALL SUBSCREEN subarea.
MODULE pai.
SELECTION-SCREEN BEGIN OF SCREEN 1001 AS SUBSCREEN.
PARAMETERS test AS CHECKBOX.
SELECTION-SCREEN END OF SCREEN 1001.
REPORT zprg1.
PARAMETERS test AS CHECKBOX. " screen 1000 cf footnote
REPORT zprg1.
SELECTION-SCREEN BEGIN OF BLOCK b1000.
PARAMETERS test AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK b1000.
SELECTION-SCREEN BEGIN OF SCREEN 1001 AS SUBSCREEN.
SELECTION-SCREEN INCLUDE BLOCKS b1000.
SELECTION-SCREEN END OF SCREEN 1002.
REPORT zprg1.
SELECTION-SCREEN BEGIN OF SCREEN 1002.
PARAMETERS test AS CHECKBOX.
SELECTION-SCREEN END OF SCREEN 1002.
REPORT zprg1.
SELECTION-SCREEN BEGIN OF SCREEN 1002.
SELECTION-SCREEN BEGIN OF BLOCK b1002.
PARAMETERS test AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK b1002.
SELECTION-SCREEN END OF SCREEN 1002.
SELECTION-SCREEN BEGIN OF SCREEN 1003 AS SUBSCREEN.
SELECTION-SCREEN INCLUDE BLOCKS b1002.
SELECTION-SCREEN END OF SCREEN 1003.