第 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]
列出可执行程序的事件处理顺序。
📌显示答案
- LOAD-OF-PROGRAM
- INITIALIZATION(设置默认值,屏幕之前)
- AT SELECTION-SCREEN(验证输入)
- START-OF-SELECTION(主处理)
- 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]
创建对话事务的步骤是什么?
📌显示答案
- 创建模块池程序(类型 M)
- 创建带 PBO/PAI 模块的屏幕
- 使用”程序和屏幕(对话事务)”创建事务
- 输入程序名和初始屏幕编号
- 设置 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 |