SAP ABAP 域(Domain)
在 ABAP 字典中定义数据的 3 个基本对象是 域、数据元素 和 表。
- **域 用于表字段的技术定义,如字段类型和长度,数据元素用于语义定义(简短描述)。
- 数据元素 描述特定业务上下文中域的含义。它主要包含界面中的字段帮助和字段标签。
域被分配给数据元素,数据元素又被分配给表字段或结构字段。例如,MATNR 域(CHAR material number)被分配给MATNR_N
、MATNN
和 MATNR_D
等数据元素,这些数据元素被分配给许多表字段和结构字段。
创建域
创建新域之前,请检查现有域是否具有表字段中所需的相同技术规格。如果是这样,我们应该使用现有的域。
让我们讨论一下创建域的过程:
- 步骤 1 - 转到事务 SE11。
步骤 2 - 在 ABAP 字典的初始界面中选择域的单选按钮,然后输入域的名称,如以下图所示。单击 CREATE 按钮。您可以在客户名称空间下创建域,并且对象的名称始终以 "Z" 或 "Y" 开头。
步骤 3 -在域维护界面的短文本字段中输入描述。在这种情况下,它是 "Customer Domain"(客户域)注意:在输入此属性之前,不能输入任何其他属性。
- 步骤 4 - 选项卡的 Format 栏中输入数据类型、字符数和小数位数。按 Output Length(输出长度)键,建议并显示输出长度。如果您覆盖建议的输出长度,则在激活域时可能会看到警告。您可以填写 Convers. Routine,Sign 和 Lower Case(如果需要)。但这些都是可选属性。
步骤 5 - 选择 Value Range 选项卡。如果域仅限于具有固定值,请输入固定值或间隔。如果系统在为引用此域的字段定义外键时必须将此表作为检查表,请定义值表。所有这些都是可选属性。
步骤 6 - 保存更改。此时会出现 Create Object Directory Entry 弹出窗口,并要求提供一个包。您可以输入正在使用的软件包名称。如果没有任何包,则可以在 Object Navigator 对象导航器中创建它,也可以使用 Local Object 本地对象按钮保存域。
- 步骤 7 - 激活您的域。单击激活图标(火柴杆图标)或按 CTRL+F3 激活域。将出现一个弹出窗口,其中列出了两个当前处于非活动状态的对象, 如下图所示:
- 步骤 6 - 此时,将激活标有 'DOMA' 且名称为
ZSEP_18
的顶部条目。高亮显示后,单击绿色勾选按钮。此窗口消失,状态栏将显示消息 'Object activated'(对象已激活)。
如果激活域时出现错误消息或警告,则会自动显示激活日志。激活日志显示有关激活流的信息。您还可以使用 Utilities(M) → Activation log 激活日志。