Der Makroaufruf TRANSVV führt von Client-Seite eine Variablenübertragung über den angegebenen S-Variablenstrom durch, zu dem aktuell zugewiesenen Server (Kommando ASSIGN-STREAM). TRANSVV ist funktionsgleich mit dem Kommando TRANSMIT-BY-STREAM. Es können nur S-Variablenströme angegeben werden, die auf der gleichen Prozedurstufe zugewiesen wurden, auf der das Programm gestartet wurde.
Operation | Operanden |
TRANSVV | MF = E ,PARAM = <name 1..8> / (<integer 1..15>) |
MF = D [,PREFIX = T / prefix] | |
MF = C [,PREFIX = T / prefix] [,MACID = RAN / macid] | |
MF = L/M ,STREAM = <name 1..20> [,VNAME = *NONE / <name 1..8> / (integer 1..15)] [,VNAMEL = <integer 1..255>] [,VSCOPE = *VISIBLE / *TASKONLY ] [,RNAME = *SAME / *NONE / <name 1..8> / (integer 1..15)] [,RNAMEL = <integer 1..255>] [,RSCOPE = *VISIBLE / *TASKONLY ] [,CNAME = *NONE / <name 1..8> / (integer 1..15)] [,CNAMEL = <integer 1..255>] [,CSCOPE = *VISIBLE / *TASKONLY ] [,RCNAME = *SAME / *NONE / <name 1..8> / (integer 1..15)] [,RCNAMEL = <integer 1..255>] [,RCSCOPE = *VISIBLE / *TASKONLY] |
Operandenbeschreibung
MF = E
Execute-Form des Makroaufrufs; erzeugt einen SVC.
PARAM
Bezeichnet die Adresse der Operandenliste, die für den Makroaufruf ausgewertet wird (Adresse des Makroaufrufs mit MF=L).
= <name 1..8>
Bezeichnet die symbolische Adresse der Operandenliste.
= (<integer 1..15>)
Bezeichnet das Register, das die Adresse der Operandenliste enthält.
MF = D
DSECT-Form; es wird eine DSECT zur Operandenliste generiert. Jedes Feld hat einen Feldnamen und erläuternde Equates, falls erforderlich.
PREFIX = T / prefix
Bezeichnet das erste Zeichen der Feldnamen; Voreinstellung = T.
MF = C
C-Form; es wird nur der Datenbereich (Operandenliste) generiert. Jedes Feld hat einen Feldnamen und erläuternde Equates, falls erforderlich. Der Standardheader muss vom Anwender initialisiert werden.
PREFIX = T / prefix
Bezeichnet das erste Zeichen der Feldnamen; Voreinstellung = T.
MACID = RAN / macid
Bezeichnet das zweite, dritte und vierte Zeichen der Feldnamen; Voreinstellung = RAN.
MF = L / M
LIST-Form des Makroaufrufs; erzeugt die Operandenliste für den Makroaufruf mit MF=E (Execute-Form); der Makroaufruf muss über eine symbolische Adresse adressierbar sein.
STREAM = <name 1..20>
Name des S-Variablenstroms, mit dem die Variable übertragen werden soll.
VNAME
Name der S-Variablen, die zum Server übertragen werden soll.
= *NONE
Es wird keine S-Variable übertragen.
= <name 1..8>
Bezeichnet die symbolische Adresse des Feldes, das den Namen der S-Variable enthält.
= (<integer 1..15>)
Bezeichnet das Register mit der Adresse des Feldes, das den Namen der S-Variable enthält (Registernummer muss in Klammern eingeschlossen werden).
VNAMEL = <integer 1..255>
Bezeichnet die Länge des Variablennamens, der vom Aufrufer angegeben wurde.
VSCOPE
Definiert den Geltungsbereich der Variablen.
= *VISIBLE
Die Variable wird als prozedurlokale Variable angelegt.
= *TASKONLY
Die Variable wird als taskglobale Variable angelegt.
Es sind folgende Kombinationen erlaubt:
VNAME=*NONE
VSCOPE=*VISIBLE
oder:
VSCOPE=*VISIBLE / *TASKONLY, VNAME =<name 1..8> / (integer 1..15), VNAMEL=<integer 1..255>
RNAME
Bei der Übertragung zurückgesendete S-Variable bzw. Return-Variable.
= *SAME
Die Werte von VNAME, VNAMEL und VSCOPE werden beibehalten.
= *NONE
Es wird keine Return-Variable zurückgesendet.
= <name 1..8>
Bezeichnet die symbolische Adresse des Feldes, das den Namen der Return-Variable enthält.
= (<integer 1..15>)
Bezeichnet das Register mit der Adresse des Feldes, das den Namen der Return-Variable enthält (Registernummer muss in Klammern eingeschlossen werden).
RNAMEL = <integer 1..255>
Bezeichnet die Länge des Variablennamens, der vom Aufrufer angegeben wurde.
RSCOPE
Definiert den Pool oder den Behälter der Return-Variablen.
= *VISIBLE
Die Return-Variable wird als prozedurlokale Variable angelegt.
= *TASKONLY
Die Return-Variable wird als taskglobale Variable angelegt.
Es sind folgende Kombinationen erlaubt:
RNAME=*NONE
oder:
RSCOPE=*VISIBLE / *TASKONLY, RNAME =<name 1..8> / (integer 1..15), RNAMEL=<integer 1..255>
CNAME
Bei der Übertragung gesendete Kontroll-Variable.
= *NONE
Es wird keine Kontroll-Variable übertragen. Diese kann sowohl wiederum als Variable als auch als Registernummer, die in Klammern eingeschlossen werden muss, angegeben werden.
= <name 1..8>
Bezeichnet die symbolische Adresse des Feldes, das den Namen der Kontroll-Variable enthält.
= (<integer 1..15>)
Bezeichnet das Register mit der Adresse des Feldes, das den Namen der Kontroll-Variable enthält (Registernummer muss in Klammern eingeschlossen werden).
CNAMEL = <integer 1..255>
Bezeichnet die Länge des Kontroll-Variablennamens, der vom Aufrufer angegeben wurde.
CSCOPE
Definiert den Pool oder den Behälter der Kontroll-Variablen.
= *VISIBLE
Die Kontroll-Variable wird als prozedurlokale Variable angelegt.
= *TASKONLY
Die Kontroll-Variable wird als taskglobale Variable angelegt.
Es sind folgende Kombinationen erlaubt:
CNAME=*NONE CSCOPE=*VISIBLE / *TASKONLY CNAME =<name 1..8> / (integer 1..15), CNAMEL=<integer 1..255>
RCNAME
Bei der Übertragung zurückgesendete Kontroll-Variable bzw. Return-Kontroll-Variable.
= *SAME
Es werden die Werte von CNAME, CNAMEL und CSCOPE beibehalten.
= *NONE
Es wird keine Return-Kontroll-Variable übertragen.
= <name 1..8>
Bezeichnet die symbolische Adresse des Feldes, das den Namen der Return-Kontroll-Variable enthält.
= (<integer 1..15>)
Bezeichnet das Register mit der Adresse des Feldes, das den Namen der Return-Kontroll-Variable enthält (Registernummer muss in Klammern eingeschlossen werden).
RCNAMEL = <integer 1..255>
Bezeichnet die Länge des Return-Kontroll-Variablennamens, der vom Aufrufer angegeben wurde.
RCSCOPE
Definiert den Pool oder den Behälter der Return-Kontroll-Variablen.
= *VISIBLE
Die Return-Kontroll-Variable wird als prozedurlokale Variable angelegt.
= *TASKONLY
Die Return-Kontroll-Variable wird als taskglobale Variable angelegt.
Es sind folgende Kombinationen erlaubt:
RCNAME=*NONE RCSCOPE=*VISIBLE / *TASKONLY RCNAME =<name 1..8> / (integer 1..15), RCNAMEL=<integer 1..255>
Returncodes
Die folgende Tabelle listet die Returncodes in hexadezimaler Schreibweise auf.
Subcode2 | Subcode1 | Maincode | Bedeutung |
00 | 00 | 0000 | Übertragung erfolgreich beendet; kein Fehler |
01 | 00 | 0000 | Variablenstrom wurde *DUMMY zugewiesen; keine übertragung |
00 | 01 | 0001 | Parameter-Fehler |
00 | 40 | 0002 | Angegebener Variablenstrom unvollständig |
00 | 40 | 0003 | Angegebene Variable unvollständig |
00 | 40 | 0004 | RET-SSTA zu klein (reserviert für Software-Entwickler) |
00 | 01 | 0005 | Übertragene Daten (Benutzer- oder Kontrolldaten) sind nicht mit dem Format, das der Server verarbeiten kann, kompatibel |
00 | 40 | 0006 | Fehlermeldung vom Server; gespeichert in RCNAME (wenn angegeben) |
02 | 00 | 0007 | Warnung vom Server; gespeichert in RCNAME (wenn angegeben) |
02 | 00 | 0008 | Variablenstrom auf *DUMMY zurückgesetzt; Server ist nicht mehr aktiv |
00 | 20 | 0009 | System-Fehler |
00 | 20 | 000A | Fehler bei der Server-Verbindung |
00 | 01 | FFFF | Unbekannte Unit- oder Funktions-Nummer |
00 | 02 | FFFF | Funktion nicht verfügbar |
00 | 03 | FFFF | Falsche Version der Operandenliste |
00 | 41 | FFFF | SDF-P ist nicht geladen |
00 | 81 | FFFF | SDF-P arbeitet zwischenzeitlich nicht |