前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ABAP 之 赋值方式对比

ABAP 之 赋值方式对比

作者头像
百里丶落云
发布2022-12-25 10:52:23
5080
发布2022-12-25 10:52:23
举报
文章被收录于专栏:享~方法

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第34天,点击查看活动详情

HELLO,这里是百里,一个学习中的ABAPER,在工作中我们会经常使用赋值来实现工作区写入到内表中,从而实现数据的填充,在HANA中新增了一种新的数据赋值的方式,他很像C语言当中的那种函数赋值方式,总体来说,更美观,更灵活. 那么今天我们就讲一下,在ABAP中的赋值方式.

什么是赋值以及为什么会有这么多种赋值方式

什么是赋值,在任何语言中都有说赋值的要求,但是在不同语言的赋值方式也大同小异.比如PYTHON 就没有强制要求赋值的数据类型,但是在ABAP中如果要赋值就必须先定义接受数据的数据类型. 即先定义,后赋值.

至于为什么要有这么多种数据赋值的方式,这是因为,SAP经过了这么多版本.到现在已经是HANA版本了,自然有很多中数据版本了.他们实现的功能是一致的但是表现方式不同罢了.

技术解析

给工作区赋值

代码语言:javascript
复制
"等号赋值
DATA : 变量1 type 参考元素. 
变量1 = 数据1 . 
move 数据1 to 变量1 . 
write 数据1 to 变量1  .
VALUE dtype|#( comp1 = a1 comp2 = a2 … )

给内表赋值

代码语言:javascript
复制
"等号赋值

"move to 赋值

" 新语法赋值 暂时不会等看

实例

数据准备

代码语言:javascript
复制
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 .

操作工作区

代码语言:javascript
复制
"给工作区赋值  
"等号  
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 ).

操作内表

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

百里鸡汤

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

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

wallhaven-9d611k.jpg
wallhaven-9d611k.jpg
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-12-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是赋值以及为什么会有这么多种赋值方式
  • 技术解析
    • 给工作区赋值
      • 给内表赋值
        • 数据准备
        • 操作工作区
        • 操作内表
    • 实例
    • 结果
    • 百里鸡汤
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档