ABAP 之 赋值方式对比
2023-02-18 16:40:57 时间
开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第34天,点击查看活动详情
序
HELLO,这里是百里,一个学习中的ABAPER,在工作中我们会经常使用赋值来实现工作区写入到内表中,从而实现数据的填充,在HANA中新增了一种新的数据赋值的方式,他很像C语言当中的那种函数赋值方式,总体来说,更美观,更灵活. 那么今天我们就讲一下,在ABAP中的赋值方式.
什么是赋值以及为什么会有这么多种赋值方式
什么是赋值,在任何语言中都有说赋值的要求,但是在不同语言的赋值方式也大同小异.比如PYTHON 就没有强制要求赋值的数据类型,但是在ABAP中如果要赋值就必须先定义接受数据的数据类型. 即先定义,后赋值.
至于为什么要有这么多种数据赋值的方式,这是因为,SAP经过了这么多版本.到现在已经是HANA版本了,自然有很多中数据版本了.他们实现的功能是一致的但是表现方式不同罢了.
技术解析
给工作区赋值
"等号赋值
DATA : 变量1 type 参考元素.
变量1 = 数据1 .
move 数据1 to 变量1 .
write 数据1 to 变量1 .
VALUE dtype|#( comp1 = a1 comp2 = a2 … )
给内表赋值
"等号赋值
"move to 赋值
" 新语法赋值 暂时不会等看
实例
数据准备
TYPES : BEGIN OF ty_DAta ,
name TYPE char20,
age TYPE i,
num1 TYPE n,
END OF ty_DAta .
DATA : tname1 TYPE char20 .
DATA : tname2 TYPE char20 .
DATA : tname3 TYPE char20 .
DATA: gs_Data TYPE ty_DAta .
DATA : gt_Data TYPE TABLE OF ty_DAta .
DATA : gt_Data1 TYPE TABLE OF ty_DAta .
DATA : gt_Data2 TYPE TABLE OF ty_DAta .
操作工作区
"给工作区赋值
"等号
tname1 = '测试名字1'.
tname2 = '测试名字2'.
" move to
MOVE tname1 TO gs_Data-name .
" write to
WRITE tname2 TO gs_Data-name .
"等号赋值
tname3 = gs_Data-name .
" 不需要建立工作区赋值
DATA(gs_data4) = gs_Data .
"" 新语法赋值
DATA(gs_Data3) = VALUE ty_DAta( name = '语法名字1'
age = 20
num1 = 33 ).
操作内表
" 内表赋值
"传统赋值方式
gs_Data-name = '内表名字1' .
gs_Data-age = 11 .
gs_Data-num1 = 102 .
APPEND gs_Data TO gt_Data .
gs_Data-name = '内表名字2' .
gs_Data-age = 22 .
gs_Data-num1 = 222 .
APPEND gs_Data TO gt_Data .
""move to 赋值
MOVE gt_Data TO gt_Data1 .
" 等于赋值
gt_Data2 = gt_Data .
" 不需要建立内表赋值
DATA(gt_Data4) = gt_Data .
"新语法待学习
结果
今天讲的是ABAP开发中常用的基础技术内容,赋值的详细用法.其中包含自定义数据类型,结构内表,和不使用数据类型和内表的方式. 并且讲解了新语法的使用方式.
百里鸡汤
眼前直下三千字,胸次全无一点尘。
这里是百里,一个努力的学习者. 努力学习好好记录,点滴进步,就是成功.
相关文章
- 2022DataGrip激活码(2022DataGrip最新激活码)2022DataGrip激活码
- 网络设备的运行隐患怎么排除?日常的例行维护绝对不能少,收藏本文,轻松拿捏各种场景
- 2022dotMemory激活码(2022dotMemory最新激活码)2022dotMemory激活码
- java服装经销系统服装进销系统
- java和vue车辆管理系统车管所系统
- 前端入门教程:CSS标准盒模型和怪异盒模型区别
- 腾讯开源的 hel 提供了加载远程模块的能力,谈谈它的实现原理
- 错误代码0x800b010a
- 领取10个JetBrains IDE激活许可证,全家桶通用支持所有版本,随时更新随时换!
- JetBrains 正式版激活码,有效期至2023-07-26,配合插件可破解2018-2021版本的IDE
- 2022 年最适合编程的 6 种字体
- 2021 年最适合编程的 6 种字体
- 推荐一个更好的nvidia-smi,用于多人集群按照用户名查看GPU使用情况
- 第116期:高德地图绘制热力图遇到的一个问题
- 第117期:Dart的基本知识(变量的声明)
- 第119期:程序员、建造师和剪辑师的异同
- 第121期:第二次CodeReview梳理的几个问题
- 第122期:一个人同时开发多个业务线容易出现的流程上的问题
- 第123期:用vue3结合hooks开发一个可以注册的二次确认弹框
- 第124期:一次不算优化的优化