Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SAP(Контрольная работа №3).doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
240.64 Кб
Скачать
  1. Управление процессом обработки с помощью оператора sum.

Оператор sum используется для вычисления общих количеств для текущего значения уровня управления.

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

at first/last/new/end of.

---

sum.

---

endat.

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

Оператор выполняет следующие действия:

  • находит все строки, у которых есть те же значения в пределах поля уровня управления и всех полей слева от него

  • суммирует каждый числовой столбец справа от уровня управления

помещает общие количества в соответствующие поля рабочей области

  1. Управление процессом обработки с помощью оператора on change of / endon.

Оператор on change of аналогичен оператору at new. Синтаксис оператора:

on change of v1 [or v2 . . .].

---

[else.

---]

endon.

где:

v1 и v2 — имена переменных или Field String

. . . указывает, что может использоваться любое число or

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

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

  • Если значение любой из переменных (v1, v2 и так далее) изменено от одного теста до следующего, выполняются операторы, следующие после on change of

  • Если никаких изменений не обнаружено и else определено, выполняются операторы после else

Оператор on change of отличается от at new следующим:

  • Он может использоваться в любой конструкции цикла, не только в loop at. Например, он может использоваться в select-endselect, do-enddo или while-endwhile, а также внутри события get

  • Один on change of может быть вызван изменением одного или более полей, названных следом и отделенных or. Эти поля могут быть элементарными полями или Field Strings. В пределах цикла эти поля не должны принадлежать циклу

  • При использовании в цикле изменение в поле слева от уровня управления не вызывает разрыв управления

  • При использовании в цикле поля справа все еще содержат свои оригинальные значения; они не изменены на нули или звездочки

  • Можно использовать else между on change of и endon

  • Можно использовать с циклом loop at it where . . .

  • Можно использовать sum c on change of (это суммирует все числовые поля кроме поля(ей), названного(ых) после of)

  • Любые изменения значений в пределах on change of сохраняются после endon. Содержимое строки заголовка не восстанавливается, поскольку оно используется для at и endat

Когда цикл начинает выполнение, система создает глобальное вспомогательное поле для каждого поля, указанного в операторе on change of. При создании этим полям присваиваются заданные по умолчанию начальные значения (пробелы или нули). Созданные поля освобождаются по завершении цикла. Каждый раз при выполнении on change of, содержимое его полей сравниваются с содержимым глобальных вспомогательных полей. Если они различны, то выполняется on change of, и вспомогательные поля обновляются новыми значениями. Если они совпадают, код в пределах on change of не выполняется. Поскольку глобальные вспомогательные поля не существуют вне цикла, нельзя использовать on change of за пределами цикла.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]