单元 1:字典概述练习(8 道题)

单元 1:字典概述练习(8 道题)

#practice #abap #abap-dictionary #abap-dictionary-overview

相关概念

📌关键模式(点击展开)
Keyword (关键词) Answer (答案)
字典事务码 SE11
类型定义三大类 Data Element, Structure, Table Type
域能否在程序中直接使用 不能,必须通过数据元素
激活后的效果 自动反映到数据库

问题 1 - 字典核心功能 [recall]

ABAP 字典的三大核心功能区域是什么?每个区域举两个例子。

📌显示答案
  1. 类型定义 (Type Definitions): Data Element(数据元素)、Structure(结构)、Table Type(表类型)
  2. 数据库对象 (Database Objects): Table(表)、View(视图)、Index(索引)
  3. 服务 (Services): Search Help(F4 帮助)、Lock Object(锁)、Buffering(缓冲)、Logging(日志)

问题 2 - 类型层次关系 [recall]

画出域、数据元素、结构和表类型之间的层次依赖关系,并解释每一层的作用。

📌显示答案
1
2
3
4
5
6
Domain (域) — 技术属性(类型、长度、值域)
└── Data Element (数据元素) — 语义属性(标签、文档)
├── Structure (结构) — 组件集合
│ ├── 嵌套结构
│ └── 深层结构(含内表)
└── Table Type (表类型) — 内表描述

定义技术属性,不能在程序中直接引用;数据元素连接域和使用场景,包含语义信息;结构是组件的集合;表类型描述内表的行结构和访问方式。


问题 3 - 字典服务功能 [recall]

ABAP 字典提供了哪些服务(Services)?列出至少四个。

📌显示答案
  1. Search Helps (F4 输入帮助) — 候选值列表
  2. Field Documentation (F1 字段帮助) — 字段说明文档
  3. Foreign Keys (输入一致性检查) — 引用完整性验证
  4. Lock Objects (锁管理) — 并发访问控制
  5. Buffering (缓冲) — 性能优化
  6. Logging (变更日志记录) — 数据变更追踪

问题 4 - 激活与自动反映 [recall]

在 ABAP 字典中激活一个表定义时,系统会做什么?修改表定义后又会怎样?

📌显示答案
激活透明表定义时,系统会自动在底层数据库中创建对应的数据库表。修改表定义后,数据库结构也会自动调整。字典中定义的对象在激活时自动反映到数据库层。

问题 5 - 与开发环境集成 [recall]

ABAP 字典与哪些开发/运行环境组件集成?列出至少三个集成点。

📌显示答案
集成点 说明
ABAP 解释器 程序生成时访问类型定义
Screen Painter “Get from Dictionary” 功能直接使用字段定义
数据库接口 使用存储的表/视图信息访问数据库
即时生效 字典中的每次变更立即影响所有相关程序和屏幕

问题 6 - 字典事务码 [application]

你需要创建一个新的透明表。应该使用哪个事务码?在创建后,用户如何验证表已经在数据库中创建?

📌显示答案
使用事务 SE11 创建透明表。创建并激活后,可以通过 SE11 中的 Utilities → Database Object → Display 来查看数据库中是否已成功创建对应的数据库表。也可以通过事务 SE16 测试数据访问。

问题 7 - 服务选择决策 [analysis]

一家公司需要为新开发的客户表同时实现:(1) 输入时验证航空公司代码;(2) 多用户同时编辑时的数据保护;(3) 每月统计表的修改记录。应该分别使用字典的哪些服务?

📌显示答案
  1. 输入验证 → 使用 Foreign Keys(外键),将航空公司代码字段定义为引用 SCARR 表的外键
  2. 并发保护 → 使用 Lock Objects(锁对象),创建基于该表的锁对象
  3. 变更记录 → 使用 Logging(日志),在表的技术设置中启用日志记录,同时确保 Profile 参数 rec/client 已配置

问题 8 - 即时生效的影响 [application]

一个开发者在字典中修改了某个数据元素的字段标签(从 “Name” 改为 “Full Name”)并激活。这对现有程序和屏幕有什么影响?

📌显示答案
字典中的每次变更立即影响所有相关程序和屏幕。激活后,所有使用该数据元素的屏幕字段标签都会自动更新为 “Full Name”。Screen Painter 中 “Get from Dictionary” 功能获取的字段定义也会反映新标签。这体现了字典作为集中类型管理的核心优势——一处修改,全局生效。

📌模式总结(点击展开)
Keyword (关键词) Answer (答案)
字典事务码 SE11
三大功能区域 类型定义、数据库对象、服务
域的作用 技术属性(不能直接引用)
数据元素的作用 语义属性,连接域和使用场景
激活效果 自动反映到数据库
即时生效 变更立即影响所有相关程序和屏幕
输入验证服务 Foreign Keys
并发保护服务 Lock Objects
变更追踪服务 Logging