13.6.3. Příkaz TERMINATE Formát: TERMINATE jméno-sestavy ... Funkce: Příkaz TERMINATE ukončuje zpracování všech sestav, jejichž jména jsou uvedena za slovem TERMINATE. Pravidla: 1) Každé z uvedených jmen sestavy musí být definováno v některé klauzuli RD v REPORT SECTION. 2) Příkaz TERMINATE smí být proveden pouze pro takovou sestavu, jejíž zpracování již bylo zahájeno příkazem INITIATE a dosud nebylo ukončeno příkazem TERMINATE. 3) Nebyl-li před provedením příkazu TERMINATE pro sestavu proveden ani jeden příkaz GENERATE, neprovede příkaz TERMINATE žádnou akci a bude zcela neúčinný. Byl-li pro sestavu proveden alespoň jeden příkaz GENERATE, způsobí příkaz TERMINATE provedení těchto akcí: - Provede se příkaz MOVE 0 TO CBL-CTR. - Provedou se body 1a, 1b, 1c, 1d, 1g popsané u příkazu GENERATE, přičemž se předpokládá řídicí změna nejvyšší úrovně FINAL; mimo jiné se tedy postupně vytvoří skupiny CONTROL FOOTING počínaje nejnižší úrovní a konče úrovní FINAL, pokud si je ovšem uživatel popsal. Přitom však vynulování těch sumátorů, které nejsou popsány ve skupině CONTROL FOOTING FINAL ani nemají uvedenu klauzuli RESET FINAL, se provede již mezi vytvořením skupiny CONTROL FOOTING druhé nejvyšší úrovně (tj. pro první uvedenou řídicí položku) a vytvořením skupiny CONTROL FOOTING FINAL. Naproti tomu sumátory popsané ve skupině CONTROL FOOTING FINAL a dále též sumátory s klauzulí RESET FINAL se nenulují vůbec, takže i po ukončení provádění příkazu TERMINATE v nich zůstává jejich definitivní hodnota. - Vytvoří se skupina PAGE FOOTING, je-li popsána. - Vytvoří se skupina REPORT FOOTING, je-li popsána. 4) Příkaz TERMINATE neprovádí uzavření výstupních souborů, pomocí nichž byly zapisovány logické věty sestavy; uživatel musí tyto soubory uzavřít sám příkazem CLOSE provedeným až po příkazu TERMINATE.