ABAP 之 赋值方式对比
【摘要】 序HELLO,这里是百里,一个学习中的ABAPER,在工作中我们会经常使用赋值来实现工作区写入到内表中,从而实现数据的填充,在HANA中新增了一种新的数据赋值的方式,他很像C语言当中的那种函数赋值方式,总体来说,更美观,更灵活. 那么今天我们就讲一下,在ABAP中的赋值方式. 什么是赋值以及为什么会有这么多种赋值方式什么是赋值,在任何语言中都有说赋值的要求,但是在不同语言的赋值方式也大同小...
序
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开发中常用的基础技术内容,赋值的详细用法.其中包含自定义数据类型,结构内表,和不使用数据类型和内表的方式. 并且讲解了新语法的使用方式.
百里鸡汤
眼前直下三千字,胸次全无一点尘。
这里是百里,一个努力的学习者. 努力学习好好记录,点滴进步,就是成功.
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)