【发布时间】:2018-02-16 09:02:12
【问题描述】:
我有一个执行以下操作的程序:
用户要求程序在 ALV 中显示 Z* 表。
然后它选择一个表并按下按钮 SELECTTAB 它将运行以下命令:
**--Display screen with the fields listed for the given table
call screen 200 starting at 10 2 ending at 70 22.
但程序停止并出现以下错误:
不允许在模态对话框中调用屏幕(非模态)
我想要的是以下内容:
1. 用户从 ALV 中选择一个表。
2. 程序显示一个屏幕,其中包含表格的第 100 个字段,并带有一个复选框。用户选择想要的,然后按 OK。
3.系统将字段显示为选择屏幕,用户填写所需值并按OK。
4. 最后,程序将记录显示在 ALV 中,用户继续执行最终操作。
错误发生在第二步。
谢谢
【问题讨论】:
-
没有MWE,很难说什么。
-
Jagger,我已经在数据库中搜索并选择了所有以 Z 字母开头的表并将它们放在 ITAB 中。然后我用 FM REUSE_ALV_GRID_DISPLAY 显示结果(ITAB)。
-
Jagger,我已经在数据库中搜索并选择了所有以 Z 字母开头的表并将它们放在 ITAB 中。然后我用 FM REUSE_ALV_GRID_DISPLAY 显示结果 (ITAB)。然后用户选择具有表名的行并按下按钮 SELECTTAB。程序检查 sy-ucomm,如果它等于 SELECTTAB,则开始查找所选表的前 100 个字段,并向用户显示字段名称前的复选框。我想做的是将代码从 Z_DYMAMIC_SELECTION_SCREEN 转移到我的程序中。所以 CALL SCREEN 来自这个程序。