2017-09-05 5 views
1

Ich arbeite derzeit an einem Programm, das in mehreren JCL verwendet wird. Ich habe eine neue Datei hinzugefügt, die Datei Steuerung wie folgt aussieht:Müssen alle Dateien in meiner JCL angegeben werden?

SELECT FILEA   ASSIGN TO FILEA 
     ; ORGANIZATION SEQUENTIAL   
     ; ACCESS  SEQUENTIAL   
     ; FILE STATUS FILEA-FILESTATUS 
.  

Da dieses Programm in mehreren JCL verwendet wird, wenn die Datei in allen JCL vorhanden sein müssen, bedeutet, dass ich die Datei, um Dummy An vielen Orten. Meine Hoffnung war nur die Datei nur bestimmte Bedingungen zu öffnen und muss es nicht überall ausspionieren.

Wenn ich die Datei nicht öffne, braucht es noch einen DD-Namen in meiner JCL?

EDIT: Ich bin auf einem IBM-Mainframe ausgeführt.

Antwort

5

Sprechen für IBM Mainframe-COBOL: Nein, Sie brauchen keine DD-Anweisung, wenn Sie nie die Datei OPEN. Sie können auch versuchen, es zu öffnen und den resultierenden FILE-STATUS zu sehen, um zu sehen, ob die Datei dort ist, und die entsprechende Maßnahme zu ergreifen, wenn dies nicht der Fall ist.

Somtimes COBOL könnte sogar eine fehlende Datei zuordnen, wenn sie geöffnet wird. Unter Language Environment wird das Verhalten durch den Wert der Laufzeitoption CBLQDA bestimmt: Wenn es eingeschaltet ist, wird COBOL automatisch jede Datei zuweisen, die für die Ausgabe geöffnet, aber nicht in der JCL definiert ist (und nach dem Programmlauf löschen und damit werfen) entfernt alle Daten in diese Datei geschrieben).

+0

Ich hätte in der Frage erwähnt werden sollen, ich laufe auf einem IBM Mainframe. – SaggingRufus

Verwandte Themen