SAP ABAP 变量

变量是用于在程序的分配的存储区域中存储值的命名数据对象。 顾名思义,用户可以在ABAP语句的帮助下更改变量的内容。 ABAP中的每个变量都有一个特定的类型,它决定了变量内存的大小和布局; 可以存储在该存储器内的值的范围; 以及可以应用于该变量的一组操作。

SAP ABAP 变量 图1
赛锐信息,SAP ERP定制,ERP定制

您必须先声明所有变量,然后才能使用它们。 变量声明的基本形式是

DATA <f> TYPE <type> VALUE <val>. 

这里< f> 指定变量的名称。 变量的名称最多可包含30个字符。 < type> 指定变量的类型。 具有完全指定的技术属性的任何数据类型被称为< type&gt ;. < val> 指定< f>的初始值。 变量。 在定义基本固定长度变量的情况下,DATA语句会自动使用类型特定的初始值填充变量的值。 < val>的其他可能值 可以是文字,常量或显式子句,例如Is INITIAL。

以下是变量声明的有效示例。

DATA d1(2) TYPE C.  
DATA d2 LIKE d1.  
DATA minimum_value TYPE I VALUE 10. 

在上面的代码片段中,d1是C类型的变量,d2是d1类型的变量,minimum_value是ABAP整数类型的变量。

本章将解释ABAP中可用的各种变量类型。 ABAP中有三种变量 –

  • Static Variables
  • Reference Variables
  • System Variables

静态变量

  • 静态变量在子程序,函数模块和静态方法中声明。
  • 生命周期与声明的上下文相关联。
  • 使用“CLASS-DATA”语句,可以在类中声明变量。
  • “PARAMETERS”语句可用于声明链接到选择屏幕上的输入字段的基本数据对象。
  • 您还可以使用“SELECT-OPTIONS”语句声明在选择屏幕上链接到输入字段的内部表。

以下是命名变量时使用的约定 –

  • 您不能使用特殊字符(例如“t”和“,”)来命名变量。
  • 无法更改预定义数据对象的名称。
  • 变量的名称不能与任何ABAP关键字或子句相同。
  • 变量的名称必须传达变量的含义,而不需要进一步的评论。
  • 连字符被保留以表示结构的组件。 因此,你应该避免在变量名中使用连字符。
  • 下划线字符可用于分隔复合词。

这个程序显示如何使用PARAMETERS语句声明一个变量 –

REPORT ZTest123_01. 
PARAMETERS: NAME(10) TYPE C, 
CLASS TYPE I, 
SCORE TYPE P DECIMALS 2, 
CONNECT TYPE MARA-MATNR. 

这里,NAME表示10个字符的参数,CLASS表示整数类型的参数,默认大小(以字节为单位),SCORE表示具有最多两个小数位的值的打包类型参数,CONNECT是指ABAP字典的MARA-MATNF类型 。

上面的代码产生以下输出:

SAP ABAP 变量 图2
赛锐信息,SAP ERP定制,ERP定制

参考变量

声明引用变量的语法是:

DATA <ref> TYPE REF TO <type> VALUE IS INITIAL. 
  • REF TO附加声明一个引用变量ref。
  • REF TO之后的规范指定了引用变量的静态类型。
  • 静态类型限制< ref>的对象集合。 可以参考。
  • 引用变量的动态类型是它当前引用的数据类型或类。
  • 静态类型总是更加通用或与动态类型相同。
  • TYPE添加用于创建绑定引用类型和起始值,并且只能在VALUE添加后指定IS INITIAL。

例子

CLASS C1 DEFINITION. 
PUBLIC SECTION. 
DATA Bl TYPE I VALUE 1. 
ENDCLASS. DATA: Oref TYPE REF TO C1 , 
Dref1 LIKE REF TO Oref, 
Dref2 TYPE REF TO I . 
CREATE OBJECT Oref. 
GET REFERENCE OF Oref INTO Dref1. 
CREATE DATA Dref2. 
Dref2→* = Dref1→*→Bl.
  • 在上面的代码片段中,声明了对象引用Oref和两个数据引用变量Dref1和Dref2。
  • 这两个数据引用变量都是完全类型化的,可以使用取消引用运算符→*在操作数位置取消引用。

系统变量

  • ABAP系统变量可从所有ABAP程序访问。
  • 这些字段实际上由运行时环境填充。
  • 这些字段中的值指示系统在任何给定时间点的状态。
  • 您可以在SAP中的SYST表中找到系统变量的完整列表。
  • 可以使用“SYST-“或“SY-“访问SYST结构的各个字段。

例子

REPORT Z_Test123_01. 

WRITE:/'SY-ABCDE', SY-ABCDE,       
      /'SY-DATUM', SY-DATUM, 
      /'SY-DBSYS', SY-DBSYS, 
      /'SY-HOST ', SY-HOST, 
      /'SY-LANGU', SY-LANGU,
      /'SY-MANDT', SY-MANDT,
      /'SY-OPSYS', SY-OPSYS,
      /'SY-SAPRL', SY-SAPRL,
      /'SY-SYSID', SY-SYSID,
      /'SY-TCODE', SY-TCODE,
      /'SY-UNAME', SY-UNAME,
      /'SY-UZEIT', SY-UZEIT.

上面的代码产生以下输出 

SY-ABCDE ABCDEFGHIJKLMNOPQRSTUVWXYZ  
SY-DATUM 12.09.2015 
SY-DBSYS ORACLE                   
SY-HOST sapserver 
SY-LANGU EN 
SY-MANDT 800 
SY-OPSYS Windows NT 
SY-SAPRL 700 
SY-SYSID DMO 
SY-TCODE SE38 
SY-UNAME SAPUSER 
SY-UZEIT 14:25:48

企业上SAP软件为何选择赛锐信息作为实施商?

1、致力于SAP ERP系统应用的服务商;

2、已为国内200多家SAP系统客户的ERP信息化建设提供了咨询及实施服务;

3、拥有完善的产品策划、研发、实验、测试、质量控制过程;

4、公司自主研发的AMS系列软件产品是国内首个用于SAP权限风险识别的增强系统;

5、为用户管理、风险规避和信息审计提供辅助工具;

6、帮助用户规范企业的管理行为,建立合规的管控流程,有效提高企业IT资产投资回报率;

7、技术指标上拥有完全的、独立的领先优势,可以满足市场竞争、技术许可和标准制定等方面的需要;

相关文章

联系我们

联系我们

130-0752-1773

在线咨询:点击这里给我发消息

邮件:info@sapzx.com

工作时间:周一至周五9:00-18:00,节假日正常休息

关注微信
关注微信
分享本页
返回顶部