Иногда ABAP сводит меня с умом действительно простыми задачами, такими как увеличивающаяся целое число в пределах цикла ...Increment целое
Вот моя попытка:
METHOD test.
DATA lv_id TYPE integer.
lv_id = 1.
LOOP AT x ASSIGNING <y>.
lv_id = lv_id+1.
ENDLOOP.
ENDMETHOD.
Это приводит к сообщению об ошибке типа поля «Я» не разрешает доступ к подполам.
Спасибо, очень полезно! – Ben
Просто остерегайтесь петель внутри петель. О, и если вы зацикливаетесь с 'DO..TIMES x', то счетчиком цикла будет' SY-INDEX'. Да, ABAP - ужасно непоследовательный язык. – Marius
SY-TABIX не содержит счетчика циклов, он содержит индекс таблицы. Это часто разные значения. Например, если я пишу 'LOOP AT-сообщения INTO msg WHERE type = 'E'', первый раз, когда цикл фактически выполняется, может быть в четвертой строке, а значение sy-tabix будет равно 4. – Eric