我有一个表,其中包含带有字符串的'n'行。我必须选择一行并将其内部的值用作我的方法的输入,一旦我的方法处理了字符串,我就必须选择下一行并执行相同的操作,直到处理完表的每一行,所有结果导出到表中。
我尝试使用while循环来增加行号'n',并且在每个循环中都应该使用'n'行,但是我不知道该部分如何使用SELECT
语句。
我该怎么办?
答案 0 :(得分:4)
例如
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.
它将为每个文档调用该方法。
请考虑改用内部表作为缓冲区,但是在某些极端情况下,这种方法很有帮助。