ABAP语法基础3

SAP ABAP域

用于在ABAP字典中定义数据的三个基本对象是域,数据元素和表。域用于表字段的技术定义,例如字段类型和长度,数据元素用于语义定义(简短描述)。数据元素描述了特定业务环境中的域的含义。它主要包含字段帮助和屏幕中的字段标签。

域被分配给数据元素,数据元素又被分配给表字段或者结构字段。例如,将MATNR域(CHAR材料号)分配给诸如MATNR_N,MATNN和MATNR_D的数据元素,并且将这些分配给许多表域和结构域。

创建域(看教程即可)

在创建新域之前,请检查任何现有域是否具有表字段中所需的相同技术规范。如果是这样,我们应该使用现有的域。让我们讨论创建域的过程。

步骤1-转到事务SE11

步骤2-在ABAP字典的初始屏幕中选择域的单选按钮,然后输入域名称,如以下屏幕截图所示。 单击CREATE按钮。 您可以在客户名称空间下创建域,对象的名称始终以“Z"或“Y"开头。
步骤3 - 在域的维护屏幕的短文本字段中输入说明。 在这种情况下,它是“客户域"。 注意 - 在输入此属性之前,不能输入任何其他属性。

步骤4 - 在“定义"选项卡的“格式"框中输入数据类型,字符数和小数位数。 按下输出长度上的键,它建议并显示输出长度。 如果覆盖建议的输出长度,则可能会在激活域时看到警告。 你可以填写Convers。 例程,符号和小写字段(如果需要)。 但这些都是可选属性。

步骤5 - 选择值范围标签。 如果域限制为仅具有固定值,请输入固定值或间隔。 如果系统必须在为引用此域的字段定义外键时将此表建议为检查表,那么定义值表。 但所有这些都是可选属性。

步骤6 - 储存变更。 将显示“创建对象目录条目"弹出窗口,并要求提供包。 您可以输入您在其中工作的包名称。 如果您没有任何包,那么您可以在对象导航器中创建它,或者您可以使用本地对象按钮保存您的域。

步骤7 - 启用您的网域。 单击激活图标(火柴图标)或按CTRL + F3激活域。 将出现一个弹出窗口,其中列出了2个当前处于非活动状态的对象,如以下快照所示

步骤8 - 此时,将激活名为ZSEP_18的顶部条目“DOMA"。 由于突出显示,单击绿色勾号按钮。 此窗口消失,状态栏将显示消息“对象已激活"。

如果在激活域时发生错误消息或警告,则会自动显示激活日志。 激活日志显示有关激活流的信息。 您也可以使用实用程序(M)→激活日志调用激活日志。

数据元素(同样看教程即可)

数据元素描述ABAP数据字典中的各个字段,它们是复杂类型的最小不可分割单元,它们用于定义表字段的类型,表的结构组件或行类型。关于表字段的含义的信息以及关于编辑相应屏幕字段的信息可以被分配给数据元素。此信息自动可用于引用数据元素的所有屏幕字段。数据元素描述了基本类型或引用类型。

SAP ABAP表

可以独立于ABAP字典中的数据库来定义表。当在ABAP字典中激活表示,也在数据库中创建其字段的类似副本。在ABAP字典中定义的表自动转换为与数据库兼容的格式,因为表的定义取决于SAP系统使用的数据库。
表可以包含一个或多个字段,每个字段都是用其数据类型和长度进行定义。存储在表中的大量数据分布在表中定义的几个字段中。

表字段的类型
表由许多字段组成,每个字段包含许多元素。下表列出了表字段的不同元素:

编号1 元素和说明
1 Field name
这是给可以包含最多16个字符的字段赋予的名称。字段名称可以由数字,字母和下划线组成。它必须以字母开头。

2 Key flag
确定字段是否属于关键字字段

3 Field type
为字段分配数据类型

4 Field length
可在字段中输入的字符数

5 Field length
可在字段中输入的字符数

6 Short text
描述相应字段的含义

在ABAP字典中创建表(看教程即可)

SAP ABAP结构

结构是由存储器中一个接一个存储的任何数据类型的组件组成的数据对象。
结构对于绘制屏幕字段以及操作具有离散数量的字段定义的一致格式的数据是有用的。
结构在运行时可能只有一个记录,但是一个表可以由很多记录。

创建结构(看教程即可)

SAP ABAP视图

视图的行为就像数据库表。但它不会占用存储空间。视图的行为类似于虚拟表,即一个没有任何物理存在的表。通过组合包含关于应用对象的信息的一个或多个表的数据来创建视图。使用视图,可以表示表中包含的数据的子集,也可以将多个表连接到单个虚拟表中。

与应用程序相关的数据通过使用数据库视图分布在多个表中。它们使用内部连接条件来连接不同表的数据。维护视图用于显示和修改存储在应用程序对象中的数据。每个维护视图都具有与其关联的维护状态。我们使用投影视图来屏蔽不需要的字段,并只显示表中的相关字段。 必须在单个透明表上定义投影视图。 投影视图只包含一个表。 我们不能为投影视图定义选择条件。

创建视图(看教程即可)

搜索帮助

搜索帮助,ABAP字典的另一个存储库对象,用于以列表的形式显示字段的所有可能值。此列表也成为了命中列表。我们可以选择要从此命中列表的字段中输入的值,而不是手动输入值,这是冗长乏味和容易出错的。

创建搜索帮助(看教程即可)

SAP ABAP锁定对象

锁定对象是由ABAP字典提供的功能,用于通过多个程序同步对相同数据的访问。在特定程序的帮助下访问数据记录。锁定对象在SAP中使用,以避免在数据库中插入或更改数据的时候出现不一致。要锁定其数据记录的表必须在锁定对象中与其关键字段一起定义。

锁定机构

以下是使用锁定机制完成的两个主要功能
1.程序可以域其他程序关于它正在读取或改变的数据记录进行通信
2.程序可以放置子集读取刚刚被另一个程序改变的数据。

锁定请求首先由程序生成。然后,此请求转到Enqueue服务器,并在锁表中创建锁。Enqueue服务器设置锁定,并且程序最终准备好访问数据。

创建锁定对象(看教程)

SAP ABAP模块化

SAP ABAP模块化是一个很好的做法,保持我们的程序是自包含和尽可能容易阅读。只需要尝试将大型和复杂的任务分成更小和更简单的任务,将每个任务放置在其单独的模块中,开发人员可以集中精力,而不会分心。

在SAP ABAP环境中,模块化设计将程序组织成模块化单元,也成为了logical blocks。它减少了冗余并提高了程序可读性,即使是在创建它以及随后在维护周期中。模块化还使得相同代码的可重用性。ABAP已经使得开发人员需要模块化,即相对更多地组织程序,而不是具有相对更内置的模块化特征的基于OOPS的语言。一旦小的,模块化的代码段完成,调试等等,它随后不必被返回,并且开发人员可以继续前进并专注于其他问题。

ABAP程序由称为模块化处理快的处理快组成。他们是:
1.从程序外部和从ABAP运行时环境(即,事件块和对话模块)调用的处理快。
2.处理从ABAP程序调用的块。

除了使用处理块的模块化之外,源代码模块用于通过宏和包括程序对源代码进行模块化。
源代码级别的模块化:
1.Local Macros
2.Global Include programs

通过从ABAP程序调用的处理块进行模块化:
1.Subroutines
2.Function modules

模块化源代码意味着在模块中放置一个ABAP语句序列。模块化源代码可以根据用户的需求在程序中调用。源代码模块增强了ABAP程序的可读性和可理解性。创建单个源代码模块还防止了人们不断重复写入相同的语句,这反过来使得代码对于第一次通过它的人来说更容易理解。

SAP ABAP子程序(看教程)

子程序是一个可重用的代码段。它是程序中的模块化单元,其中函数以源代码的形式封装。我们将程序的一部分分页到子程序,以更好地概述主程序,并使用相应的语句序列多次。

假设我们由3个不同源代码块的程序X。每个块内的ABAP语句却相同。基本上,它们是相同的代码块。为了使这个代码更容易维护,我们可以将代码封装到一个子程序中。我们可以在我们的程序中多次调用这个子程序。

我们可以使用Form和EndForm语句定义子例程

FORM .



ENDFORM.

我们可以通过使用PERFORM语句来调用子例程。
控制跳转到子例程中的第一可执行语句。当遇到ENDFORM时,控制调回到PERFORM语句之后的语句。

例子:(看教程即可)

SAP ABAP 宏(看教程)

如果我们想在程序中多次重复使用同一组语句,我们需要将它们包含在宏中。
例如,宏可用于长计算或用于编写复杂的WRITE语句。我们只能在定义它的程序中使用宏。宏定义应在程序中使用宏之前发生。宏是基于占位符设计的。占位符的工作方式类似于C语言中的指针。我们可以在DEFINE…END-OF-DEFINITION语句中定义一个宏。

以下是宏定义的基本语法:

DEFINE  <>macro_name>.
END-OF-DEFINITION.
	......

	 [.....].

704/5000在调用它之前必须首先定义一个宏。
替换宏定义

SAP ABAP功能模块(看教程)

功能模块构成SAP系统的主要部分,因为多年来SAP使用功能模块模块化代码,允许代码自身,开发人员以及客户的代码重用。

功能模块是包含一组具有导入和导出参数的可重用语句的子程序。域包含程序不同,功能模块可以独立执行。SAP系统包含几个可从任何ABAP程序调用的预定义功能模块。该功能组用作一种逻辑上属于一起的多个功能模块。例如,人力资源工资系统的功能模块将被放在一起成为一个功能组。

要了解如何创建功能模块,必须探索函数构建起。您可以找到事务代码为SE37的函数构建器。只需用通配符键入功能模块名称的一部分,以演示可以搜索功能模块的方式。键入amount,然后按F4键。

SAP ABAP Include程序(看教程)

INCLUDE程序是用于模块化源代码的全局存储库对象。它允许我们在不同的程序中使用相同的源代码。
包含程序还允许我们以有序的方式管理迊的程序。
为了在另一个程序中使用include程序,我们使用以下语法:

INCLUDE.

INCLUDE语句具有域复制包含程序的源代码相同的效果。进入另一个程序。由于包括程序不能独立运行。我们也可以嵌套包含程序。

下面是几个限制,同事编写包含程序的代码:
1.Include programs can’t call themselves.
2.Include programs must contain complete statements.

以下是创建和使用Include程序的步骤:

你可能感兴趣的:(ABAP,数据库,mysql,sql)