"1. @DATA(表名):自动创建内表
*SELECT vbeln , posnr , matnr
* FROM vbap
* INTO TABLE @DATA(lt_sales_order)
* UP TO 100 ROWS.
"2. 读表lt_sales_order中的第20条数据到新建的变量ls_sales_order20中
*DATA(ls_sales_order20) = lt_sales_order[ 20 ].
"2.1 []中放条件
*DATA(ls_sales_order21) = lt_sales_order[ vbeln = '0000000031' ].
"3. 判断表lt_sales_order中vbeln = '0000000031'是否存在,存在打1
*IF line_exists( lt_sales_order[ vbeln = '0000000031' ] ).
* WRITE:'1'.
*ENDIF.
"4. 获取index
*DATA(idx) = line_index( lt_sales_order[ vbeln = '0000000031' ] ).
*LOOP AT lt_sales_order into data(ls_sales_order1).
*
*ENDLOOP.
"5. 将C类型转换为xstring
*DATA text TYPE i VALUE 10.
*DATA(xstr) = cl_abap_codepage=>convert_to( source = CONV string( text ) ).
"6. 利用value向结构体赋值
* TYPES: BEGIN OF ty_columns1, "Simple structure
* cols1 TYPE i,
* cols2 TYPE i,
* END OF ty_columns1.
* TYPES: BEGIN OF ty_columns2, "Nested structure
* coln1 TYPE i,
* coln2 TYPE ty_columns1,
* END OF ty_columns2.
*DATA: struc_nest TYPE ty_columns2.
*struc_nest = VALUE #( coln1 = 1 coln2-cols1 = 1 coln2-cols2 = 2 ).
"7. 利用value向表赋值
*TYPES t_itab TYPE TABLE OF i WITH EMPTY KEY.
*DATA itab TYPE t_itab.
*itab = VALUE #( ( 10 ) ( 1 ) ( 2 ) ).
"8. 利用value向表赋自定义范围值
*DATA itab TYPE RANGE OF i.
*
*itab = VALUE #( sign = 'I' option = 'BT' ( low = 1 high = 10 )
*( low = 21 high = 30 )
*(
ABAP 7.40 新语法
最新推荐文章于 2025-05-17 20:00:41 发布