Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Jobvariable als Behälter

&pagelevel(5)&pagelevel

Wenn eine Variable mit einer Jobvariablen verknüpft wird, wird der Inhalt der deklarierten Variablen in der Jobvariablen abgelegt. Dabei spielt es keine Rolle, mit welchem Geltungsbereich die Variable deklariert ist.

Die Verknüpfung erfolgt über den Operanden CONTAINER = *JV(jvname), mit jvname als Name der Jobvariablen.

Jobvariablen werden wie Dateien katalogisiert. Für den Zugriff auf Jobvariablen gelten daher die gleichen Bedingungen wie für den Zugriff auf Dateien, einschließlich Kennwortschutz. Informationen zu Jobvariablen enthält das Handbuch „Jobvariablen“ [5].

Der Kennwortschutz für Jobvariablen bleibt voll erhalten. Auf kennwortgeschützte Jobvariablen kann auch über mit ihr verbundene S-Variablen nur dann zugegriffen werden, wenn zuvor das entsprechende Kennwort mit dem Kommando ADD-PASSWORD in die Kennworttabelle der Task eingetragen wurde.

Die Definition einer Jobvariablen als Variablen-Behälter hat keinen Einfluss auf die Lebensdauer der Variablen. Die mit ihr verknüpfte Jobvariable wird jedoch nicht automatisch gelöscht. Sie muss explizit mit dem Kommando FREE-VARIABLE, Operand DESTROY-CONTAINER gelöscht werden.

Bei der Deklaration von Variablen, die mit Jobvariablen verknüpft werden, gelten folgende Einschränkungen:

  • Die Variable muss den Datentyp STRING haben.

  • Der Variableninhalt darf höchstens 256 Byte lang sein.

Begründung: In Jobvariablen wird kein Datentyp-Attribut geführt, und für den Jobvariablen-Wert sind maximal 256 Bytes vorgesehen.

Die Variable wird so angelegt, wie sie im Kommando DECLARE-VARIABLE deklariert ist. Der Inhalt der Variablen wird jedoch nicht im Klasse-5-Speicher abgelegt, sondern in der Jobvariablen. Zugriff auf die Variable ist also gleichzeitig Zugriff auf die Jobvariable.

Bei Jobvariablen kann nicht unterschieden werden zwischen nicht-initialisierten Jobvariablen (= „kein Wert zugewiesen“) und Jobvariablen mit dem Inhalt „Leerstring“ (= String der Länge 0, C''). Der Zustand „nicht initialisiert“ wird derzeit folgendermaßen definiert: Eine Jobvariable ist nicht initialisiert, wenn sie den String 256 X'EE' enthält. Diese Zeichenkette darf daher Variablen, die mit Jobvariablen verknüpft sind, nicht als normaler Textstring zugewiesen werden.