Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

USE BEFORE REPORTING-Anweisung

&pagelevel(4)&pagelevel

Funktion

Die USE BEFORE REPORTING-Anweisung ermöglicht es, in der PROCEDURE DIVISION Anweisungen anzugeben, die unmittelbar vor der Ausgabe der genannten Liste vom Listenprogramm ausgeführt werden.

Format

USE [GLOBAL] BEFORE REPORTING leistenname.

Syntaxregeln

  1. Der Leistenname muss als Name (Datenname) in einem 01-Eintrag einer Leistenerklärung der REPORT SECTION der DATA DIVISION definiert sein. Mit Ausnahme der Postenleiste darf jeder Leistentyp in der USE BEFORE REPORTING-Anweisung angegeben werden.

  2. Der Leistenname nennt die Leiste, für welche die der USE BEFORE REPORTING-Anweisung folgenden USE-Prozeduren (USE BEFORE REPORTING-Prozeduren) auszuführen sind.

  3. Die USE BEFORE REPORTING-Anweisung selbst wird nie ausgeführt. Sie definiert vielmehr die Aufrufsbedingungen für die Ausführung der anschließend vereinbarten USE-Prozeduren.

  4. Die für eine Leiste vereinbarten USE-Prozeduren werden unmittelbar vor der Erstellung dieser Leiste ausgeführt.

  5. Die Anzahl der USE BEFORE REPORTING-Anweisungen in einer PROCEDURE DIVISION darf 39 nicht überschreiten.

  6. Eine USE-Prozedur mit GLOBAL-Angsbe ist nur zulässig, wenn die entsprechende FD- bzw. RD-Erklärung das GLOBAL-Attribut enthält und wenn die USE-Prozedur im selben Programm wie die zugehörige FD- bzw. RD-Erklärung vereinbart wird. Weitere Angaben zur Verwendung der GLOBAL-Klausel siehe Kapitel "PROCEDURE DIVISION", Abschnitt "Format 3 USE Anweisung mit GLOBAL-Angabe".

Allgemeine Regeln

  1. Der Name einer Leiste darf nur in einem einzigen Prozedurvereinbarungskapitel angegeben werden.
  2. Die INITIATE-, GENERATE-, EXIT PROGRAM, GOBACK-, CANCEL- und TERMINATE-Anweisungen dürfen nicht im Bereich der Prozedurvereinbarungen verwendet werden.

  3. Eine USE BEFORE REPORTING-Prozedur darf weder den Wert irgend eines Gruppenwechseldatenfeldes noch einen der Werte der Subskripte ändern, die das Listenprogramm verwendet, um auf ein Gruppenwechseldatenfeld zuzugreifen.

  4. Was die gegenseitigen Beziehungen zwischen USE BEFORE REPORTING-Prozeduren und dem Rest des Prozedurteiles betrifft, gelten dieselben Regeln wie für die anderen USE-Prozeduren.

  5. Einige typische Anwendungen für USE BEFORE REPORTING-Prozeduren:

    1. Unterdrückung der Leistenerstellung:
      Wenn die Anweisung MOVE 1 TO PRINT-SWITCH in einer USEBEFORE REPORTING-Prozedur ausgeführt wird, dann erstellt das Listenprogrammsteuersystem die Leiste nicht, zu der die USE-Prozedur gehörte. Da das Listenprogramm sofort nach Unterdrückung der Leiste das PRINT-SWITCH-Sonderregister (siehe "PRINT-SWITCH-Sonderregister") auf Null setzt, muss es unmittelbar vor jeder gewünschten Unterdrückung neu auf 1 gesetzt werden, was bei jenen Leisten, die automatisch erstellt werden, nur mittels USE BEFORE REPORTING-Prozeduren möglich ist.

    2. Änderung des Inhaltes eines in einer SOURCE-Klausel angegebenen Datenfeldes:

      Bei der Druckaufbereitung einer Zeile mit einem druckfähigen Feld, dessen Beschreibung eine SOURCE-Klausel enthält, wird der Inhalt des in der SOURCE-Klausel angegebenen Feldes durch eine implizite MOVE-Anweisung in das druckfähige Feld transportiert. Durch eine USE BEFORE REPORTING-Prozedur ist es möglich, den Inhalt des Sendefeldes gerade vor der Ausführung der impliziten MOVE-Anweisung zu ändern.

    3. Summenzählerrundung:
      Soll der Wert eines Summenzählers, bevor er zur Druckaufbereitung durch eine implizite MOVE-Anweisung in das zugehörige Druckfeld transportiert wird, noch gerundet werden, so ist dies nur mittels einer USE BEFORE REPORTING-Prozedur für den Gruppenfuß, in dem der Summenzähler definiert wurde, möglich.

    4. Wenn in Abhängigkeit von der hierarchischen Stufe, auf der ein Gruppenwechsel stattfand, spezielle Aktionen vor Erstellung eines Seitenkopfes, Gruppenkopfes, Gruppenfußes oder Seitenfußes vorgenommen werden sollen, dann kann das nur - wegen der automatischen Erstellung - durch USE BEFORE REPORTING-Prozeduren für diese Leiste geschehen (siehe "SOURCE-Klausel" und "CBL-CTR-Sonderregister").