点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
原文链接:https://mp.weixin.qq.com/s/OBKx5SIpdfQ_NJZAn1Yu-A
大家可以关注我个人公众号,所有分享内容,会在公众号第一时间推送,且阅读排版更好。
愿大家的学习,轻松且愉快。
如果大家觉得有用,希望转发关注,谢谢
导读
本篇我们简单介绍一下数据对象中,变量和常量的定义方式。
注意:本篇只是简单分享了常用语法结构,具体其他技术细节,请大家自行测试。
正文
变量的定义
常见定义变量的方式有两种:DATA 和 LIKE.
DATA是通过数据类型去定义变量;
LIKE是通过数据对象去定义变量。
1.DATA+TYPE
用数据类型去定义变量
1.1语法结构:DATA varname (length) TYPE type DECIMALS decimals VALUE 'value'.
1.2 语法分析
在上述语法结构中:蓝色字体均为关键字,我们根据关键字的内容就能判断其作用。
关键字DATA:是我们定义变量的关键字,后面的name就是定义此变量的具体名称;
关键字TYPE:后面所跟的内容,是指这个变量的具体数据类型;
关键字VALUE:后面所跟的内容,是指这个变量还未经过程序逻辑预算时的初始值;
关键字DECIMALS:后面所跟的内容,是指这个变量的小数位。
注意1:在定义变量时,上述的关键字中“DATA和TYPE”是必须存在的,我们在程序中定义一个变量,最基本的必须告诉系统你定义的变量是什么名字,且具体是什么类型,之于有没有初始值,有没有小数位,这个是可选的。
注意2:TYPE 与 TYPES的区别,TYPE是在定义数据对象时,定义改数据对象的类型时使用的;而TYPES,是我们是定义数据类型时使用的。这个可以参考前一篇的内容。
1.3 举例说明
1.3.1用预定义类型定义变量
第一行,我们定义了一个名称为“name1”的变量,且类型为CHAR;
第二行,我们定义了一个名称为“name2”的变量,长度为10,类型为CHAR,且初始值为kerwin;
第三行,我们定义了一个名称为“temp”的变量,长度为10,类型为P,小数位为3位,且初始值为12345.123。
注意:如上图,并不是每定义一个变量都得已DATA开头,如果我们需要定义多个变量,也可以如下图所示,在DATA后加上冒号,并通过逗号隔开不同的变量,最后用句点结尾。
1.3.2用自定义数据类型
如上图所示,我们定义了三个单一数据元素的自定义数据类型和一个结构的数据类型,再通过这个三个单一数据元素的数据类型去定义了三个单一变量和一个结构变量。
2.DATA+LIKE
用数据对象去定义变量。
2.1语法结构:DATA varname (length) LIKE data object VALUE 'value'.
2.2语法解析:
LIKE后面跟的是一个现存的数据对象,比如,SAP中已经定义好的表字段,比如“mara-matnr ”等,或者系统变量,比如SY-TCODE等,以及程序中本来已经定义好的其数据对象;
3.3 举例说明
如上图,我们用like定义了三个变量。
第一个lv_matnr ,是参考系统现有表字段mara-matnr 进行定义的;
第二个lv_subrc ,是参考系统变量sy-subrc进行定义的;
第三个lv_name5 ,是参考已经定义好的name4变量进行定义的;
注意:可以通过事务码SE11,如下截图方式,进行所有系统变量的查询。
常量的定义
之所以程序中要定义常量,是因为在程序中,经常会有一些值是固定不变的、不需要修改的,且会被反复使用,因此,需要定义常量。
1.语法结构:
CONSTANTS consname(length)TYPE type DECIMALS decimals VALUE 'value'.
2.举例说明
第一行,我们用CONSTANTS +TYPE的方式定义了单一常量name6,类型为C,长度为5,值为“name6”;
第二行,我们用CONSTANTS +TYPE的方式定义了结构常量LS_STR;
第三行,我们用CONSTANTS +LIKE的方式,参考常量name6,定义了单一常量name7.
输出效果如下: