0
点赞
收藏
分享

微信扫一扫

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开发中常用的基础技术内容,赋值的详细用法.其中包含自定义数据类型,结构内表,和不使用数据类型和内表的方式. 并且讲解了新语法的使用方式.

百里鸡汤

眼前直下三千字,胸次全无一点尘。

这里是百里,一个努力的学习者. 努力学习好好记录,点滴进步,就是成功.

ABAP 之 赋值方式对比_前端

举报

相关推荐

0 条评论