Abap 像整数数组一样声明和使用内部表

Abap 像整数数组一样声明和使用内部表,abap,Abap,我想创建一个“整数数组”。大多数示例都使用结构,因此我无法针对我的问题推导这些结构 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 va

我想创建一个“整数数组”。大多数示例都使用结构,因此我无法针对我的问题推导这些结构

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.
数据:i的itab型标准表,
Ⅰ型变异系数。
字段符号:
第一类。
做3次。
var=sy指数。
将var附加到itab。
恩多。
在itab分配时循环。
写变量。
结束循环。
我如何用1到3的数字来填充它

如何打印整个表格

如何使用索引打印一个元素?

变量定义():

填充值(或):

打印输出,每行一行:

LOOP AT integers INTO DATA(int).
  WRITE / int.
ENDLOOP.
通过以下方式访问第二个条目:

在其他编程语言中,使用非结构化数组(在本例中仅为“i”)和添加的“”最接近于数组

最后,您可以像传递任何其他数据类型一样传递“数组”:

变量定义():

填充值(或):

打印输出,每行一行:

LOOP AT integers INTO DATA(int).
  WRITE / int.
ENDLOOP.
通过以下方式访问第二个条目:

在其他编程语言中,使用非结构化数组(在本例中仅为“i”)和添加的“”最接近于数组

最后,您可以像传递任何其他数据类型一样传递“数组”:


正如您在调试中看到的,您的程序实际上填充了数字1到3。但是显示有缺陷(您显示
var
,但您应该显示
)。您的程序实际上填充了数字1到3,正如您在调试中看到的那样。但是显示有缺陷(您显示
var
,但您应该显示
)。谢谢!我还有一个问题,如何使用内部表作为方法的参数?我尝试过:带空键的I的数据intarray类型标准表。方法summarray.data summaref类型I值0。在intarray处循环到数据(int)。summaref=summaref+int.endloop.summae=summaref.endmethod。我收到错误消息“intarray”没有内部表。将其添加到答案中。事先声明类型。尽管我非常确定Badis包中也有一些合适的预制类型。谢谢!我还有一个问题,如何使用内部表作为方法的参数?我尝试了:带空键的数组类型标准表中的数据。method SUMMARRAY.data summef type i value 0.intarray处的循环进入数据(int)。summef=summef+int.endloop.summe=summef.endmethod。我收到错误消息“intarray”没有内部表。将其添加到答案中。事先声明类型。尽管我非常确定Badis包中也有一些合适的预制类型。
LOOP AT integers INTO DATA(int).
  WRITE / int.
ENDLOOP.
DATA(second_int) = integers[ 2 ].
TYPES integer_array TYPE STANDARD TABLE OF i
  WITH EMPTY KEY.

METHODS sum
  IMPORTING
    integers TYPE integer_array
  RETURNING
    VALUE(result) TYPE i.