Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

USER-SWITCH( ) Benutzerschalter auswerten

&pagelevel(3)&pagelevel

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.