
- •Что такое внутренняя таблицы, её тело и строка заголовка.
- •Определение внутренней таблицы со строкой заголовка используя begin of и like.
- •Определение внутренней таблицы без строки заголовка.
- •Когда выделяется память для внутренней таблицы.
- •Порядок добавления строк во внутреннюю таблицу.
- •Добавление данных во внутреннюю таблицу, используя оператор append, формат оператора, пример использования.
- •Особенности дополнения occurs.
- •Операторы, используемые для чтения данных из внутренней таблицы, их форматы.
- •Чтение данных из внутренней таблицы используя оператор loop at, формат оператора.
- •Работа операторов exit, continue и check внутри цикла loop at/endloop.
- •Чтение единственной строки, используя оператор read table, формат оператора.
- •Дополнение index оператора read table, его особенности.
- •Дополнение with key keyexp оператора read table, его особенности.
- •Дополнение binary search оператора read table, его особенности.
- •Дополнение comparing оператора read table, его особенности.
- •Дополнение transporting оператора read table, его особенности.
- •Формы для выражения transporting в операторе read table:
- •Сортировка внутренней таблицы используя оператор sort, его дополнения и особенности.
- •Особенности дополнения as text.
- •Оператор тела таблицы, получение информации о внутренней таблице.
- •Оператор describe table, его описание и особенности работы.
- •Оператор append lines, его описание и особенности работы.
- •Оператор insert lines, его описание и особенности работы.
- •Оператор editor-call, его описание и особенности работы.
- •Оператор insert, его описание и особенности работы.
- •Оператор modify, его описание и особенности работы.
- •Оператор free, его описание и особенности работы.
- •Оператор delete, его описание и особенности работы.
- •Оператор clear, его описание и особенности работы.
- •Оператор refresh, его описание и особенности работы.
- •Оператор append sorted by, его описание и особенности работы.
- •Оператор collect, его описание и особенности работы.
- •Копирование информации из одной внутренней таблицы в другую.
- •Оператор select … into table, дополнения, особенности оператора.
- •Запишите различные формы оператора select для заполнения внутренней таблицы в порядке убывания эффективности оператора.
- •Управление процессом обработки с помощью оператора at first / endat.
- •Управление процессом обработки с помощью оператора at last / endat.
- •Управление процессом обработки с помощью оператора at new / endat.
- •Управление процессом обработки с помощью оператора at end of / endat.
- •Управление процессом обработки с помощью оператора sum.
- •Управление процессом обработки с помощью оператора on change of / endon.
Управление процессом обработки с помощью оператора at new / endat.
Операторы at new и at end of используются для обнаружения изменений в столбце в проходах цикла от одного к следующему. Эти операторы дают возможность выполнить код в начале и в конце группы записей.
Синтаксис операторов:
sort by c.
loop at it.
---
at new c.
---
endat.
---
at end of c.
---
endat.
---
endloop.
где:
it — внутренняя таблица
c — компонента it
--- — любое число строк программы
Особенности использования операторов:
Операторы могут использоваться только в loop at; они не могут использоваться в select
at new не обязан быть до at end of (операторы могут использоваться в любом порядке)
Операторы могут использоваться многократно в одном и том же цикле, например, можно иметь два at new и три at end of в одном и том же цикле, и они могут появиться в любом порядке
Эти операторы не должны быть вложены друг в друга
У этих операторов нет дополнений
Операторы между at new и endat выполняется каждый раз при изменении значения c. Этот блок выполняется также во время первого прохода цикла или при изменении каких-нибудь полей слева от c. Между at и endat числовые поля справа от c устанавливаются в нуль. Нечисловые поля заполняются звездочками (*). Если есть множественные вхождения at new, они все выполняются. at end of ведет себя подобным образом.
Уровень управления (control level) — компонента, названная в операторе разрыва управления; она регулирует разрыв управления. Например, в следующем фрагменте кода f2 — уровень управления, потому что она появляется в операторе at new:
loop at it.
at new f2.
"(some code here)
endat.
endloop.
Говорят, что вызван разрыв управления, если уровень управления изменяется. Это означает что, когда содержимое уровня управления изменяются, выполняется код между at и endat.
Разрыв управления вызывается также, если изменяется любое из полей в структуре до уровня управления. Поэтому, нужно определить внутреннюю структуру таблицы так, чтобы начать с полей, которые формируют уровни управления. Нужно также сортировать все поля до c включительно.
Между at и endat числовые поля справа от уровня управления будут нулевыми, и нечисловые поля будут заполнены звездочками.
Управление процессом обработки с помощью оператора at end of / endat.
Операторы at new и at end of используются для обнаружения изменений в столбце в проходах цикла от одного к следующему. Эти операторы дают возможность выполнить код в начале и в конце группы записей.
Синтаксис операторов:
sort by c.
loop at it.
---
at new c.
---
endat.
---
at end of c.
---
endat.
---
endloop.
где:
it — внутренняя таблица
c — компонента it
--- — любое число строк программы
Особенности использования операторов:
Операторы могут использоваться только в loop at; они не могут использоваться в select
at new не обязан быть до at end of (операторы могут использоваться в любом порядке)
Операторы могут использоваться многократно в одном и том же цикле, например, можно иметь два at new и три at end of в одном и том же цикле, и они могут появиться в любом порядке
Эти операторы не должны быть вложены друг в друга
У этих операторов нет дополнений
Операторы между at new и endat выполняется каждый раз при изменении значения c. Этот блок выполняется также во время первого прохода цикла или при изменении каких-нибудь полей слева от c. Между at и endat числовые поля справа от c устанавливаются в нуль. Нечисловые поля заполняются звездочками (*). Если есть множественные вхождения at new, они все выполняются. at end of ведет себя подобным образом.
Уровень управления (control level) — компонента, названная в операторе разрыва управления; она регулирует разрыв управления. Например, в следующем фрагменте кода f2 — уровень управления, потому что она появляется в операторе at new:
loop at it.
at new f2.
"(some code here)
endat.
endloop.
Говорят, что вызван разрыв управления, если уровень управления изменяется. Это означает что, когда содержимое уровня управления изменяются, выполняется код между at и endat.
Разрыв управления вызывается также, если изменяется любое из полей в структуре до уровня управления. Поэтому, нужно определить внутреннюю структуру таблицы так, чтобы начать с полей, которые формируют уровни управления. Нужно также сортировать все поля до c включительно.
Между at и endat числовые поля справа от уровня управления будут нулевыми, и нечисловые поля будут заполнены звездочками.