COBOL Grundkurs

Grundsätzlicher Dateilesezugriff in COBOL

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Das Video zeigt Ihnen anhand eines zeilensequentiellen Zugriffs, wie Sie mit COBOL in bzw. aus einer Datei lesen können.

Transkript

Ich möchte mich mit Ihnen in diesem Video damit auseinandersetzen, wie man eine Datei auswählt in COBOL und wie man darauf lesend zugreifen kann. Ich habe dazu hier ein Beispielprogramm vorbereitet und eine Datei, die ich auslesen und dann im weitesten Sinne verarbeiten möchte. Beachten Sie, dass diese Splittung hier in Notepad++ ganz einfach erfolgt. Man kann mit der rechten Maustaste hier aus dem Kontextmenü ein Dokument in eine zweite Ansicht verschieben und dann in einem Fenster so nebeneinander darstellen. Für die Auswahl einer Datei verwenden Sie in COBOL den SELECT-Befehl in Kombination mit "ASSIGN". Dabei wird mit "TO" die Datei angegeben, die dann über eine vorangestellte Variable zur Verfügung steht in der Folge des Programms. Sie geben an, wie die Dateiorganisation ist, und gegebenenfalls, wie der Zugriffsmodus ist. In diesem Beispiel habe ich ganz einfach eine zeilenorientierte, sequenzielle Organisation, eine in COBOL sehr oft zu findende Form der Dateiorganisation. Beachten Sie hier bei der Angabe der Datei, ich arbeite hier auf einem PC unter GnuCOBOL. Wenn Sie auf einer Mainframe, auf einem Großrechner arbeiten, wird diese Zuweisung hier anders aussehen. Sie müssen die sogenannte J-C-L oder J-C-L [Englische Aussprache], was für "Job Control Language" steht, aber grundsätzlich erfolgt auch dort eine Zuweisung über ein "SELECT". Nun kann ich, sobald ich so eine Datei ausgewählt habe, diese Datei öffnen. Das mache ich hier in Zeile 24 mit einem Befehl, der heißt "OPEN". "INPUT" ist eine Kennzeichnung, dass ich diese Datei zum Lesen öffnen will. Dieser Bezeichner hier entspricht diesem Bezeichner hier. Damit öffnen Sie über diese Variable die ausgewählte Datei. Wenn Sie eine Datei geöffnet haben, in diesem Fall zum Lesen, ist es wichtig, dass diese Datei irgendwann auch einmal geschlossen wird. Das machen Sie mit dem CLOSE-Befehl. Sofern ein COBOL-Programm beendet wird und eine Datei ist noch offen, wird sie automatisch geschlossen. Aber Sie sollten sich angewöhnen, grundsätzlich eine Datei selbst zu schließen mit dem CLOSE-Befehl. Das ist vor allen Dingen dann wichtig, wenn Sie eine Datei erst einmal zum Lesen öffnen und danach die gleiche Datei wieder zum Schreiben öffnen wollen. Dann muss zwischenzeitlich hier bei dieser Art des Zugriffs der Modus umgestellt werden von "INPUT" auf "OUTPUT". Im Bereich der Zeile 25 bis 30 finden Sie eine Schleife, eine Schleife, die mit "PERFORM UNTIL" gebaut ist, und so lange ausgeführt wird, bis ein Flag für "End Of File" [EOF] erreicht ist, Ende der Datei, mit dem Befehl "READ" lesen Sie aus einer Datei, die für den INPUT-Modus geöffnet ist. "READ", Variable, die auf die Datei verweist, "INTO" und dann wird in ein Feld gelesen, das hier oben definiert ist und das eine gewisse Struktur hat. Sie sehen hier die Struktur. "AT END", das ist ein Standardverfahren unter COBOL, wenn es Ende der Datei erreicht ist, wird in dieses Flag hier einfach ein Y geschrieben für "Yes". Und solange das End nicht erreicht wird, wird dieses Feld "WS-STUDENT" ausgegeben. Wir schauen uns das jetzt mal konkret in der Praxis an. Sie sehen, dass die Datei, die hier auch in Notepad++ noch zu sehen ist, einfach ausgegeben wird. Man nennt das ein Report, aber ein Report jetzt in der Form, dass einfach eine Bildschirmausgabe erfolgt. Schauen wir uns das Verfahren noch in einer etwas komplexeren Datei an, aber im Grunde läuft hier das Gleiche, was Sie eben bei dieser einfachen Datei, bei diesem einfachen Programm gesehen haben. Wir haben hier eine etwas komplexere Datei, die wir auslesen, und auch insgesamt etwas mehr Aufwand, um einen Report zu erstellen, aber im Grunde haben wir wieder in Zeile 7 die Auswahl von einer Datei, zuweisen zu einer Variablen, einem Feld. Die Dateiorganisation ist wie gehabt zeilensequenziell, dazu finden Sie noch eine optionale Angabe zum sogenannten Dateistatus, hier gibt es numerische Codes, die bestimmte Stati kennzeichnen, etwa ob eine Datei nur zum Lesen gedacht ist, nur zum Schreiben gedacht ist, zum Lesen und Schreiben et cetera, aber im Grunde kennen Sie diese Zuordnung einer Datei zu einer Variable. Gehen wir etwas weiter runter in die "PROCEDURE DIVISION" und hier wird die Datei geöffnet mit einem "OPEN INPUT". Man kann diesen Dateistatus überprüfen und wenn eine bestimmte Situation nicht vorliegt, das Programm beenden. Ansonsten haben wir wieder einen READ-Befehl und am Ende der Datei wird ein Flag gesetzt. Über gewisse PERFORM-Anweisungen von ausgelagerten Absätzen wird hier eine Schleife aufgebaut und Sie sehen hier, dass hier wieder MOVE-Befehle sind, DISPLAY-Befehle, READ-Befehle. Auch das Programm möchte ich mal ausführen, damit Sie sehen, dass im Grunde genau das Gleiche passiert, was wir eben in der einfachen Variante gesehen haben. Hier wird zwar noch ein bisschen gerechnet, aber im Wesentlichen wird die Datei, die Sie hier sehen, ausgelesen und daraus ein Report erstellt. Sie haben also in diesem Video gesehen, wie man grundsätzlich Dateien zum Lesen öffnet, wie man in ihnen liest, wie man das Ende der Datei überwachen kann. In COBOL wird man sehr oft mit zeilensequenziellen Dateien arbeiten und diese sind in den beiden Beispielen eben hier vorgekommen.

COBOL Grundkurs

Lernen Sie die Programmiersprache COBOL mit ihren Grundfunktionen kennen und schreiben Sie eigene Programme.

3 Std. 4 min (45 Videos)
Derzeit sind keine Feedbacks vorhanden...
Exklusiv für Abo-Kunden
Erscheinungsdatum:21.11.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!