ABAP学习笔记之——第七章:ABAP数据字典
创始人
2024-03-14 23:39:10
0

一、数据字典

        在 ABAP 程序里使用的所有对象 (表、视图、结构体、类型等)统称为 ABAP 数据字典。这些对象的信息叫 Metadata 或者 Data Definition,另外,ABAP 数据字典有定义和管理数据结构,集中管理系统中使用的对象的功能。

数据字典类型:

1、数据库对象:

表:存储系统中生成的数据实际物理内存,是数据库的主干。

视图:由一个以上的表逻辑性结合在一起的结构,因此没有实际存储的数据,只是结合表中的数据,主要用于查询符合条件的数据。

2、类型定义:

数据元素(基本类型与参照类型): 包含字段的描述且可以参照域生成。域是定义表字段的技术属性的对象,在 ABAP 程序中不能直接参照域定义变量。

结构体(结构体类型):由拥有类型的组件构成。

表类型:用于定义内表的技能属性,其中存在特殊结构的 Range 表类型

3、Abap工具:

二、表

表由二维结构模型(Matrix)构成。列中显示各自的名字及属性,这些称之为字段 (Field)。字段是固定的,拥有不重复的唯一的名字及属性。表可以指定一个或多个字段作为主键,并且通过这些主键控制重复数据的产生。除了主键以外的字段叫一般字段General Field)或者叫功能字段(Functional Field)。另外,表的行坐标用行(Line)、元组(Tuple)、记录 (Record)、数据 (Data) 等术语表达。

表分三种:透明表、池表、簇表。池表、簇表是把多个表组合成一个ABAP数据字典对象。 

表属性:

表字段有字段名及属性。存在主键。

表字段包含以下属性:

字段名:最大长度为 16 位,要以字母开头,允许使用下画线 (_)。

主键选项:定义表主键。

字段要指定为主键时选择 Key 选项。一般把唯一可以区分数据的字段设置为主键。

一个表最多可以指定 16 个主键

主键字段长度合计长度可达 120。

主键基本上都选择Initial Value

选项创建表时自动创建以主键构成的主索引。

初始值:用于设置字段的初始值。

NULL与Initial value(初始值)的区别:

NULL 是指“无”。

NULL 是指不存在值。不占用内存空间。

NULL 不可能是下列值。

:0,’’,SPACE,空

NULL 不能作为分配、运算、比较用对象。

在ABAP语言中类似于IS NULLIS NOT NULL的比较运算符可以用在 SOL语句中

Initial Value 是指“有”

-Initial Value 是指存在值。因此占用内存空间。

-Initial Value 可能会是下列值。

:0,,SPACE,空

-Initial Value 可以作为分配、运算、比较用对象。

在ABAP 语言中可以使用类似于IS INITIALIS NOTINITIAL 比较运算符

字段类型:定义如字符型,数字型等数据类型

字段长度:定义字段可容纳的数据长度。

小数位:指定小数位。

描述:记述字段意义的内容。

表创建涉及的Delivery Class

外部键定义该表与其他表之间的关系。

一般外部键:只将检查表的一部分主键定义成了外部键。此时,在外部表中追加数据,则只会检查设定为外部键的字段是否存在。这种情况叫一般外部键定义。

静态外部键:外部键中可以指定常量。当该字段的值和常量一致时才能输入值,否则就无法输入值。

技术属性设置表数据的总件数、缓冲设定等表属性。

Include结构体:创建一个公用的结构体,当很多表重复使用相同的字段时,可直接将此结构体包含到表中。

Append结构体:在实际业务中使用的 Append 结构体是指把一个结构体追加到一个表(或结构体)的方法,换句话说,就是不用直接修改表而可以追加字段的方法。

Append 结构体有下列几种功能

在标准或者 CBO 表中追加新字段

在现存表中追加及定义外部键。

在现存表中追加检索帮助。

索引可以提高查询数据的速度,在表中创建索引。若表中已经追加了索引,则每当往表中追加数据时索引中也要一起追加,因此读取速度提高的同时插入数据的速度反而下降

 

三、结构体

        结构体 (Structure) 和表一样由字段构成,但不能存储数据,只是拥有结构。在实际数据库中不存在,而只存在于 ABAP 数据字典中,是一个类型。

        结构体在 ABAP 程序中是以参照类型或表及结构体的从属结构 (INCLUDE、APPEND)形式使用的。类似于表用TABLES 语句定义结构体,可以当个别程序的工作区使用。另外,结构体可以用于定义模块池画面(Screen)的接口及函数的参数类型。

        结构体可以包含其他结构体且可以无限包含。

四、视图

关系型数据库中存在多个表,且这些表中的数据很多情况下都是分散存在的。在这种情况下需要一次查询所有数据时就要使用视图。

 

视图类型:

数据库视图 (Database View)。

数据库视图是在多个表中提取必要的数据的视图。激活视图后在 ABAP 数据字典中可以使用,它是通过ABAP数据字典定义的,因此和一般ABAP数据字典表一样可以用OPEN SOLNATIVE SOL 从程序中读取数据。

投影视图 (Projection View)。

可以同时维护多个表中的数据的对象叫维护视图,此时表之间是由外部键连接在一起的。SAP R/3 是逻辑性单位,因此很多情况下数据都存在于多个表中。此种情况下利用维护表可以一次性查询/变更/创建所有数据。

帮助视图 (Help View)。

维护视图(Maintenance View)

创建视图可能会用上的属性工具:

视图字段选项:

 视图访问选项:

 表维护器选项:

五、表类型

表类型特性:

为了定义内表行数据类型属性与结构体的行类型

为了访问及内表数据的选项 (Access Mode)。

内表的主键(主键定义与主键范畴)。

创建表类型相关说明:

访问模式:

 主键定义:

访问模式与主键范畴:

 

RANGE表类型:RANGE 表类型是特殊表类型,在 ABAP 程序中当 RANGE 变量使用。

RNAGE 表类型是 ABAP 数据字典,因此是在所有程序中都可以使用的对象。与此相反,RANGE变量是在个别程序中用 RANGES 语定义而使用的对象。RANGES 变量的结构与带表头的 SELECT-OPTIONS 的结构相同。若从部传入值为目的的对象是 SELECT-OPTIONS,则RANGES 变量主要用于内部变量。本地 RANGE 变量使用下列语句定义。        

RANGE变量由下面4个结构组成:

SIGN: I(Inclusive), E(Exclusive)。

OPTION: EQ (等于),BT (区间值),GE (大于等于),LE (小于等于),GT(大于),LT (小于),NE(不等于),CP (包含)。

LOW: FROM值。

 

六、域

定义:域(DOMAIN)是定义字段的技术属性,是分配到数据元素中使用的对象。

定义表字段类型、长度等技术属性的对象叫域,而记述字段内容等信息的对象叫数据元素。所有表与结构体可以使用分配了域的数据元素定义字段。

 

七、数据元素

定义:数据元素就是拥有表字段的所有信息的 ABAP 数据字典对象。

数据元素与基本类型:

定义元素的技术属性方法有两种:

  • 使用域。在前面已经介绍,域是 ABAP 数据字典中独立存在的存储对象,是定义数据元素的技术属性的对象。一个域可以在多个数据元素中使用。
  • 直接使用数据类型。数据类型 (Data Type) 是事先定义在ABAP 数据字典中的经常使用的数据类型,和基本数据类型一样可以在程序内参照使用。

基本数据类型与数据字典类型

 数据字典类型种类:

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...