Appearance
ABAP 数据字典数据类型详解
一、数据类型分类
ABAP 数据字典中的数据类型可分为以下四类:
1. 数据元素(Data Element)
- 定义:描述字段的最小逻辑单元,包含技术属性(数据类型、长度)和语义属性(字段标签、帮助文档):ml-citation
- 特点:
- 必须基于域(Domain)或直接引用预定义类型(如 CHAR、NUMC)
- 支持字段级语义描述(如字段标签、搜索帮助):ml-citation
- 示例:
ZEMP_NAME
可定义为字符型,长度 20,用于存储员工姓名
2. 结构(Structure)
- 定义:由多个字段组合而成的复合数据类型:ml-citation
- 特点:
- 不存储实际数据,仅作为逻辑结构存在
- 可嵌套其他结构或表类型
- 示例:
ZADDRESS
结构可包含STREET
、CITY
、POSTCODE
等字段
3. 表类型(Table Type)
- 定义:定义内表(Internal Table)结构的模板:ml-citation
- 配置要素:
- 行类型(Line Type):引用数据元素或结构
- 访问模式(Access Mode):如排序表、哈希表
- 主键定义
- 示例:
ZEMP_TAB
可定义为基于ZEMP_STRUCT
结构的排序表
4. 域(Domain)
- 定义:技术属性的基础定义单元,用于规范字段取值范围:ml-citation
- 功能:
- 设置数据类型(如 CHAR、DEC、CURR)
- 定义值范围(固定值/区间)
- 指定转换规则(如货币单位关联)
- 示例:
ZD_AMOUNT
可定义为 DEC(15,2) 类型,关联货币字段WAERS
二、使用场景及示例
1. 字段标准化
abap
" 创建域
DOMAIN ZD_GENDER.
DATATYPE: CHAR(1),
VALUE RANGE: 'M'/'F'
" 创建数据元素
DATA ELEMENT ZE_GENDER.
DOMAIN: ZD_GENDER,
LABEL: '性别':ml-citation{ref="5,7" data="citationList"}
2. 复杂结构定义
abap
" 创建地址结构
STRUCTURE ZADDRESS:
STREET TYPE ZE_STREET,
CITY TYPE ZE_CITY,
COUNTRY TYPE LAND1:ml-citation{ref="1,5" data="citationList"}
3. 内表模板
abap
" 定义表类型
TABLE TYPE ZEMP_TT
LINE TYPE ZEMP_STRUCT
ACCESS MODE SORTED
UNIQUE KEY empno:ml-citation{ref="7,8" data="citationList"}
三、使用规范
1、命名约定:
- 数据元素建议以 Z* 或 Y* 开头
- 域建议采用 ZD_* 前缀6
2. 关联性要求:
- 货币字段(CURR)必须关联货币单位字段
- 数量字段(QUAN)必须关联单位字段68
3. 复用原则:
- 相同业务含义的字段应引用同一数据元素
- 跨模块使用的域需定义全局值范围
四、事务代码速查
操作类型 | 事务代码 | 说明 |
---|---|---|
数据元素创建 | SE11 | 需关联域或直接定义基本类型,遵循命名规则(如ZE_MM_ZJSRY) |
结构维护 | SE11 | 支持字段嵌套定义,通过组合多个数据元素/结构实现层次化数据结构 |
表类型配置 | SE11 | 需指定行类型(结构/表类型)和主键,需激活并设置技术属性(如APPL0) |
域管理 | SE11 | 设置数据类型(CHAR/INT等)、长度、值范围及转换规则(如大小写敏感) |