前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >matinal:SAP ABAP 7.4及以上新语法之内表操作详解

matinal:SAP ABAP 7.4及以上新语法之内表操作详解

作者头像
matinal
发布2023-10-14 14:39:42
3680
发布2023-10-14 14:39:42
举报
文章被收录于专栏:SAP Technical

公众号:matinal

内表操作

  • 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 ..) ... ) ...

代码语言:javascript
复制
 "内表不能带表头
       IT_VKORG = VALUE #( KUNNR = E_KNA1-KUNNR ( VKORG = '3000' )
                                                 ( VKORG = '6008' ) ) .
代码语言:javascript
复制
DATA itab TYPE RANGE OF i.  
itab = VALUE #( sign = 'I' option = 'BT' ( low = 1 high = 10 )  
                                         ( low = 21 high = 30 )  
                                         ( low = 41 high = 50 )  
                           option = 'GE' ( low = 61 ) ).  
cl_demo_output=>DISPLAY( itab ). 
MOVE-CORRESPONDING语法:
CORRESPONDING语法:
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对应过滤的条件,是必须要指定的

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 内表操作
    • VALUE语法:
      • MOVE-CORRESPONDING语法:
        • CORRESPONDING语法:
          • itab[ … ]语法
            • FOR语法
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档