Dar*_*rko 4 sap abap select offset
我正在尝试在ABAP中使用此SELECT语句:
SELECT DISTINCT * FROM dbtab
INTO CORRESPONDING FIELDS OF TABLE itab
WHERE field1+7(16) IN s_field1
AND field2 IN s_field2.
Run Code Online (Sandbox Code Playgroud)
但我不能使用offset作为dbtab列.我怎么解决这个问题?
我试图避免像循环一样
SELECT DISTINCT * FROM dbtab
WHERE field2 IN s_field2.
IF field1+7(16) IN s_field1
...
endif.
endselect.
Run Code Online (Sandbox Code Playgroud)
您不能在OPEN SQL中使用偏移量.
我建议将SELECT转换为内部表并像这样循环它.
SELECT DISTINCT * FROM dbtab
INTO CORRESPONDING FIELDS OF TABLE itab
WHERE field2 IN s_field2.
LOOP AT dbtab into wa_itab.
IF wa_itab-field1+7(16) IN s_field1
...
ENDIF.
ENDLOOP.
Run Code Online (Sandbox Code Playgroud)
另一方面,我还将内部表定义为SORTED或HASHED,或者如果您更喜欢尝试通过您进行比较的字段来排序itab.场符号也可以是另一种选择.
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
4459 次 |
| 最近记录: |