Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Beispiel

&pagelevel(4)&pagelevel

Programm übersetzen und binden

Ein Programm COBOL.PROG soll übersetzt werden. Es handelt sich um ein sehr komplexes Programm, dessen Übersetzung relativ lange dauert. Der Programmierer möchte diese „Wartezeit“ für andere Aktivitäten nutzen und startet die Übersetzung in einem SDF-P-Kommandoblock im Dialog (er verzichtet darauf, eine Prozedur zu schreiben, weil er sich sicher ist, dass das Programm keine Fehler mehr enthält, und er daher genau diese Kommandofolge nicht wiederholt einzugeben braucht).

Der Programmierer würde folgende Kommandos im Dialog eingeben:

/BEGIN-BLOCK
/ASSIGN-SYSDTA *SYSCMD 
/START-EXE $COBOL85, MONJV = MJV
/SEND-DATA '*COMOPT ...'
/SEND-DATA '*END'
/IF (SUBSTR(JV('MJV'), 1, 2) EQ '$T')
/START-LMS
//...
//...
//END
/ELSE; PRINT-DOC UEBERS.LISTE
/END-IF
/END-BLOCK

Da die gesamte Kommandofolge in einen BEGIN-Block eingebettet wird, kann jede Zeile mit abgeschlossen werden.

Die Übersetzung des Programms soll über die Monitor-JV MJV überwacht werden (MONJV = MJV).

Nach Abschluss der Übersetzung soll der Inhalt der Monitor-JV ausgewertet und in der IF-Abfrage geprüft werden. Wenn der Inhalt der Monitor-JV „$T“ ist, ist die Übersetzung fehlerfrei abgelaufen, das Programm kann in die Programmbibliothek eingebracht werden. Anschließend wird das Dienstprogramm LMS aufgerufen.

Wenn die Übersetzung nicht fehlerfrei war (Inhalt von MJV ist ungleich $T), soll das Übersetzungsprotokoll ausgedruckt werden.

Mit den Kommandos END-IF und END-BLOCK werden die beiden ineinander geschachtelten Kommandoblöcke abgeschlossen. Nach END-BLOCK wird die Ausführung des Kommandoblocks angestoßen.