Anweisung PUNCH CTL

Mit der Anweisung PUNCH CTL können Sie eine Ausgabedatei erstellen, die aus COMPARE PCB-Anweisungen, COMPARE DATA-Anweisungen, COMPARE AIB-Anweisungen, anderen Steueranweisungen oder Kombinationen dieser Anweisungen besteht.

Die folgende Tabelle zeigt das Format und die Schlüsselwortparameter für die Anweisung PUNCH CTL.

Tabelle 1. Anweisung PUNCH CTL
Spalte Funktion Code erstellen Beschreibung
1 - 3 Bezeichnet Steueranweisung CTL Anweisung PUNCH.
4- bis 9-mal Reserviert b  
10-13 Stanzersteuerung PUNC Stanzen beginnen (keine Standardwerte).
    NUN Stanzen stoppen (Standardwert).
14-15 Reserviert b  
16-72 Schlüsselwortparameter:    
  ANDERES   Reproduziert alle Eingabesteueranweisungen mit Ausnahme von:
  • CTL-Anweisungen (PUNCH).
  • N oder. (IGNORE) Anweisungen.
  • COMPARE-Anweisungen
  • CALL-Anweisungen mit Funktionen von SKIP und START. Alle Steueranweisungen, die zwischen SKIP und START CALLs erscheinen, werden nicht gestanzt.
  • CALL-Anweisungen mit Funktionen von STAK und END. Steueranweisungen, die zwischen STAK und END CALLS stehen, werden gesichert und anschließend so oft gestanzt, wie in STAK CALL angegeben.
  DATAL   Erstellen Sie eine vollständige Datenkompilierfunktion (COMPARE) mit allen Daten, die an den E/A-Bereich zurückgegeben werden. Bei Bedarf werden mehrere Anweisungen COMPARE und Fortsetzungen erstellt.
  DATEN   Erstellen Sie eine einzelne Datenanweisung COMPARE, die nur die ersten 56 Byte an Daten verwendet, die an den E/A-Bereich zurückgegeben werden.
  PCBL-Anweisung   Erstellen Sie einen vollständigen PCB COMPARE mit dem vollständigen Schlüsselrückmeldungsbereich, der im PCB zurückgegeben wird. Bei Bedarf werden mehrere Anweisungen COMPARE und Fortsetzungen erstellt.
  PCBS   Erstellen Sie eine einzelne Anweisung PCB COMPARE, die nur die ersten 48 Byte des Schlüsselrückmeldebereichs verwendet, der im PCB zurückgegeben wird.
  SYNCH/NOSYNC   Wenn ein GB-Statuscode in einem Fast Path-Aufruf zurückgegeben wird, während in STAK, aber vor dem Beenden von STAK, gibt diese Funktion SYNC aus oder nicht.
  START =   00000001 bis 99999999.

Dies ist die Startfolgenummer, die für die gestanzten Anweisungen verwendet werden soll. Acht numerische Byte müssen codiert werden.

  INCR=   1 bis 9999.

Erhöhen Sie die Folgenummer jeder gestanzten Anweisung um diesen Wert. Führende Nullen sind nicht erforderlich.

  AIB   Erstellen Sie eine Anweisung AIB COMPARE.
73-80 Sequenzanzeige nnnnnnnnn Für SYSIN2 -Anweisung überschreiben.

Um die Stanzsteueroptionen während der Verarbeitung eines einzelnen DFSDDLT0 -Eingabedatenstroms zu ändern, verwenden Sie immer PUNCH CTL-Anweisungen in Paaren von PUNC und NPUN.

Eine Möglichkeit zur Verwendung der Anweisung PUNCH CTL ist die folgende:

  1. Codieren Sie nur die CALL-Anweisungen für einen neuen Test. Codieren Sie die COMPARE-Anweisungen nicht.
  2. Überprüfen Sie, dass jeder Aufruf ordnungsgemäß ausgeführt wurde.
  3. Führen Sie eine weitere Ausführung mit der Anweisung PUNCH CTL aus, damit DFSDDLT0 die richtigen COMPARE-Anweisungen zusammenführt und eine neue Ausgabedatei erstellt, die als Eingabe für nachfolgende Regressionstests verwendet werden kann.

Sie können PUNCH CTL auch verwenden, wenn Segmente in einer vorhandenen Datenbank geändert werden. Die Steueranweisung bewirkt, dass DFSDDLT0 eine neue Testdatei erstellt, die die richtigen COMPARE-Anweisungen enthält, anstatt die COMPARE-Anweisungen manuell ändern zu müssen.

Parameter in der Anweisung CTL müssen dieselbe Länge wie in der vorherigen Tabelle beschrieben haben und durch Kommas getrennt sein.

Beispiel für die Anweisung PUNCH CTL

|---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----<
CTL      PUNC  PCBS,DATAS,OTHER,START=00000010,INCR=0010                33212010
CTL      NPUN                                                           33212020

Die Datendefinitionsanweisung für die Ausgabedatei hat die Bezeichnung PUNCHDD. Die Dateien sind feste Blöcke mit LRECL=80. Die in der Datendefinitionsanweisung angegebene Blockgröße wird verwendet. Erfolgt keine Angabe, wird die Blockgröße auf 80 gesetzt. Wenn das Programm PUNCHDD nicht öffnen kann, gibt DFSDDLT0 den Code für abnormale Beendigung 251 aus.

Beispiel für die Anweisung PUNCH CTL für alle Parameter

|---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----<
CTL      PUNC  OTHER,DATAL,PCBL,START=00000001,INCR=1000,AIB            33212010