zoukankan      html  css  js  c++  java
  • ABAP语法篇2 内表操作语法

    • 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种新姿势了

     下一个就看您了

    滴赏一下,立马上车

     

  • 相关阅读:
    Theano入门笔记1:Theano中的Graph Structure
    [译博文]CUDA是什么
    一天一经典Efficient Estimation of Word Representations in Vector Space
    Generating a Random Sample from discrete probability distribution
    关于representation的理解
    git代码管理——克隆项目到本地仓库及上传本地项目到仓库
    yum管理——linux字符界面安装图形化及两种界面的切换(3)
    yum管理——yum常用配置(2)
    yum管理——搭建iso镜像私有yum源仓库(1)
    apche编译安装
  • 原文地址:https://www.cnblogs.com/rainysblog/p/12008975.html
Copyright © 2011-2022 走看看