文本表 (★★★)
#abap #abap-dictionary #abap-validation
概览表
| Element (要素) |
Description (描述) |
| Purpose (目的) |
存储多语言文本描述 |
| Key Structure (键结构) |
主表键 + Language (SPRAS) |
| Relationship (关系) |
与主表 N:1(一条主表记录对应多条语言文本) |
| Auto Usage |
自动用于 F4 帮助的文本显示 |
文本表结构
文本表是主表的附加描述表,按语言存储文本。
1 2 3 4 5 6 7 8 9
| 主表: ZDEPMENT## 文本表: ZDEPMENTT## ┌────────┬──────────┬───┐ ┌────────┬──────────┬──────┬──────┐ │ CLIENT │ CARRIER │DEP│ │ CLIENT │ CARRIER │ LANG │ TEXT │ │ (Key) │ (Key) │(K)│ │ (Key) │ (Key) │(Key) │ │ ├────────┼──────────┼───┤ ├────────┼──────────┼──────┼──────┤ │ 100 │ AA │01 │ │ 100 │ AA │ E │Sales │ │ 100 │ AA │02 │ │ 100 │ AA │ D │Verk. │ └────────┴──────────┴───┘ │ 100 │ AA │ E │Mkt │ └────────┴──────────┴──────┴──────┘
|
文本表的必要条件
| Condition (条件) |
Detail (详情) |
| 键结构 |
主表键字段 + Language 字段 |
| Language 字段 |
使用域 SPRAS |
| Language 外键 |
引用表 T002(语言表) |
| 文本字段 |
第一个字符型非键字段 |
| 外键类型 |
Key fields of a text table |
创建步骤
1 2 3 4
| 1. 创建文本表(结构与主表键 + LANG + TEXT) 2. 定义 DepCode → 主表的外键(从主表复制时已自动创建) 3. 定义 Language → T002 的外键 (因使用域 SPRAS,系统会自动提出 T002 作为检表)
|
文本表的自动使用
| Context (上下文) |
Behavior (行为) |
| F4 帮助 |
自动显示当前登录语言的文本 |
| SELECT |
text_table 的文本自动关联 |
| 维护视图 |
语言字段自动填入登录语言 |
当主表字段有检表(且该检表有文本表)时,F4 帮助自动显示:
与主表的关系
1 2 3 4
| ZDEPMENT## (主表) 1 ←──→ N ZDEPMENTT## (文本表)
外键方向: 文本表 → 主表(文本表引用主表) 基数: 1:CN(一条主表记录可对应 0 或多条不同语言的文本记录)
|
外键定义在文本表上(文本表引用主表),不是主表引用文本表。
考试/测试模式
| Scenario/Keyword (场景/关键词) |
Answer (答案) |
| “文本表的键结构?” |
主表键字段 + Language (SPRAS) |
| “Language 字段引用哪个检表?” |
T002(语言表) |
| “文本表与主表的基数?” |
1:CN(一条主表 → 多条语言文本) |
| “F4 帮助如何使用文本表?” |
自动显示当前登录语言的文本 |