导读
每天学习一点ABAP知识。
本篇我们简单介绍一下数据对象中,变量和常量的定义方式。
注意:本篇只是简单分享了常用语法结构,具体其他技术细节,请大家自行测试。
正文
变量的定义
常见定义变量的方式有两种: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。
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.
输出效果如下:
后文
分享知识,也是为自己做一些总结和记录,方便以后查阅。
根据自己所趟过的坑,更愿意把这些知识和经验分享给大家。
愿意与更多的朋友一起讨论、总结,共同进步。
希望所写的文章对大家有用……
希望大家的学习之路,轻松且愉快……
分享知识,也是为自己做一些总结和记录,方便以后查阅。
每一个SAP顾问都不容易
最后还是希望:
大家的学习工作之路,轻松且愉快……
~~~~~~~这篇内容就到这儿吧,我们下篇见~~~~~~~~~~
愿大家的学习,轻松且愉快。
文中如有疑问之处,还请大家随时指正。
如果大家觉得有用,欢迎转发关注,谢谢。
个人CSDN博客:https://blog.csdn.net/qq_33641781
最后悄悄地说一下:
~~~~~~~~如果本篇内容对大家有用,请大家关注转发~~~~~~~
谢谢^_^