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

DATA gs_mara TYPE mara.
SELECT * FROM mara INTO TABLE @DATA(gt_mara) UP TO ROWS. *FOR wa|<fs> IN itab [INDEX INTO idx] [cond]
TYPES:ty_matnr TYPE mara-matnr,
ty_t_matnr TYPE TABLE OF ty_matnr WITH EMPTY KEY. "1 将gt_mara 赋值给 gt_maktx
*旧语法:
DATA gt_matnr1 TYPE ty_t_matnr.
DATA gs_matnr1 TYPE ty_matnr.
LOOP AT gt_mara INTO gs_mara WHERE mtart = 'ROH'.
.
gs_matnr1 = gs_mara-matnr.
APPEND gs_matnr1 TO gt_matnr1.
ENDLOOP.
*新语法 ls_mara仅为临时变量,程序会临时定义并赋值,ls_matnr-matnr 和 ty_t_matnr的行类型一定要保持一致
"功能是将 gt_mara中的物料号赋值给gt_matnr2
DATA(gt_matnr2) = VALUE ty_t_matnr( FOR ls_mara IN gt_mara ( ls_mara-matnr ) ). *当加上where条件时
DATA(gt_matnr3) = VALUE ty_t_matnr( FOR ls_mara IN gt_mara WHERE ( mtart = 'ROH' ) ( ls_mara-matnr ) ). "for with THEN and UNTIL | WHERE *旧语法:
TYPES:BEGIN OF ty_line,
a TYPE i,
b TYPE i,
c TYPE i,
END OF ty_line,
ty_t_line TYPE TABLE OF ty_line WITH EMPTY KEY.
DATA j TYPE i.
DATA gt_lines1 TYPE ty_t_line.
FIELD-SYMBOLS <ls_line1> TYPE ty_line.
j = . DO.
j = j + .
IF j > . EXIT. ENDIF.
APPEND INITIAL LINE TO gt_lines1 ASSIGNING <ls_line1>.
<ls_line1>-a = j.
<ls_line1>-b = j + .
<ls_line1>-c = j + .
ENDDO. *新语法 x未表达式中隐式定义的变量
DATA(gt_lines2) = VALUE ty_t_line( FOR x = THEN x + UNTIL x >
( a = x b = x + c = x + ) ).

for ls_data in gt_data 相当于 用一个临时变量 来 循环gt_data.

-Tab

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

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

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

  2. 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_ ...

  3. 2019.11.06 【每天学点SAP小知识】Day1 - ABAP 7.40新语法

    最近看同事使用ABAP新语法贼溜,省了好多的功夫,还在使用老语法的我眼红了. 所以就自己补一补7.40之后语法,能够让自己写代码更顺畅吧. 今天学习内联申明 inline 意思是:当编译器发现某段代码 ...

  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.18】SDN阅读作业

    为什么需要SDN?SDN特点? 随着网络的快速发展,传统互联网出现了如传统网络配置复杂度高等诸多问题,这些问题说明网络架构需要革新,可编程网络的相关研究为 SDN 的产生提供了可参考的理论依据 SDN ...

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

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

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

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

随机推荐

  1. 运行TensorFlow代码时报错

    运行TensorFlow代码时报错 错误信息ImportError: libcublas.so.10.0: cannot open shared object file 原因:TensorFlow版本 ...

  2. 一个javascript面试题

    javascript面试题代码: <script type="text/javascript"> function fun(x,y){ console.log(&quo ...

  3. mysql-mmm实现高可用和部署时须要考虑的问题

    mysql-mmm简介 Multi-Master Replication Manager for MySQL,简称mmm,官方的介绍可以参考mmm官网.好处自然不用说,读写分离,官方称读能做到负载均衡 ...

  4. java8 stream().map().collect()用法

    有一个集合: List<User> users = getList(); //从数据库查询的用户集合 现在想获取User的身份证号码:在后续的逻辑处理中要用: 常用的方法我们大家都知道,用 ...

  5. Resource ResourceLoader

    DefaultResourceLoader   -- > ResourceLoader 方法 ResourceLoader getResource(String location); Class ...

  6. linux内核 同步

    锁 linux本身实现了集中锁机制,各种锁机制之间的差别是,当锁已经被其他线程持有的时候,一些锁使用自旋的方式来等待,另外一些锁会当当前线程改变为睡眠状态然后等待被唤醒. 锁的争用 如果一个锁处于高度 ...

  7. win10日历交互效果

    win10日历 早就想试着实现以下win10日历的动态css效果,现在终于有时间试试啦.本篇文章只是实现简单的效果,进阶篇后续会放上来 目标效果 鼠标移入目标元素,周围相关八块元素点亮,点亮高光范围呈 ...

  8. ACID理解

    数据库事物的4个特性. A原子性:多次操作要么全部成功,要么全部失败.undo日志是在事务执行失败的时候撤销对数据库的操作,保证了事务的原子性(Atomicity) C一致性:一致性这个最不好理解.数 ...

  9. python面向对象基础(三)内置方法 __xx__

    __str__和__repr__,__format__ 改变对象的字符串显示__str__,__repr__ 自定制格式化字符串__format__ #_*_coding:utf-8_*_ forma ...

  10. 【Winform-自定义控件】DataGridView 单元格合并和二维表头

    DataGridView单元格合并和二维表头应用: //DataGridView绑定数据 DataTable dt = new DataTable(); dt.Columns.Add("); ...