вот этот пример работает в моей системе (версия 4.6с).
Code:
REPORT z_test .
TABLES bseg.
SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME.
SELECT-OPTIONS so_bukrs FOR bseg-bukrs DEFAULT 'CH01'.
SELECT-OPTIONS so_hkond FOR bseg-hkont
DEFAULT '00012*' OPTION CP NO
INTERVALS.
SELECTION-SCREEN END OF BLOCK a1.
DATA my_bseg LIKE bseg OCCURS 100
WITH HEADER LINE.
SELECT * FROM bseg INTO TABLE my_bseg WHERE bukrs IN so_bukrs.
LOOP AT my_bseg.
IF my_bseg-hkont >= '0001200000'
AND my_bseg-hkont < '0001300000'.
WRITE: / my_bseg-hkont.
ENDIF.
IF my_bseg-hkont IN so_hkond.
WRITE: my_bseg-hkont COLOR COL_TOTAL.
ENDIF.
ENDLOOP.
Вывод:
Code:
1220000 1220000
1220000 1220000
В общем, нужно сидеть в отладчике и аккуратненько смотреть данные во внутренней табличке и в so_hkond. Может какая-нибудь опечатка, типа буквы 'O' вместо цифры '0' (это для примера). Должно работать...
