Во-первых, причина, по которой вы получаете синтаксическую ошибку, заключается в том, что вам необходимо обновить ET_DATA рабочей областью (структура, объявленная в виде строки того же типа, что и таблица).
В конечном итоге ваш код будет выполнять замену записей в ET_DATA при втором выборе, на каждой итерации цикла, так что это ничего не даст.
Скорее всего, вы можете выбрать все в одном SELECT, используя JOIN:
SELECT E1~FIELD1 E2~FIELD2 (etc.)
FROM EPREI as E1
JOIN EPREIH as E2
ON E2~PREIS = E1~PREIS AND
E2~PREISTYP = E2-PREISTYP
into CORRESPONDING FIELDS OF TABLE ET_DATA.
Вам просто нужно изменить спецификации полей в приведенном выше предложении SELECT, чтобы они соответствовали полям в вашей таблице (и вы могли бы пропустить КОРРЕСПОНДИНГ).
И вам, вероятно, следует ограничить выбор в EPREI предложением WHERE.