第 7 单元:用户对话练习(10 道题)

第 7 单元:用户对话练习(10 道题)

#practice #abap #abap-dialog

相关概念

📌关键模式(点击展开)
关键词 答案
PBO 时机 屏幕显示之前
PAI 时机 用户操作之后
SET SCREEN 0 返回/退出
INITIALIZATION 选择屏幕之前
START-OF-SELECTION 主处理
简单 ALV CL_SALV_TABLE

问题 1 - PBO 与 PAI [recall]

解释屏幕处理中 PBO 和 PAI 的区别。

📌显示答案
PBO(输出前处理):在屏幕显示之前运行。用于设置默认值、填充字段。PAI(输入后处理):在用户执行操作后运行。用于处理输入、评估功能码、确定下一个屏幕。

问题 2 - OK 代码字段 [recall]

屏幕编程中 OK 代码字段的用途是什么?

📌显示答案
OK 代码字段捕获用户操作的功能码(按钮点击、菜单选择)。定义为 TYPE syucomm,处理完毕后必须清空。

问题 3 - 屏幕导航 [recall]

SET SCREEN 0 的作用是什么?

📌显示答案
返回调用屏幕退出程序(如果没有调用屏幕)。

问题 4 - 事件顺序 [recall]

列出可执行程序的事件处理顺序。

📌显示答案
  1. LOAD-OF-PROGRAM
  2. INITIALIZATION(设置默认值,屏幕之前)
  3. AT SELECTION-SCREEN(验证输入)
  4. START-OF-SELECTION(主处理)
  5. END-OF-SELECTION(可选)

问题 5 - INITIALIZATION 的用途 [application]

为什么 INITIALIZATION 适合设置动态默认值?

📌显示答案
因为它在选择屏幕显示之前运行。此处设置的变量内容会成为屏幕上的默认输入值

问题 6 - 选择文本 [recall]

PARAMETERS 字段的选择文本在哪里维护?

📌显示答案
选择文本属于程序的文本元素——通过对象导航器或”转到”菜单维护,而不是直接在选择屏幕上

问题 7 - Web Dynpro MVC [recall]

MVC 代表什么,各角色的作用是什么?

📌显示答案
模型-视图-控制器:模型 = 数据,视图 = UI 布局,控制器 = 逻辑/事件。上下文充当数据容器。

问题 8 - ALV 类 [analysis]

比较 CL_SALV_TABLE 和 CL_GUI_ALV_GRID。

📌显示答案
CL_SALV_TABLE:简单、最少代码的显示。内置排序/筛选功能。CL_GUI_ALV_GRID:自定义容器中的高级 ALV。对布局、事件、自定义工具栏有完全控制。

问题 9 - 对话事务 [application]

创建对话事务的步骤是什么?

📌显示答案
  1. 创建模块池程序(类型 M)
  2. 创建带 PBO/PAI 模块的屏幕
  3. 使用”程序和屏幕(对话事务)”创建事务
  4. 输入程序名和初始屏幕编号
  5. 设置 GUI 支持并保存

问题 10 - SELECT-OPTIONS 与 PARAMETERS [analysis]

比较选择屏幕中的 PARAMETERS 和 SELECT-OPTIONS。

📌显示答案
PARAMETERS:单值输入。用于简单选择。SELECT-OPTIONS:范围/复杂选择,支持多种选项(值、范围、排除条件)。用于灵活的条件筛选。

📌模式总结(点击展开)
关键词 答案
PBO 屏幕显示之前
PAI 用户操作之后
SET SCREEN 0 返回/退出
INITIALIZATION 屏幕之前 — 默认值
START-OF-SELECTION 主处理
简单 ALV CL_SALV_TABLE
高级 ALV CL_GUI_ALV_GRID