• VALUE

  • MOVE-CORRESPONDING

  • CORRESPOING

  • FOR

  • REDUCE

  • GROUP BY

  • FILTER

VALUE语法:

结构赋值

... VALUE dtype | #(  [BASE dobj] comp1 = dobj1 comp2 = dobj2 ... ) ...

内表赋值

... VALUE dtype | #( [BASE itab] (  (line1-com1 = dobj1) ( line2 ..) ... ) ...

 "内表不能带表头
IT_VKORG = VALUE #( KUNNR = E_KNA1-KUNNR ( VKORG = '3000' )
( VKORG = '6008' ) ) .

 lt_fieldnames = VALUE #(                          ( fieldname = '公司代码' )                          ( fieldname = '供应商编码' )                          ( fieldname = '供应商描述' )                          ( fieldname = '供应商返利值' )                          ( fieldname = '供应商余额' )                          ( fieldname = '供应商余额与返利值差额' )                          ( fieldname = '取数年月' )                          ( fieldname = '实销实结本月总金额' )                          ( fieldname = '上月累积未结算' )                          ( fieldname = '已结算金额' )                          ( fieldname = '未结算金额' )                          ( fieldname = '匹配余额' )                          ( fieldname = '铺底金额' )                          ( fieldname = '供应商库存金额' )

MOVE-CORRESPONDING语法:

CORRESPONDING语法:把B表里相同字段的值赋值到A表

示例:

itab[ … ]语法

… itab[ … ] …

相当于read table itab ….

u缺点

如果对应没找到,会抛出CX_SY_ITAB_LINE_NOT_FOUND异常

系统变量SY-SUBRC不会记录成功与否

u改进

IF line_exists ( itab[…] )

…..

ENDIF

通过这行语法判断行是否查找到

FOR语法

描述

加强版本的loop at语法,与REDUCE、VALUE关键字配合使用

语法

…FOR i = ... [THEN expr]  UNTIL | WHILE  log_exp ...

…VALUE  itab( FOR i = … [THEN expr]  UNTIL | WHILE  log_exp ... )

…REDUCE  type( INIT FOR  …. NEXT …..

REDUCE语法

GROUP BY语法

FELTER语法

描述

可以根据指定值(一个)或者指定内表(多个)的值过滤itab并返回itab类型的结果集

语法

FILTER  type(  itab   [EXCEPT]   [IN ftab]   [USING KEY keyname ]
                                                                   WHERE c1 op f1  [AND c2 op f2  [...] ]  ) ...

变式

FILTER  type( itab …) 对应一个值过滤

FILTER  type( itab in tab …)对应多个值过滤

其它

EXCEPT如果不指定则表示满足条件的找出来,如果指定则表示不满足条件的找出来

WHERE对应过滤的条件,是必须要指定的

3. OPEN SQL

    SELECT SINGLE @ABAP_TRUE INTO @DATA(EXISTS) FROM KNA1 WHERE KUNNR EQ @I_KNA1-KUNNR.
IF EXISTS <> ABAP_TRUE.

ENDIF.

乐善好施,能学新知!!!
上一个打赏的兄dei已经解锁66种新姿势了

 下一个就看您了

滴赏一下,立马上车

ABAP语法篇2 内表操作语法的更多相关文章

  1. [SAP ABAP开发技术总结]内表操作

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  2. ABAP基础篇1 内表

    内表类型 abap 内表类型有三种: 标准表(一般ABAP程序中用的最多就是这种表) 系统为该表的每一行数据生成一个逻辑索引,自己内部维护着行号(Index)的编码.表的键值不唯一,且没有按照表键自动 ...

  3. ABAP 7.4 新语法-内嵌生命和内表操作(转)

    转自:https://www.cnblogs.com/mingdashu/p/6744637.html ABAP 7.4 新语法-内嵌生命和内表操作   1.内嵌声明 2.内表操作 3.opensql ...

  4. ABAP 7.4 新语法-内嵌生命和内表操作

    1.内嵌声明 2.内表操作 3.opensql ************************************************************************ 1. ...

  5. Abap 内表的语法

    ABAP中的内表相当于其他程序设计语言中的二维数组,存储多行结构相同的数据 不同于二维数组,内表在创建后,列结构与列数是固定不变的,而行数是动态增长的  内表支持循环对每行数据进行操作,也支持整体操作 ...

  6. 介绍一种在ABAP内核态进行内表高效拷贝的方法,和对应的Java和JavaScript版本的伪实现

    内表操作是ABAP开发人员几乎在每个ABAP程序里都会遇到的. 看一个例子:有两个行结构不一样的内表,每个内表的行结构有三列,除了name这一列名字一致外,其他两列的名称都不同,下图用红色和蓝色标注出 ...

  7. Django之模型层第二篇:多表操作

    Django之模型层第二篇:多表操作 一 表关系回顾 ​ 在讲解MySQL时,我们提到,把应用程序的所有数据都放在一张表里是极不合理的. ​ 比如我们开发一个员工管理系统,在数据库里只创建一张员工信息 ...

  8. Django之模型层第一篇:单表操作

    Django之模型层第一篇:单表操作 一 ORM简介 ​ 我们在使用Django框架开发web应用的过程中,不可避免地会涉及到数据的管理操作(如增.删.改.查),而一旦谈到数据的管理操作,就需要用到数 ...

  9. 【ABAP系列】SAP ABAP 取两个内表的交集 比较两个内表的不同

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 取两个内表的交 ...

随机推荐

  1. Linux - 简单设置 vim (tab, 行号, 换行)

    # 进行这两步操作 cd /etc/ vim vimrc ## 将下面的设置直接添加到 vimrc 中 1. 设置 tab 四个空格:set tabstop=4 2. 显示行好set nu 3. 将下 ...

  2. 将dedecms织梦后台编辑器ckeditor更换为kindeditor,并高亮显示代码

    1.下载kindeditor,并解压到kindeditor目录,把kindeditor目录复制到dede的include目录下(ps:修改kindeditor-all-min.js.lang文件夹下z ...

  3. house买房原理,2019,第一版

    ,购买框架 1,通过自己的买房预算金额 和 pre-approval 确定你要的房屋总价, 估计到自己可以接受的房子,卖方也喜欢这样的买家,但不一定能拿全额贷款 2,pre-approval对信用分数 ...

  4. [LuoguP1462]通往奥格瑞玛的道路

    题目链接 题意简述:现在有一个图,每经过一个点就会交钱,走一条路就会扣血.在血量>0的前提下,要从1走到n点,并且要求路径上交钱的最大值最小. 解题思路:首先最大值最小,我们选择二分.目前有两个 ...

  5. NIO原理详解

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/CharJay_Lin/article/d ...

  6. Matlab中矩阵的数据结构

    在Matlab中,矩阵默认的数据类型是double, 并不是integer. 而且奇怪的是,矩阵乘法默认按照浮点数类型进行, 整数矩阵相乘会报错.另外,可以用a= int16(A)这种形式实现数据类型 ...

  7. 2D到3D视频转换 三维重建

    2D到3D视频转换(也称为2D到立体3D转换和立体转换)是将2D(“平面”)胶片转换为3D形式的过程,几乎在所有情况下都是立体声,因此它是创建图像的过程.每个眼睛来自一个2D图像. 内容 1概述 1. ...

  8. 【Python】安装MySQLdb模块centos 6.1 宝塔Linux面板 MySQL5.6

    [Python]安装MySQLdb模块centos 6.1 宝塔Linux面板 MySQL5.6 总之是各种坑 先说一下,宝塔安装在centos 6.1 i368 也就是32位系统上的方法 https ...

  9. Android启动活动的最佳写法

    1.我们一般启动另一个活动的方式是: Intent intent = new Intent(MainActivity.this,SecondActivity.class); intent.putExt ...

  10. linux下anaconda使用教程

    安装Anaconda.在命令行输入,下载anaconda.wget https://repo.continuum.io/archive/Anaconda3-5.0.1-Linux-x86_64.sh. ...