1. DATA(ls_data) = gt_data[ index ].
    使用此语法,可以省去read,直接读取指定行号的数据,但需要判断gt_data不是否有指定index行,需要catch 异常CX_SY_ITAB_LINE_NOT_FOUND异常,会直接dump.
  2. Line_exists

IF line_exists( gt_data[ field1 = ' '  field2 = ' ' ] ). ENDIF.

使用此语法,可判断内表中行是否有满足条件的,无需LOOP判断,省去好多代码。

3. Select 内表

select 内表,可以i对内表使用sql的语法。例如:取内表某一列的最大值,就可以直接MAX,无需排序后,读第一行,

需要append a表 to B表时,但A表字段与B表字段数量不一致时,可以使用

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

对range表赋值,非常简便。

先写这些 ,后面持续更新。