Использование ключевых выражений

Таблица ключевых выражений и их особенности

Дополнение addition

Если with key keyexp определен, система находит строку, которая соответствует ключевому выражению и помещает её в строку заголовка.

В таблице определены ключевые выражения и их особенности. Используя ключевое выражение, Вы можете определить единственную строку, которая будет найдена. Если более одной строки соответствует выражению, будет найдена первая.

Ключевое выражение Особенности выражения
c1 = v1 c2 = v2... Определяет местонахождение первой строки во внутренней таблице, где у компонента c1 есть значение v1, у компонента c2 есть значение v2, и так далее. v1 – литерал, постоянная, или переменный.
(f1) = v1 (f2) = v2... То же самое как и выше, но f1 является переменной, которая содержит название компонента, который будет сравниваться. Значение в f1 должно быть в верхнем регистре. Если f1 – пробел, сравнение проигнорировано.
= wa wa – рабочая область, идентичная по структуре срокам внутренней таблицы. Это ключевое выражение определяет местонахождение первой строки во внутренней таблице, которая полностью соответствует информационным наполнениям wa. Пробелы обрабатываются как заданные значения, которые будут найдены.
wa wa – рабочая область, идентичная полностью или частично структуре внутренней таблицы. Если у wa есть n поля, поля wa соответствуют первым n полям внутренней строки таблицы. Это ключевое выражение определяет местонахождение первой строки во внутренней таблице, у которой n первых полей соответствуют информационным наполнениям wa. Пробелы обрабатываются как заданные значения, которые будут найдены.

Таблица значений SY-SUBRC и SY-TABIX после выполнения оператора read table it with key...

Результат sy-subrc sy-tabix
Чтение было успешно (строка соответствия была найдена),   индекс соответствия строке
Чтение неудачно, но строка с большим значением, чем то, что требуются, существует   индекс строки со следующим более высоким значением
Чтение неудачно, и никакие строки не нашлись   число строк в it + 1

report ztx1107.

data: begin of it occurs 3,

f1(2) type n,

f2 type i,

f3(2) type c,

f4 type p,

end of it,

begin of w1,

f1 like it-f1,

f2 like it-f2,

end of w1,

w2 like it,

f(8).

it-f1 = '10'. it-f3 = 'AA'. it-f2 = it-f4 = 1. append it.

it-f1 = '20'. it-f3 = 'BB'. it-f2 = it-f4 = 2. append it.

it-f1 = '30'. it-f3 = 'CC'. it-f2 = it-f4 = 3. append it.

read table it with key f1 = '30' f2 = 3.

write: / 'sy-subrc =', sy-subrc,

/ 'sy-tabix =', sy-tabix,

/ it-f1, it-f2, it-f3, it-f4.

f = 'F2'. "must be in uppercase

read table it into w2 with key (f) = 2.

write: /,

/ 'sy-subrc =', sy-subrc,

/ 'sy-tabix =', sy-tabix,

/ it-f1, it-f2, it-f3, it-f4,

/ w2-f1, w2-f2, w2-f3, w2-f4.

clear w2.

w2-f1 = '10'. w2-f3 = 'AA'. w2-f2 = w2-f4 = 1.

read table it with key = w2.

write: /,

/ 'sy-subrc =', sy-subrc,

/ 'sy-tabix =', sy-tabix,

/ it-f1, it-f2, it-f3, it-f4.

w1-f1 = '20'. w1-f2 = 2.

read table it into w2 with key w1.

write: /,

/ 'sy-subrc =', sy-subrc,

/ 'sy-tabix =', sy-tabix,

/ it-f1, it-f2, it-f3, it-f4.

sy-subrc = 0

sy-tabix = 3

30 3 CC 3

sy-subrc = 0

sy-tabix = 2

30 3 CC 3

20 2 BB 2

sy-subrc = 0

sy-tabix = 1

10 1 AA 1

sy-subrc = 0

sy-tabix = 2

10 1 AA 1


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: