Anwendungsgebiet: Job-Informationen
Die Funktion USER-SWITCH( ) prüft den Wert des angegebenen Benutzerschalters.
Benutzerschalter werden zum Beispiel zur Synchronisation von Stapelaufträgen eingesetzt, das heißt in Hintergrund-Prozeduren. Jeder Benutzerkennung stehen 32 Benutzerschalter zur Verfügung, die für alle unter der Benutzerkennung laufenden Aufträge gelten. Das heißt, Benutzerschalter, die in einem Auftrag gesetzt werden, können in einem anderen Auftrag, der unter der gleichen Benutzerkennung läuft, ausgewertet werden. Gesetzt werden Benutzerschalter mit dem Kommando MODIFY-USER-SWITCHES.
Format
USER-SWITCH( ) |
NUMBER = zahl ,USER-ID = *OWN / <string 1..8> |
Ergebnistyp
BOOLEAN
Eingabeparameter
NUMBER = zahl
0 <=
zahl <=
31; bezeichnet den Benutzerschalter, der ausgewertet wird.
USER-ID = *OWN
Bezeichnet die eigene Benutzerkennung.
USER-ID = <string 1..8>
Bezeichnet die Benutzerkennung, zu der der abzufragende Benutzerschalter gehört.
Ergebnis
TRUE
Der angegebene Benutzerschalter hat den Wert 'ON', ist also „eingeschaltet“.
FALSE
Der angegebene Benutzerschalter hat den Wert 'OFF', ist also „ausgeschaltet“.
Fehlermeldung
SDP0304 UEBERLAUF, ZAHL AUSSERHALB DES MOEGLICHEN WERTEBEREICHS
Beispiel
Im Dialog:
/MODIFY-USER-SWITCHES ON = 1 /B = USER-SWITCH(1, USER-ID = 'USER1') /SHOW-VARIABLE B B = TRUE
Innerhalb einer Prozedur werden die Benutzerschalter 1, 3, 5 und 8 eingeschaltet und die Benutzerschalter 2 und 4 ausgeschaltet:
/MODIFY-USER-SWITCHES ON = (1,3,5,8), OFF = (2,4)
Später werden Benutzerschalter abgefragt:
/A = USER-IDENTIFICATION() /IF (USER-SWITCH(2, USER-ID = A)) / CALL-PROCEDURE C.PROC1.2 /END-IF /... /IF (USER-SWITCH(1, USER-ID = A)) / CALL-PROCEDURE C.PROC1.1 /ELSE-IF USER-SWITCH(4, USER-ID = A) / CALL-PROCEDURE C.PROC1.4 /ELSE / CALL-PROCEDURE C.PROC2 /END-IF
Benutzerschalter 2 ist nicht gesetzt (OFF), die Bedingung im ersten IF-Kommando also nicht erfüllt. Daher wird PROC1.2 nicht aufgerufen, sondern gleich das auf END-IF folgende Kommando ausgeführt.
Im zweiten IF-Kommando wird der Benutzerschalter 1 geprüft; dieser ist gesetzt (ON) und daher ist die Bedingung erfüllt. Die Prozedur C.PROC1.1 wird aufgerufen.