abap - 找出所有程序 dynpro 屏幕?

标签 abap dynpro

我是 ABAP 的新手,我想制作一个具有多个屏幕和一个初始主屏幕的程序,可以在其中看到所有程序屏幕的列表。我知道我可以对它们进行硬编码,但应该有更好的方法。

如果有任何类型的字段/区域,我需要使此列表可点击(转到屏幕)。到目前为止,我已经制作了一个初始屏幕,当按下 GO 按钮时,它会进入下一个屏幕

REPORT Z_UZD_1_LOCAL.
CALL SCREEN 1001.
MODULE STATUS_1000 OUTPUT.
*  SET PF-STATUS 'ZMENU'.
*  SET TITLEBAR 'ZMENU_PAINTER'.
CASE SY-UCOMM.
    WHEN 'EXIT'.
      LEAVE PROGRAM.
    WHEN 'BACK'.
      LEAVE PROGRAM.
     WHEN 'GO'.
      CALL SCREEN 1001.
  ENDCASE.
ENDMODULE.

MODULE STATUS_1001 OUTPUT.
*  SET PF-STATUS 'ZMENU'.
*  SET TITLEBAR 'ZMENU_PAINTER'.
CASE SY-UCOMM.
      WHEN 'GO2'.
      CALL SCREEN 1000.
  ENDCASE.
 ENDMODULE.

看起来像这样:

screenshot

Go to Personas 按钮会转到下一个屏幕,我想在查找按钮下列出所有屏幕。

最佳答案

您可以使用键 program = sy-repid 读取表 D020S 及其文本表 D020T,这应该给您所有属于该程序的 dynpros(sy-repid 是您的实际程序)。

这是你想要的吗?

关于abap - 找出所有程序 dynpro 屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35316043/

相关文章:

abap - 为什么在添加 DAYLIGHT SAVING TIME 时 CONVERT DATE 会因 sy-subrc 12 而失败?

include - 创建包含文件时出错 缺少 REPORT/PROGRAM 语句

abap - 触发选择开始

abap - 无法通过 VRM_SET_VALUES 选择值?

abap - 如何在 dynpro 的字段文本中显示下划线 _?

abap - 如何让我的数据显示在我的 ALV 中?

abap - 将新行写入文件

abap - 可以在程序加载时退出程序吗?

abap - 下拉框中的值未刷新

abap - ABAP 列表报告中的 AT LINE SELECTION 后返回按钮的事件?