Управление процессом обработки с помощью оператора at last / endat. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Управление процессом обработки с помощью оператора at last / endat.



Операторы at first и at last используются для выполнения обработки во время первого или последнего прохода цикла внутренней таблицы.

Синтаксис операторов:

loop at it.

---

At first.

---

Endat.

---

At last.

---

Endat.

---

Endloop.

где:

it — внутренняя таблица

--- — любое число строк программы

Особенности использования операторов:

§ Операторы могут использоваться только в loop at; они не могут использоваться в select

§ at first не обязан быть до at last (операторы могут использоваться в любом порядке)

§ Операторы могут использоваться многократно в одном и том же цикле, например, можно иметь два at first и три at last в одном и том же цикле, и они могут появиться в любом порядке

§ Эти операторы не должны быть вложены друг в друга

§ У этих операторов нет дополнений

at first используется для:

§ обработки инициализации цикла

§ записи общих количеств наверху отчета

§ записи заголовков

at last используется для:

§ обработки выхода из цикла

§ записи общих количеств внизу отчета

§ записи «подвала» (footings) отчета

Управление процессом обработки с помощью оператора 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 числовые поля справа от уровня управления будут нулевыми, и нечисловые поля будут заполнены звездочками.



Поделиться:


Последнее изменение этой страницы: 2017-01-19; просмотров: 80; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.164.106 (0.008 с.)