on ‎2019 Oct 25 8:11 AM
Hello,
This sentence works very well:
LOOP AT lt_t005 ASSIGNING FIELD-SYMBOL(<ls_t005>) WHERE spras in gt_rangestack[ rangename = 'SPRAS' ]-r_range.
ENDLOOP.
But on the other hand the following dynamic sentence generates a dump (exception 'CX_SY_ITAB_DYN_LOOP'):
lv_where = 'spras in gt_rangestack[ rangename = ''SPRAS'' ]-r_range'.
LOOP AT lt_t005 ASSIGNING FIELD-SYMBOL(<ls_t005>) WHERE (lv_where).
ENDLOOP.
Request clarification before answering.
Dynamic clauses have always been more restrictive than static clauses, that's life.
ABAP documentation of LOOP AT ... WHERE (cond_syntax):
It does a short dump in 7.52 SP01:
DYN_WHERE_PARSE_ERROR
Error while the parsing the dynamic WHERE condition.
While parsing the logical expression, the system could not interpret
token "RANGES[" in row 0, column 11.Minimal reproducible code:
FIELD-SYMBOLS <scarr> TYPE scarr.
SELECT * FROM scarr INTO TABLE @DATA(scarr_s).
DATA(ranges) = VALUE rsds_frange_t( ( fieldname = 'CARRID' selopt_t = VALUE #( ( sign = 'I' option = 'EQ' low = 'LH' ) ) ) ).
DATA(count_static) = 0.
LOOP AT scarr_s ASSIGNING <scarr>
WHERE carrid IN ranges[ fieldname = 'CARRID' ]-selopt_t.
ADD 1 TO count_static.
ENDLOOP.
DATA(lv_where) = |carrid in ranges[ fieldname = 'CARRID' ]-selopt_t|.
DATA(count_dynamic) = 0.
LOOP AT scarr_s ASSIGNING <scarr>
WHERE (lv_where). " <=== SHORT DUMP DYN_WHERE_PARSE_ERROR
ADD 1 TO count_dynamic.
ENDLOOP.
ASSERT count_dynamic = count_static.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Luis,
Try with below code. It may work.
lv_where = |SPRAS in GT_RANGESTACK[ RANGENAME = 'SPRAS' ]-R_RANGE|.
LOOP AT lt_t005 ASSIGNING FIELD-SYMBOL(<ls_t005>) WHERE (lv_where).
ENDLOOP
Thanks,
Gourab
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Luis,
Dynamic where clause is very strict in it comes to spaces and overall formatting. This should help you:
https://answers.sap.com/questions/10083506/unable-to-loop-across-a-dynamic-table.html
Regards
GK
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 6 | |
| 6 | |
| 6 | |
| 5 | |
| 4 | |
| 4 | |
| 3 | |
| 3 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.