域固定值检查 (★★★)
#abap #abap-dictionary #abap-validation
概览表
| Mechanism (机制) |
Level (层级) |
Description (描述) |
| 域固定值 |
Domain |
离散值或区间限制 |
| 外键检查 |
Table Field |
引用检表验证 |
| 文本表 |
Table |
语言相关文本验证 |
域值范围 (Value Range)
在域定义的 Value Range 选项卡中设置:
| Type (类型) |
Description (描述) |
Example (示例) |
| Fixed Values (固定值) |
离散允许值列表 |
A, F, S |
| Intervals (区间) |
允许值的范围 |
1 - 999 |
固定值示例
1 2 3 4 5 6
| Domain: Z_AREA Value Range: Fixed Values: A → Administration personnel (管理人员) F → Flight personnel (飞行人员) S → Service personnel (服务人员)
|
- 固定值: 少量、稳定的值(如状态码)→ 定义在域上
- 检表: 大量、可能增长的值(如客户列表)→ 使用外键检查
固定值检查的工作方式
1 2 3
| 用户输入值 → 检查域的固定值/区间 → 通过/拒绝 ↓ 同时作为 F4 帮助的值来源
|
- 固定值自动成为 F4 帮助的候选值
- 所有使用该域的数据元素都会受到约束
- 修改域的固定值会影响所有引用该域的字段
固定值适用于少量且稳定的值。如果值经常变化或数量多,应使用外键检查。
输入检查层次
| Priority (优先级) |
Mechanism (机制) |
适用场景 |
| 1 |
域固定值 |
枚举值 |
| 2 |
外键检查 |
引用完整性 |
| 3 |
程序内检查 |
复杂业务逻辑 |
考试/测试模式
| Scenario/Keyword (场景/关键词) |
Answer (答案) |
| “固定值定义在哪里?” |
域的 Value Range 选项卡 |
| “固定值会影响 F4 帮助吗?” |
会,自动成为 F4 候选 |
| “大量可选值用什么机制?” |
外键检查(检表),不用固定值 |