ABAP学习笔记-基础语法-02-数据对象的定义-变量与常量(01)

15 篇文章 36 订阅
订阅专栏

原文链接: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.

 

输出效果如下:

 

 

SAP ABAP 基础语法超详细
小钟不想敲代码
07-27 7034
ABAP 基础语法介绍
abap-advent-2020:abap-advent-2020
04-19
abap-advent-2020-template 2020的-ABAP模板让我们用困难的方式做吧! 通过在运行的ABAP先决条件已安装NodeJS 12 无需ABAP系统但是,要使ABAP在Node中运行需要大量的耐心,这将涉及对javascript和打字稿代码的调试!...
ABAP基础语法(类型,变量
beyond911的专栏
09-12 2491
数据类型 数据对象的技术特性的定义; 本身不占用内存空间; 可以是系统预定义或者用户自定义数据对象 内存变量 指定为某一特定数据类型; 常用的预定义数据类型 文本型© 默认情况下只有1位长度;默认值为空; 日期型(d) 浮点型 (f) 整型(i) 数值(n) 数值所组成的字符串 压缩型§:将两个十进制数字压缩到一个字节; 时间型(t) 总结 1.默认的定义数据类型是CHAR. 2.取值的时候C型默认从左取值,N型从右取,超过定义长度则截断; 3.C类型,可以赋值数值,也可以赋值字符,还可以混合,不过取值
ABAP开发(3)数据类型和变量
最新发布
Chef策码的专栏
05-06 197
ABAP中,使用关键字DATA定义变量,句号结尾。定义变量ID,字符串,长度20。同时定义多个变量,可以使用DATA:,变量间用逗号分隔,最后句号结尾。使用begin of和end of定义结构体,属性间逗号分隔,句号结尾。使用TYPES关键字定义类型,和结构体语法类似,也需要BEGIN OF和END OF。定义员工类型。使用员工类型声明变量
ABAP - 变量杂例1
HeathlX的博客
01-19 378
【代码】ABAP - 变量杂例1。
abap学习日志--语法
愤怒的阿木木的博客
12-12 438
CONSTANTS[ ] TYPE VALUE 有差异的结构体,可使用MOVE-CORRESSPONDING匹配及赋值相同的字段。•WRITE Structure Name可输出所有字段,或使用-输出指定字段。: 变量名称, 最长30个字符, 不可含有 + . , : ( ) 等字符。•相同结构体之间使用Move……•参考已存在的结构体创建一个属性相同的新结构体。•相同结构体之间可以使用等号来实现数据的复制。:用在已有的数据变量,如系统变量。•可对结构体直接赋值。
Abap 常用变量
anqin8523的博客
10-03 334
SY-ABCDE 常量,A-Z字母表SY-BATCH 后台的程序运行SY-COLNO:当前选定列的列号SY-CPAGE 列表的当前显示页SY-CUCOL 屏幕,PAI 的水平光标位置SY-CUROW:选择某行时光标列位置sy-datar:在PAI中,如果屏幕上至少有一个输入字段的值被用户或其他数据传输所更改,则为“X”,否则为初始值。sy-datlo:用户的当前日期SY-DATUM 服务...
赛锐信息:SAP ABAP 常量和字面量
SAP权限管控|SAP用户权限管理|SAP权限合规检查|SAP全日志管理
01-21 352
文字是您在程序的源代码中创建的未命名数据对象。 他们完全由他们的价值定义。 您不能更改文字的值。 常量是通过使用声明性语句静态创建的命名数据对象。 通过为程序的存储区域中存储的值分配一个常量来声明该常量。 分配给常数的值在程序执行期间不能更改。 这些固定值也可以被视为文字。 有两种类型的文字 – 数字和字符。 数字字面量 数字文字是可以有前缀符号的数字序列。 在数字文字中,没有十进制分隔符,也没有带尾数和指数的符号。 -97. +326. 字符文字 字符文字是用单引号括起来的ABAP程序的源代码
ABAP 引用型变量
liangziyisheng的专栏
10-19 8302
1、定义引用变量语句:     DATA dref TYPE REF TO DATA.(指向任意类型,但在创建时必须指定对象类型) ,声明定义时,没有指向任何对象,此时你不可使用,引用变量的赋值有两种方法:      CREATE DATA type XXX     GET REFERENCE OF dobj INTO dref.     2、动态创建数据参考的内存空间,语法如下 CREA
ABAP开发需要养成的习惯—变量定义
07-13 180
变量定义 GlobalvariablesareBAD 定义内表先在程序开头定义types,如 types: begin of ty_structure, id type i, date type datum, time type uzeit, message type string, ...
abap如何定义动态变量,把字符串值做变量
newy的博客
11-12 1794
abap如何定义动态变量,把字符串值做变量名 下面把c2变量名的值作为变量名并赋值: data: c1(2) type c,    c2(2) type c. field-symbols <fs> type any. c1 = ‘C2’. "此处要大写,abap中内部存储的变量名都是大写的 c2 = ‘test’. assign (c1) to <fs>. "赋值 <fs> = ‘test2’. write: c2. 这时候c2变量的值被修改成了test2。 下面补
强制保留小数点后几位
06-25
可以强制的保留小数点后几位,达到精确的显示
ABAP-数据类型学习笔记
06-02
ABAP-数据类型学习笔记
ABAP-学习笔记-通用
06-02
ABAP-学习笔记-通用
abap新手资料-[sapscript编程指南-].doc
07-13
abap新手资料-[sapscript编程指南-].docabap新手资料-[sapscript编程指南-].docabap新手资料-[sapscript编程指南-].docabap新手资料-[sapscript编程指南-].docabap新手资料-[sapscript编程指南-].docabap新手资料-...
ABAP-语法学习笔记.py
06-02
ABAP-语法学习笔记.py
ABAP学习笔记-基础语法-01-数据类型的定义
Kerwin-G的博客
09-06 2696
原文链接:https://mp.weixin.qq.com/s/rgF4ZVy3lcE-erukkk04uw 大家可以关注我个人公众号,所有分享内容,会在公众号第一时间推送,且阅读排版更好。 愿大家的学习,轻松且愉快。 如果大家觉得有用,希望转发关注,谢谢 导读 对于Abap语法的理解是非常有利于业务顾问的日常工作的。后面,我会结合我以前的学习笔记,和系统的语法测试,分享一些常见、常用的语法知识。希望对大家有用。 什么是数据类型? 简单理解:企业信息系统,本质上就是将企业的各种..
ABAP--新语法--Open SQL--第一天-- CONSTANT常量 Host Variable/Expression主变量/表达式 Aggregate Expressions聚合表达式
'尤其是十月的风'的博客
07-13 1133
CONSTANT  常量字段可以用来为内表中的部分字段赋初始值 SELECT carrid, 'S' AS status FROM scarr UP TO 5 ROWS INTO TABLE @DATA(lt_scarr). 当数字太大,不在INT4类型范围内时,会被解释为DEC类型;  当只需要判断数据库表中是否存在特定的记录并且不用取表数据时,可以用常量字段代替 DATA(lv_carrier) = CONV s_carr_id( 'AA' ). SELECT SING
SAP中ABAP的系统定义数据对象
yujiaji的博客
03-21 335
SY-SUBRC: 返回代码值(0代表操作成功) SY-UNAME: 当前用户名 SY-TCODE: 当前事务 SY-DATUM: 当前日期 SY-UZEIT: 当前时间 SY-REPID: 当前程序名 ...
学习笔记(1):SAP ABAP 开发入门-第一个ABAP程序
06-02
好的,你的问题是关于SAP ABAP开发入门的第一个ABAP程序。那么,让我来回答你的问题。 在SAP ABAP开发中,第一个ABAP程序可以是一个简单的“Hello World”程序,用于验证您的开发环境是否正确设置。 以下是一个...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
99
原创
584
点赞
3430
收藏
1721
粉丝
关注
私信
写文章

热门文章

  • SAP知识精解-物料需求计划MRP-概览 29649
  • SAP-MM采购订单相关的主要后台表间关系 27506
  • 常见的系统间接口方式(02)-中间件的数据接口模式 25093
  • SAP-MM-PA精解分析系列之基本介绍(01)-采购基本流程 21455
  • SAP-MM-PA精解分析系列之物料(02)-物料类型 18179

分类专栏

  • SAP-ABAP基础语法 15篇
  • SAP-PM 2篇
  • SAP-PA精解系列(MM部分) 13篇
  • SAP-MM 51篇
  • SAP-小功能 5篇
  • SAP-跨模块知识 17篇

最新评论

  • SAP-MM知识精解-自动科目记账(06)- “价值串”与“事物/事务代码”

    shenyu0416: good good good!解决了我的疑问!表情包

  • 如何写一份合格的SAP功能开发说明书--接口篇

    2301_77472383: 楼主讲的真的通透,全网看下来,目前楼主的解说是最通俗且形象的,支持大佬多多分享表情包

  • SAP-MM知识精解-STO公司内的库存转储订单(01)-不带交货单配置及操作

    zdmz666888whm: UB转储采购订单内填写的收货工厂的采购组织要分配给供货工厂吗?

  • SAP知识精解-物料需求计划MRP-03.01-手动重订货点(02)

    不说话装糕手.: 看的真过瘾表情包

  • SAP-MM知识精解-计划协议-01

    2301_79357515: 作为一个初级的实施顾问,目前遇到了一个用户提到的问题,即MD04显示的界面里这个delivery shcedule是一天多行的不汇总,但如博主分享 的给供应商releas的版本中一天的交货数量又是汇总的 查了很久 也没有找到原因 是reschedule horizon天数设置为1的原因吗?

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 企业数字化转型中容易出现哪些误区?
  • SAP顾问英语自学的免费且有效的方法汇总!--一文搞定英语学习
  • 为什么互联网企业很难在ERP MES等工业级软件有明显的影响力?
2023年1篇
2022年7篇
2021年4篇
2020年19篇
2019年18篇
2018年22篇
2017年28篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司木棉湾建设网站西乡seo优化丹竹头网站设计模板西乡企业网站改版吉祥seo网站优化横岗高端网站设计沙井网站优化推广塘坑推广网站平湖百度竞价永湖企业网站制作吉祥企业网站建设福田SEO按天收费坪山企业网站建设沙井模板网站建设大运模板网站建设罗湖如何制作网站光明SEO按效果付费南澳网站优化推广宝安百度竞价民治网站推广方案大鹏外贸网站设计南山网站建设设计木棉湾网站推广方案爱联网站改版大鹏网站设计观澜百度网站优化坑梓SEO按效果付费坪山网络广告推广坂田网站优化按天收费坪山外贸网站建设歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化