Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Anweisungs-Returncode-Mechanismus

&pagelevel(5)&pagelevel

Analog den Kommando-Returncodes (siehe Handbuch "BS2000/OSD Benutzer-Kommandos" [4]) unterstützt LMS Anweisungs-Returncodes. Der Anweisungs-Returncode ermöglicht es dem Benutzer, nach jeder LMS-Anweisung auf bestimmte Situationen gezielt zu reagieren.

Aufbau des Anweisungs-Returncodes

Der Anweisungs-Returncode besteht aus drei Teilen:

Maincode:

Meldungsschlüssel; die Bedeutung kann mit /HELP-MSG-INFORMATION abgefragt werden.

Subcode1:

Fehlerklasse (dezimal); gibt an, wie schwerwiegend der Fehler ist.

Subcode2:

Zusatzinformation (dezimal); z.B. Subcode2 = 2 in Verbindung mit Subcode1 = 0 bedeutet Warnung.

Steuerung der Ausgabe von Anweisungs-Returncodes

Die Ausgabe von Anweisungs-Returncodes wird mit dem Kommando

/BEGIN-BLOCK PROGRAM-INPUT=*MIXED-WITH-CMD( -

/ PROPAGATE-STMT-RC=*TO-CMD-RC )

aktiviert. Danach können die Anweisungs-Returncodes in S-Prozeduren mit SDF-P-Mitteln ausgewertet werden (siehe Handbuch SDF-P "Programmieren in der Kommandosprache" [12]). Zur Auswertung können die SDF-P Builtin-Funktionen MAINCODE() bzw. MC(), SUBCODE1() bzw. SC1() und SUBCODE2() bzw. SC2() herangezogen werden.

Bei der Ausgabe von Anweisungs-Returncodes wird eine Fehlerbehandlung auf Kommandoebene ausgelöst, d.h. Sprung zum nächsten Kommando /IF-CMD-ERROR , /IF-BLOCK-ERROR oder /STEP.

Die Fehlerbehandlung wird genau dann ausgelöst, wenn der Subcode1 des Anweisungs-Returncodes ungleich 0 ist. Dies ist bei jeder Fehlermeldung der Fall. Die Einstellung von MAX-ERROR-WEIGHT ist wirkungslos.

Der Anweisungs-Returncode kann mit dem Kommando /SAVE-RETURNCODE gesichert werden. /IF-CMD-ERROR führt implizit das Kommando /SAVE-RETURNCODE aus.

Hinweis

Bei den Maincodes LMS1002, LMS1003 und LMS1004 muss der wahre Fehler dem LMS-Protokoll, wenn vorhanden, entnommen werden. Der Maincode LMS1003 nach einer Anweisung mit Auswahlangabe (Wildcard) bedeutet, dass eventuell mehrere Fehler aufgetreten sind.

Für LMS werden folgende mögliche Anweisungs-Returncodes festgelegt:

(SC2)

SC1

Maincode

Bedeutung


0

CMD0001

Ohne Fehler

1

0

LMS0036

Bibliothek nicht zugewiesen

2

0

LMS0053

Element- und Dateiattribute unterschiedlich

2

0

LMS0064

GCCSN-Makro-Fehler; kein CCS-Name spezifiziert

2

0

LMS0071

XHCS nicht geladen

2

0

LMS0084

VTSUCB-Makro-Fehler

2

0

LMS0095

Eingabesätze fehlen

2

0

LMS0102

Unvollständiger Modul in EAM Datei

2

0

LMS0129

Anweisung abgebrochen durch Benutzer

2

0

LMS0151

Ein- oder Ausgabemedium auf Standard gesetzt

2

0

LMS0163

Mindestens ein Satz abgeschnitten

2

0

LMS0199

Satzlänge ungültig bei festem Satzformat

2

0

LMS0201

Nur der Vergleichsbereich wird protokolliert

2

0

LMS0274

Blockkontroll-Wert verändert

2

0

LMS0286

Dateiattribute nicht modifiziert

2

0

LMS0712

Touch nicht möglich

2

0

LMS0714

Touch auf leere Datei nicht möglich

2

0

LMS0721

Das angegebene Ziel ist bereits aktuell


1

CMD0230

Syntaxfehler


2

LMS0238

Fehler beim Nachladen von LMS


32

LMS1002

Interner Fehler


64

LMS0020

Ziel-Element oder Ziel-Datei nicht vorhanden


64

LMS0035

Elementschutz auf Datei nicht übertragbar


64

LMS0093

Protokoll-Element existiert bereits


64

LMS0211

Bibliothek existiert bereits


64

LMS0213

Name existiert als Delta-Element


64

LMS0214

Name existiert als Voll-Element


64

LMS0301

Datei nicht gefunden


64

LMS0302

Element nicht gefunden


64

LMS0303

Element nicht im Bereich der Referenz-Bedingung


64

LMS0304

Typ nicht gefunden


64

LMS0509

Ziel-Element oder Ziel-Datei schon vorhanden


64

LMS0510

Basis nicht gefunden


64

LMS1003

Fehler während Mengenverarbeitung (Wildcard) bei mindestens einem Element oder einer Datei


64

LMS1004

Sonstige Fehler


64

PLA0223

Nur Blätter eines Delta-Baumes überschreibbar


64

PLA0224

Speicherform nicht erlaubt


64

PLA0229

Kein Zugriffsrecht für das Element


64

PLA0233

Ausleihstatus verhindert Elementzugriff


64

PLA0475

Funktion verletzt Versionsautomatismus


64

PLA0476

Version passt nicht zur geltenden Konvention


64

PLA0478

Versionsüberlauf bei Erhöhung


130

LMS0041

Systemadressraum erschöpft


130

LMS0081

Kein weiterer Speicherplatz für SYSLST-Datei


130

LMS0411

Bibliothek gesperrt


130

LMS0412

Element gesperrt


130

LMS0413

Typ gesperrt

(SC2) : Subcode2 = 0 wird durch Leerzeichen dargestellt

Bei der Beschreibung der einzelnen LMS-Anweisungen werden die jeweils möglichen Returncodes noch einmal aufgeführt.

Beispiel

Element A in LIB1 oder LIB2 suchen :

/BEGIN-BLOCK PROGRAM-INPUT=*MIXED-WITH-CMD( -
/            PROPAGATE-STMT-RC=*TO-CMD-RC )
/START-LMS
//SHOW-ELEM-ATTR  *LIB(LIB = LIB1, ELEM = A, TYP = S),TEXT-OUT=*NONE
/IF-CMD-ERROR
//  SHOW-ELEM-ATTR  *LIB(LIB = LIB2, ELEM = A, TYP = S),TEXT-OUT=*NONE
/   IF-CMD-ERROR
/      SET-VAR LIB = 'keiner'
/   ELSE
/      SET-VAR LIB = 'LIB2'
/   END-IF
/ELSE
/   SET-VAR LIB = 'LIB1'
/END-IF
/WR-TEXT 'Element A befindet sich in &LIB Bibliothek'
//END
/END-BLOCK