如何一一选择表格行?

时间:2019-04-17 08:37:53

标签: sap abap

我有一个表,其中包含带有字符串的'n'行。我必须选择一行并将其内部的值用作我的方法的输入,一旦我的方法处理了字符串,我就必须选择下一行并执行相同的操作,直到处理完表的每一行,所有结果导出到表中。

我尝试使用while循环来增加行号'n',并且在每个循环中都应该使用'n'行,但是我不知道该部分如何使用SELECT语句。

我该怎么办?

2 个答案:

答案 0 :(得分:4)

您应该使用SELECT ... INTO TABLE,然后使用LOOP

例如

SELECT vbeln, vbelp, ebeln, ebelp
    FROM ekkn
    WHERE vbeln = @ls_lips-vgbel
      AND vbelp = @ls_lips-vgpos
    INTO @DATA(lt_ekkn).
LOOP AT lt_ekkn ASSIGNING FIELD-SYMBOL(<fs_ekkn>).
  CALL METHOD cl_class=>do_something
      EXPORTING
        some_input = <fs_ekkn>-ebeln
      IMPORTING
        some_output = value. 
ENDLOOP.

答案 1 :(得分:1)

您可以使用“ SELECT ...调用method()。ENDSELECT。”为此...

例如

SELECT VBELN from VBAK into lv_vbeln where VBAK = '001'.
call method print_vbeln(lv_vbeln).
ENDSELECT.

它将为每个文档调用该方法。

请考虑改用内部表作为缓冲区,但是在某些极端情况下,这种方法很有帮助。