ABAP 表

ABAP 表

📊 表的基本概念

表的定义

表可以独立于ABAP字典中的数据库来定义。当在ABAP词典中激活表时,也在数据库中创建其字段的类似副本。

自动转换

在ABAP字典中定义的表自动转换为与数据库兼容的格式,因为表的定义取决于SAP系统使用的数据库。

表的结构

表由一个或多个字段组成,每个字段都使用其数据类型和长度进行定义。存储在表中的大量数据分布在表中定义的几个字段中。

🔧 表字段的类型

字段元素详解

编号 元素 说明 示例
1 字段名称 给字段赋予的名称,最多16个字符 CLIENT, NAME
2 键标志 确定字段是否属于关键字字段 ☑️ 主键字段
3 字段类型 为字段分配数据类型 CHAR, NUMC, DEC
4 字段长度 可在字段中输入的字符数 10, 20, 40
5 小数位数 定义小数点后允许的位数 2, 3
6 短文本 描述相应字段的含义 “客户ID”

字段命名规则

  • 长度限制:最多16个字符
  • 字符组成:数字、字母和下划线
  • 起始字符:必须以字母开头

🛠️ 在ABAP字典中创建表

步骤1:启动事务

使用事务 SE11,选择”数据库表”单选按钮,输入要创建的表名称(如ZCUSTOMERS1),点击创建按钮。

步骤2:基本信息设置

交货和维护选项卡

  1. 在简短说明字段中输入描述性短文本
  2. 点击交货类别字段旁边的搜索帮助图标
  3. 选择 “A [应用程序表(主数据和事务数据)]” 选项
  4. 从”数据浏览器/表视图维护”下拉菜单中选择”允许显示/维护”选项

步骤3:字段定义

选择字段选项卡,开始定义表字段:



graph TD
    A[表设计] --> B[字段定义]
    B --> C[字段名称]
    B --> D[数据元素]
    B --> E[键标志]
    
    C --> C1[CLIENT]
    C --> C2[CUSTOMER]
    C --> C3[NAME]
    C --> C4[TITLE]
    C --> C5[DOB]

步骤4:创建关键字段

CLIENT字段

  • 字段名称:CLIENT
  • 数据元素:MANDT
  • 设置:选中”键”框
  • 系统自动填写:数据类型、长度、小数和简短描述

CUSTOMER字段

  • 字段名称:CUSTOMER
  • 数据元素:ZCUSTNUM(需要创建)
  • 设置:选中”键”框

步骤5:创建数据元素

当数据元素不存在时,系统会提示创建:

  1. 双击新的数据元素
  2. 在”创建数据元素”窗口中回答”是”
  3. 在简短说明区域输入”客户编号”

步骤6:域的创建

基本数据类型定义

  1. 在”定义”选项卡中,点击数据类型框
  2. 从下拉菜单中选择 “NUMC” 类型
  3. 在”编号”中输入数字8
  4. 在”小数位数”区域中输入0
  5. 选择输出长度为8,按Enter键

字段标签创建

创建四个字段标签:

  • 短文本
  • 中等文本
  • 长文本
  • 标题

步骤7:保存和激活

  1. 点击保存按钮
  2. 激活对象
  3. 按F3返回维护/更改数据元素屏幕
  4. 保存并激活元素

步骤8:技术设置

从工具栏中选择”技术设置”:

设置项 选项 说明
数据类 APPL0 应用程序表
大小类别 0 第一个大小类别
缓冲选项 不允许缓冲 避免数据不一致

步骤9:最终激活

  1. 点击保存
  2. 回到表格并激活它
  3. 系统显示”表’ZCUSTOMERS1’被激活”

📝 表的创建流程总结

创建步骤图解



graph TB
    A[SE11事务] --> B[选择数据库表]
    B --> C[输入表名]
    C --> D[定义字段]
    D --> E[设置数据元素]
    E --> F[创建域(如果需要)]
    F --> G[设置技术属性]
    G --> H[保存激活]

字段创建注意事项

  1. 数据元素:每个字段必须具有数据元素
  2. 属性继承:字段从数据元素获取数据类型、长度、小数位数和短文本
  3. 键设置:关键字段必须选中”键”框
  4. 命名规范:字段名称必须以字母开头,最多16个字符

💡 表的使用场景

1. 数据存储

1
2
3
* 使用表存储数据
TABLES: scustom.
DATA: customer TYPE scustom.

2. 数据操作

1
2
3
* 读取表数据
SELECT * FROM scustom INTO TABLE lt_customers
WHERE carrid = 'LH'.

3. 表维护

1
2
3
4
5
* 维护表数据
CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
EXPORTING
action = 'A'
view_name = 'ZVIEW'.

⚠️ 重要注意事项

1. 激活顺序

  • 先激活域
  • 再激活数据元素
  • 最后激活表

2. 性能考虑

  • 合理设置缓冲选项
  • 选择合适的数据类
  • 考虑表的大小类别

3. 数据完整性

  • 定义合适的主键
  • 设置正确的数据类型
  • 使用适当的约束