Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 11 День 11 Внутренние таблицы 2011.doc
Скачиваний:
3
Добавлен:
20.11.2019
Размер:
379.39 Кб
Скачать

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

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

Дополнение binary search

При использовании дополнения with key, желательно использовать дополнение binary search, которое использует алгоритм двоичного поиска вместо линейного просмотра таблицы и увеличивает производительность системы.

Без дополнений

Если ни index, ни ключевое выражение не определены, будет искаться строка, которая соответствует заданным по умолчаниям значениям строки заголовка. Пустому значению в заданном по умолчанию ключевом столбце будет соответствовать любое значение. Системные переменные sy-subrc и sy-tabix будут иметь те же значения, что и в операторе read table с использованием ключевого выражения.

Пример

report ztx1108.

data: begin of it occurs 3,

f1(2) type n, "character field - part of default key

f2 type i, "numeric field - not part of default key

f3(2) type c, "character field - part of default key

f4 type p, "numeric field - not part of default key

end of it.

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.

sort it by f1 f3.

clear it.

it(2) = ' '. it-f3 = 'BB'.

read table it binary search.

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

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

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

clear it.

it-f1 = '30'. it-f3 = 'AA'.

read table it binary search.

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

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

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

sy-subrc = 0

sy-tabix = 2

f1= 20 f2= 2 f3= BB f4= 2

sy-subrc = 4

sy-tabix = 3

f1= 30 f2= 0 f3= AA f4= 0