我想创建一个"整数数组"。大多数示例都使用结构,因此我无法为我的问题推导出这些结构。
data: itab type STANDARD TABLE OF i,
var type i.
field-symbols:
<fs> type i.
do 3 times.
var = sy-index.
append var to itab.
enddo.
loop at itab assigning <fs>.
write var.
endloop.
如何用 1 到 3 的数字填充它?
如何打印整个表格?
如何使用索引打印一个元素?
变量定义(数据...表(:
DATA integers TYPE STANDARD TABLE OF i
WITH EMPTY KEY.
填充值(值或插入(:
* either fixed values
integers = VALUE #( ( 1 ) ( 2 ) ( 3 ) ).
* or with range of numbers
DO 3 TIMES.
INSERT sy-index INTO TABLE integers.
ENDFO.
打印出来,每行一行:
LOOP AT integers INTO DATA(int).
WRITE / int.
ENDLOOP.
通过表表达式访问第二个条目:
DATA(second_int) = integers[ 2 ].
使用非结构化行类型 - 在这种情况下只是"i" - 和添加"带空键"最接近我们在其他编程语言中找到的数组。
最后,您可以像任何其他数据类型(TYPES ...表(:
TYPES integer_array TYPE STANDARD TABLE OF i
WITH EMPTY KEY.
METHODS sum
IMPORTING
integers TYPE integer_array
RETURNING
VALUE(result) TYPE i.