Как сравнить два поля в одном столбце во внутренней таблице? ABAP - PullRequest
0 голосов
/ 03 июля 2018

Как сравнить поля в одном столбце во внутренней таблице? ABAP

Пример для сравнения в столбце A:

col A | col B
 A    |   B
 A    |   A
 A    |   A
 B    |   B
 B    |   B

1 Ответ

0 голосов
/ 03 июля 2018

Сначала я бы просмотрел содержимое вашей внутренней таблицы и провел сравнение между полем 1 и полем 2 внутри цикла. Сравнение делается построчно. Если условие выполняется, я бы добавил свою бизнес-логику в оператор IF.

LOOP at itab.
   IF itab-col1 EQ itab-col2
   "Business logic.
   ENDIF. 
 ENDLOOP.

Будет ли этого достаточно?

field-symbols: <ls_line> type (line structure of itab)

loop at itab assigning <ls_line>.
  if <ls_line>-column_a NE <ls_line>-column_b.
    write: / sy-tabix, <ls_line>-column_a, <ls_line>-column_b. 
  endif.
endloop.

sy-tabix даст номер строки, где есть разница между двумя столбцами.

...