Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Meldungen des COBOL2000-Systems

Der COBOL2000-Compiler und das COBOL2000-Laufzeitsystem protokollieren umfassend alle Fehler, die während der Übersetzung und beim Ablauf eines COBOL-Programmes auftreten. Die dabei ausgegebenen Meldungen lassen sich in zwei Gruppen einteilen:

  1. Meldungen, die sich auf Fehler in einer COBOL-Übersetzungseinheit beziehen: Sie werden vom Compiler am Ende der Übersetzung in einer Fehlerliste und/oder Fehlerdatei ausgegeben und haben folgenden Aufbau:


    Msg-Index      Source Seq. No      Severity Code      Error Text


    Dabei bezeichnet

    Msg-Index

    eine fünfstellige (sedezimale) Fehlermeldungsnummer (Die beiden ersten Zeichen geben das Modul des Compilers an, das den Fehler erkannt hat.),

    Source Seq. No

    die Folgenummer der Übersetzungseinheitzeile, in welcher der Fehler auftritt,

    Severity Code

    die Fehlerklasse, der der Fehler zuzurechnen ist und

    Error Text

    den Text der Fehlermeldung. Er enthält eine genauere Beschreibung des Fehlers und zeigt eventuell eine Umgehungsmöglichkeit auf.

    Meldungstexte können wahlweise auf englisch oder deutsch ausgegeben werden; die Sprache lässt sich über das SDF-Kommando MODIFY-MSG-ATTRIBUTES TASK-LANGUAGE=E/D auswählen
    Eine aktuelle Liste aller Fehlermeldungen des COBOL2000-Compilers kann mit COMOPT PRINT-DIAGNOSTIC-MESSAGES=YES bzw. über die SDF-Option COMPILER-ACTION=PRINT-MESSAGE-LIST angefordert werden (siehe Abschnitte „Tabelle der COMOPT-Operanden" bzw. „COMPILER-ACTION-Option").

    Achtung

    Werden Fehler gemeldet, deren Text mit SE-1 oder S.E. beginnt, ist in jedem Fall der Systemverwalter/-berater zu verständigen.

    Fehlerklasse

    Bedeutung

    F

    Hinweismeldung

    Der Compiler hat in der Übersetzungseinheit Sprachmittel erkannt, die

    • Spracherweiterungen gegenüber der COBOL-Norm ANS85 darstellen,

    • von künftigen COBOL-Normen nicht mehr unterstützt werden,

    • gemäß FIPS (Federal Information Processing Standard) einer bestimmten Sprachmenge zuzuordnen sind.

    COBOL2000 gibt Hinweise der Klasse F nur aus, wenn sie explizit mit COMOPT ACTIVATE-WARNING-MECHANISM=YES bzw. ACTIVATE-FLAGGING = ANS85 / FIPS(...) angefordert werden.

    I

    Hinweismeldung

    Der Compiler hat Steueranweisungen oder COBOLSprachelemente erkannt, auf die der Anwender zwar aufmerksam gemacht werden soll, die jedoch nicht die Ausgabe einer Warnungs- oder Fehlermeldung rechtfertigen.

    0

    Warnungsmeldung

    Möglicherweise wurde in der Übersetzungseinheit ein Fehler gemacht; trotz dieses Fehlers ist der Programmablauf möglich.

    1

    Fehlermeldung

    Der Compiler hat einen Fehler entdeckt. Normalerweise macht der Compiler eine Korrekturannahme; ein Ablauf des Programms zu Testzwecken ist möglich.

    2

    Schwerwiegender Fehler

    In der Regel wird vom Compiler keine Korrekturannahme gemacht; die fehlerhafte Anweisung wird nicht generiert.

    3

    Abbruchfehler

    Es ist ein so schwerwiegender Fehler aufgetreten, dass der Compiler nicht in der Lage ist, die Übersetzung fortzusetzen.

    Tabelle 37: Fehlerklassen und ihre Bedeutung


  2. Meldungen

    • die der Compiler über den Ablauf und die Beendigung des Übersetzungslaufes generiert (CBL90nn),

    • die das COBOL2000-Laufzeitsystem über den Ablauf und die Beendigung des Anwenderprogramms erzeugt (COB91nn).

    • des POSIX-Treibers für COBOL (CBL92nn)

    • die bei objektorientiertem Programmieren auftreten(COB93nn).

    Sie werden während der Übersetzung bzw. des Programmablaufs nach SYSOUT ausgegeben und haben folgenden Aufbau:

    { CBL90nn | COB91nn | CBL92nn | COB93nn } Text


    Dabei bezeichnet

    CBL90nn
    COB91nn
    CBL92nn
    COB93nn

    die Kennnummer der Meldung

    Text

    den Text der Meldung. Er enthält

    • einen Hinweis zum Ablauf des Compilers oder Anwenderprogramms oder

    • eine genauere Beschreibung des aufgetretenen Fehlers und

    • in manchen Fällen die Anforderung einer Eingabe durch den Anwender, mit der der Fehler umgangen werden kann.

    Meldungstexte können wahlweise auf englisch oder deutsch ausgegeben werden; die Sprache lässt sich über das SDF-Kommando
    MODIFY-MSG-ATTRIBUTES TASK- LANGUAGE=E/D auswählen.

    Der in den Meldungen COB9101 und COB9102 „COMPILATION UNIT ID programmname“ genannte Programmname bezeichnet immer ein getrennt übersetztes Programm. Dabei kann es sich um ein einzelnes Programm oder um das äußerste Pro gramm eines geschachtelten Programms handeln.

    Die Angabe COMOPT GENERATE-LINE-NUMBER=YES bzw. ERR-MSG-WITH-LINE-NR=YES in der SDF-Option RUNTIME-OPTIONS bewirkt, dass statt der Meldung COB9101 zu jeder Meldung des Programms die Meldung 9102 ausgegeben wird, die auch die Nummer der Übersetzungseinheitzeile enthält, bei deren Ausführung die Meldung ausgegeben wird.

    Die (im Verlauf der Übersetzung ausgegebenen) Meldungen CBL9004, CBL9017, CBL9095, CBL9097 und CBL9099 werden unterdrückt, wenn vor dem Aufruf des Compilers der Auftragsschalter 4 gesetzt wird.

Mit dem Kommando HELP-MSG-INFORMATION können Sie zu einer Meldung den vollständigen Meldungstext anzeigen.

Er umfasst insbesondere folgende Information:

  • Typ (der Meldung)
  • Bedeutung (der Variablen in der Meldung)
  • Verhalten (des Programms)
  • ggf. Maßnahme (des Anwenders)