最近看同事使用ABAP新语法贼溜,省了好多的功夫,还在使用老语法的我眼红了。

所以就自己补一补7.40之后语法,能够让自己写代码更顺畅吧。

今天学习内联申明 inline

意思是:当编译器发现某段代码在调用一个内联函数时,它不是去调用该函数,而是将该函数的代码,整段插入到当前位置。这样做的好处是省去了调用的过程,加快程序运行速度。(函数的调用过程,由于有前面所说的参数入栈等操作,所以总要多占用一些时间) 所以 划重点: 内联函数 加快了速度,但是空间占用了更多。

当你使用如下代码时:

内联申明:

描述  7.40之前  7.40之后
变量申明赋值 

Data text type string.

text = 'TAB'.

DATA(text) = 'TAB'
循环工作区

DATA wa LIKE LINE OF itab.

FIELD-SYMBOLS <FS> LIKE LINE OF itab.

LOOP AT itab INTO wa.

ENDLOOP.

LOOP AT itab ASSIGNING <FS>.

ENDLOOP.

LOOP AT itab into data(wa).

...

ENDLOOP.

LOOP AT itab ASSIGNING FIELD-SYMBOLS(<FS>).

...

ENDLOOP.

调用方法

DATA: a1 TYPE CHAR1.

oref->method_a1(

IMPORTING

  P1 = a1).

oref->method_a1(

  IMPORTING P1 = DATA(a1) ).

READ TABLE

DATA wa LIKE LINE OF itab.

FIELD-SYMBOLS <FS> LIKE LINE OF itab.

READ TABLE itab INTO wa INDEX 1.

READ TABLE itab ASSIGNING <FS> INDEX 1.

READ TABLE itab INTO DATA(WA) INDEX 1.

READ TABLE itab ASSIGING FIELD-SYMBOLS(<FS>) INDEX 1.

SQL 

DATA itab TYPE TABLE OF MARA.

SELECT * FROM MARA INTO TABLE itab

WHERE matnr = lv_matnr.

SELECT * FROM mara INTO TABLE @DATA(itab)
  WHERE matnr = lv_matnr.
SQL 2 

DATA:lv_matnr TYPE mara-matnr.
DATA:lv_matkl TYPE mara-matkl.

SELECT SINGLE matnr matkl INTO (lv_matnr,lv_matkl)
  FROM mara.

 SELECT SINGLE matnr,matkl INTO @DATA(lv_structue)
  FROM mara.

- TAB  学习技术,热爱生活。

2019.11.06 【每天学点SAP小知识】Day1 - ABAP 7.40新语法的更多相关文章

  1. 2019.11.18【每天学点SAP小知识】Day4 - ABAP 7.40新语法 FOR

    "今天学习一下FOR的语法,常用的2个语法. FOR wa|<fs> IN itab [INDEX INTO idx] [cond] "FOR i = … [THEN ...

  2. 2019.11.10【每天学点SAP小知识】Day3 - ABAP 7.40新语法 值转化和值赋值

    1.语法为 CONV dTYPE|#(...)\ # 代表任意类型 "7.40之前表达式 . DATA helper TYPE string. DATA xstr TYPE xstring. ...

  3. 2019.11.07【每天学点SAP小知识】Day2 - ABAP 7.40新语法 - 内表

    今天学习一下内表的表达式在ABAP 7.4之后的语法: SELECT * FROM mara INTO TABLE @DATA(gt_mara)UP TO 10 ROWS. DATA gt_mara_ ...

  4. 【ABAP系列】SAP ABAP7.40新语法简介第一篇

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP7.40新语法简 ...

  5. 【ABAP系列】SAP ABAP7.40新语法简介第二篇

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP7.40新语法简 ...

  6. 2019/11/12 CSP模拟赛&&考前小总结

    写在前面的总结 离联赛只有几天了,也马上就要回归文化课了. 有点舍不得,感觉自己的水平刚刚有点起色,却又要被抓回文化课教室了,真想在机房再赖几天啊. 像19/11/11那场的简单题,自己还是能敲出一些 ...

  7. 【2019.11.06】SDN上机第2次作业

    参考资料网址:https://www.cnblogs.com/TITIN24/p/11794970.html 利用mininet创建如下拓扑 要求拓扑支持OpenFlow 1.3协议,主机名.交换机名 ...

  8. 猫猫学iOS之小知识iOS启动动画_Launch Screen的运用

    猫猫分享,必须精品 原创文章.欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243? viewmode=contents 看下效果吧 比如新浪微博的 ...

  9. 每天学点Java小知识【1】

    一 Java标识符和关键字 1.标识符 作用:用来标识类名.变量名.方法名.类型名.数组名.文件名的有效字符序列. 组成规则:由字母.下划线.美元符号和数字组成,且第一个字符不能是数字字符.注意:标识 ...

随机推荐

  1. 51Nod 1831 PN表

    打出PN表来 发现合数除16,34,289都是赢 质数除2,17都是输 #include<bits/stdc++.h> using namespace std; bool prime(in ...

  2. html5测试

    HTML5测试一 1. 问题:HTML5 之前的 HTML 版本是什么? A.HTML 4.01 B.HTML 4 C.HTML 4.1 D.HTML 4.9 答案:A HTML5 是 HTML 最新 ...

  3. python操作hive 安装和测试

    方法一:使用pyhive库 如上图所示我们需要四个外部包 中间遇到很多报错.我都一一解决了 1.Connection Issue: thrift.transport.TTransport.TTrans ...

  4. PyQt打包可执行文件

    1.安装pyinstaller pip install pyinstaller 2.pyinstaller打包 pyinstaller -F -w xxxx.py -F:生成可执行文件 -w:不显示命 ...

  5. linux下安装虚拟环境

    安装pip $ wget https://bootstrap.pypa.io/get-pip.py $ python get-pip.pypython3 -m pip install --upgrad ...

  6. yii 创建模块module

    yii安装完成后的使用: yii也是单入口脚本, 入口文件为  http://hostname/web/index.php 使用模块: 在根目录下创建modules目录 在modules目录下创建模块 ...

  7. 小程序对于华为Oppo的canvas二维码渲染数据量大

    setTimeout(()=>{ ctx.draw(false, function (e) { options.callback && options.callback(e); ...

  8. nodeJS环境搭建

    1. Node.js是什么 1.1 Node.js是一个基于Chrome V8引擎的[JavaScript运行环境]. Node.js使用了一个事件驱动.非阻塞式I/O 的模型. 1.2 Node.j ...

  9. html2canvas 使用指南

    html2canvas(document.body).then(function(canvas) { document.body.appendChild(canvas); }); 属性参数: http ...

  10. JavaWeb-SpringBoot_(下)腾讯云点播服务之视频的显示-demo

    腾讯视频云点播 传送门 项目在腾讯云点播服务之视频的上传(上)[附源码]的基础上添加了两个html页面 此视频  播放传送门 (播放视频GIF会超过10M...) package com.Gary.v ...