ABAP实用新语法

2021-12-20 19:15:34 浏览数 (2)

  1. DATA(ls_data) = gt_data[ index ]. 使用此语法,可以省去read,直接读取指定行号的数据,但需要判断gt_data不是否有指定index行,需要catch 异常CX_SY_ITAB_LINE_NOT_FOUND异常,会直接dump.
  2. Line_exists
代码语言:javascript复制
 IF line_exists( gt_data[ field1 = ' '  field2 = ' ' ] ). ENDIF.

使用此语法,可判断内表中行是否有满足条件的,无需LOOP判断,省去好多代码。 3. Select 内表 select 内表,可以i对内表使用sql的语法。例如:取内表某一列的最大值,就可以直接MAX,无需排序后,读第一行, 需要append a表 to B表时,但A表字段与B表字段数量不一致时,可以使用

代码语言:javascript复制
   SELECT FROM @a表 AS a
          FIELDS field1
          APPENDING CORRESPONDING FIELDS OF TABLE @b表.
  1. 前导0处理
代码语言:javascript复制
 lv_field = |{ lv_field ALPHA = OUT }|.//去前导0
代码语言:javascript复制
  lv_field = |{ lv_field ALPHA = IN }|.//加前导0
  1. Value
代码语言:javascript复制
 lr_data = VALUE #( sign = 'I' option = 'BT' ( low = 1 high = 2 )
                                             ( low = 3 high = 4 )
                                             ( low = 4 high = 5 )
                               option = 'EQ' ( low = 6 ) ).

对range表赋值,非常简便。 先写这些 ,后面持续更新。

0 人点赞