• 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. ElementUI入门和NodeJS环境搭建

    1. ElementUI简介 我们学习VUE,知道它的核心思想式组件和数据驱动,但是每一个组件都需要自己编写模板,样式,添加事件,数据等是非常麻烦的,   所以饿了吗推出了基于VUE2.0的组件库,它 ...

  2. vue中插槽作用域的使用

    一.插槽作用域 1.简单来说就是带参数的插槽: 2.使用方式: 在组件标签内部加一个template标签 在template标签上加一个属性scope 值随意书写 在组件内部用slot进行接受,如果给 ...

  3. IDEA激活码(直到2020年6月)

    K6IXATEF43-eyJsaWNlbnNlSWQiOiJLNklYQVRFRjQzIiwibGljZW5zZWVOYW1lIjoi5o6I5p2D5Luj55CG5ZWGOiBodHRwOi8va ...

  4. BZOJ 3625:小朋友和二叉树 多项式开根+多项式求逆+生成函数

    生成函数这个东西太好用了~ code: #include <bits/stdc++.h> #define ll long long #define setIO(s) freopen(s&q ...

  5. bzoj 1072: [SCOI2007]排列perm 状压dp

    code: #include <bits/stdc++.h> #define N 1005 using namespace std; void setIO(string s) { stri ...

  6. piplinedb 团队加入confluen

    这个消息对于使用pipelinedb 的人来说,可能有点不好,因为官方已经明确说明了,pipelinedb 截止到1.0 版本,将不再维护了, 基本就要靠社区了,但是pipelinedb 团队还是比较 ...

  7. 机器学习实战(1)- KNN

    KNN:k近邻算法-在训练样本中找到与待测样本距离相近的N个样本,并用这N个样本中所属概率最大的类别作为待测样本的类别. 算法步骤: 1.对训练中的样本数据的不同属性进行归一化处理. 2.计算待测样本 ...

  8. AtCoder Grand Contest 008题解

    传送门 \(A\) 分类讨论就行了 然而我竟然有一种讨论不动的感觉 int x,y; inline int min(R int x,R int y){return x<y?x:y;} inlin ...

  9. 发现Mathematica中求逆出错

    发现Mathematica中应用Inverse求逆时出错.

  10. [golang][vue] 前后端分离、微服务架构等等---通用后台权限管理系统001

    emmm暂未开源,先上图.其实有很多东东都未完成,一步一步来吧 这里是大图 这里会有二维码的,暂未写完哈 注册界面 后台 测试地址 测试地址al.landv.pw:88 测试账号:admin 测试密码 ...