Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

S-Variablenströme zuweisen

&pagelevel(4)&pagelevel

Im Normalfall weist man einen S-Variablenstrom mit dem Kommando ASSIGN-STREAM einem Ausgabeziel zu. Das Ausgabeziel kann ein Server oder eine S-Variable sein.

Mit dem Kommando EXECUTE-CMD wird implizit der S-Variablenstrom SYSVAR einer S-Variablen zugewiesen. Die Zuweisung ist aber nur temporär für das spezifizierte Kommando gültig.

Zuweisung mit ASSIGN-STREAM

Das Kommando ASSIGN-STREAM besitzt zwei Hauptoperanden: STREAM-NAME und TO.

Operand STREAM-NAME

Im Operanden STREAM-NAME wird der Name des S-Variablenstroms angegeben, der zugewiesen werden soll. Es stehen dazu drei vom System vorgegebene S-Variablenströme zur Verfügung, die alle das Präfix SYS besitzen: SYSINF, SYSMSG, SYSVAR. Man kann allerdings auch einen eigenen S-Variablenstrom bzw. einen eigenen Namen hier angeben. Eigene S-Variablenströme sind aber nur sinnvoll, wenn man z.B. FHS-Anwendungen benutzen will.

Operand TO

Im Operanden TO wird das Ausgabeziel bzw. der Server angegeben, der mit dem S-Variablenstrom verknüpft werden soll. Es gibt folgende Möglichkeiten:

  • TO = *STD
    *STD ist der Defaultwert. In Abhängigkeit von der Angabe bei STREAM-NAME gelten folgende Zuweisungen:

    STREAM-NAME=

    TO=*STD

    Übertragene Informationen

    SYSINF

    SYSVAR

    Strukt. Ausgaben von Kommandos und Programmen

    SYSMSG

    SYSVAR

    Strukt. garantierte Meldungen

    SYSVAR

    *DUMMY

    Strukt. Kommando- und Programm-Ausgaben bzw.
    strukt. Meldungen

    <structured-name 1..20>

    *DUMMY

    Benutzer-Variablenstrom

    Der Standard-Variablenstrom für Systemausgaben und garantierte Meldungen ist SYSVAR, dem wiederum standardmäßig *DUMMY zugewiesen ist. So koexistieren SYSOUT- und SYSVAR-Ausgaben. (Wenn kein SYSOUT gewünscht wird, muss das Kommando ASSIGN-SYSOUT TO-FILE=*DUMMY spezifiziert werden.)

  • TO = <structured-name 1..20>
    Name eines (eigenen) Servers.

  • TO = *DUMMY
    Mit *DUMMY wählt man keine Zuweisung.

  • TO = *SAME-AS-CALLING-PROC
    Die Angabe *SAME-AS-CALLING-PROC bedeutet, dass die in der aufrufenden Prozedur spezifizierte Zuweisung weiterhin gültig ist.

  • TO = *VARIABLE(...)
    Ausgabeziel ist die angegebene S-Variable. Indirekt ist SDF-P als Server zugewiesen. Es können Kontrollvariablen für den Datenaustausch mit dem Server spezifiziert werden. Alle angegebenen Variablen müssen als Listenvariablen vom Typ Struktur deklariert werden.
    Von den Kommandos TRANSMIT-BY-STREAM und ASSIGN-STREAM aus gesehen werden die Daten in folgender Reihenfolge abgearbeitet:

    TRANSMIT-BY-STREAM

    Richtung

    ASSIGN-STREAM

    (1) VARIABLE-NAME

    (2) CONTROL-VAR-NAME

    (3) RETURN-VARIABLE-NAME

    (4) RET-CONTROL-VAR-NAME

    → 

    ← 

    VARIABLE-NAME

    CONTROL-VAR-NAME

    RETURN-VARIABLE-NAME

    RET-CONTROL-VAR-NAME

    Tritt während einer dieser Operationen ein Fehler auf, so werden diese - wie alle folgenden - Operationen beendet. Die Übertragung wird dann mit dem Status zum Fehlerzeitpunkt abgebrochen.

  • TO = *SERVER(...)
    Name eines Servers, z.B. FHS. Dem Server können zusätzliche Informationen (Name der Formatbibliothek für FHS) übergeben werden.

Hinweise

  • Die verschiedenen Informationen von SYSINF und SYSMSG können auch bei der Zuweisung SYSVAR getrennt weiterverarbeitet werden.

  • Angaben von Systemdateien (SYSDTA, SYSCMD, SYSOUT, SYSLST, SYSOPT, SYSIPT) bei STREAM-NAME werden abgewiesen.

  • Sind die in *VARIABLE(...) angegebenen S-Variablen im Moment der ASSIGN-STREAM-Zuweisung unvollständig deklariert, wird diese Zuweisung abgewiesen.

  • Sind die Variablen nach der ASSIGN-STREAM-Zuweisung unvollständig deklariert, weil sie z.B. zwischenzeitlich mit DELETE-VARIABLE bearbeitet wurden, wird die nächste Übertragung mit einer Warnung abgewiesen und der Variablenstrom wird durch SDF-P auf *DUMMY gesetzt.

  • Wenn dieselbe S-Variable zwei unterschiedlichen Variablenströmen zugewiesen ist, werden die Daten beider Variablenströme in der Reihenfolge ihrer Übertragung abgearbeitet.

  • S-Variable können zwischen zwei Übertragungen verändert werden. Die nächste Übertragung berücksichtigt diese Veränderung.

Beispiel

/DECLARE-VARIABLE OPS-VAR(TYPE=*STRUCTURE),MULTIPLE-ELEMENTS=*LIST
/ASSIGN-STREAM SYSINF,TO=*VARIABLE(OPS-VAR)
/ASSIGN-SYSOUT TO=#ERROR-SYSOUT