Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

LOGON-Exit (030)

&pagelevel(3)&pagelevel

Eine LOGON-Exit-Routine wird, falls vorhanden, in folgenden Fällen aufgerufen:

  • Im Dialogbetrieb vor der Initialisierung der Task, wenn der Benutzer eine unzulässige Benutzerkennung, Abrechnungsnummer oder ein falsches LOGON-Kennwort eingegeben hat.
    Die Exit-Routine kann z. B. feststellen, von welcher Datenstation das LOGON abgeschickt wurde.

  • Nach Bearbeitung eines Stapel- oder Dialog-LOGON.
    Die Exit-Routine kann veranlassen, dass z.B. die Task beendet/abgebrochen wird oder Systemverwalterprozeduren aufgerufen werden.

  • Bei einem ENTER-JOB- oder ENTER-PROCEDURE-Kommando eines Benutzers (nicht beim Operator-ENTER!), wenn falsche Benutzerkennung, Abrechnungsnummer oder falsches Kennwort angegeben wurden.
    Die Exit-Routine kann z.B. feststellen, von welcher Datenstation das ENTER-JOB- oder ENTER-PROCEDURE-Kommando im Dialog gegeben wurde.

  • Nach erfolgreicher Bearbeitung eines ENTER-JOB- oder ENTER-PROCEDURE-Kommandos.
    Die Exit-Routine kann z.B. die Aufruferdaten mit den ENTER-Daten vergleichen und falls nötig, den ENTER-Auftrag abweisen

Folgende Informationen werden an die Exit-Routine übergeben:

R1 = A(EX030-Parameterbereich)
R12 = A(TPR Program Manager)
R13 = A(Sicherungsbereich der rufenden Komponente)
R14 = A(indirekter Rücksprung)
R15 = A(Exit-Routine)

Rückkehrinformation an die rufende Systemkomponente wird im Parameterbereich übergeben.

Ein vom Betriebssystem bereits akzeptiertes LOGON- bzw. ENTER-JOB-Kommando kann von der Exit-Routine mit Returncode X'01' noch zurückgewiesen werden. Der Returncode sollte mit der Form MF=M des EX030-Makros übergeben werden:
EX030 MF=M,PARAM=...,RC=*ACCEPT/*REJECT

Der Benutzer erhält dann folgende Meldung:

% JMS0152 ZUGANG ZUM SYSTEM DURCH 'LOGON-EXIT-ROUTINE' ABGEWIESEN

Hinweise

  • Register 12, 13 und 14 dürfen von der Exit-Routine nicht zerstört werden.

  • Wird ein SET-LOGON-PARAMETERS, ENTER-PROCEDURE oder ENTER-JOB-Kommando mit falschen Benutzerdaten abgesetzt
    (JMSXLEJS=JMSXLEIU,JMSXLEIP,JMSXLEIA), so hat der Returncode keinen Einfluss mehr; das Kommando wird in jedem Fall mit der entsprechenden Fehlermeldung abgewiesen.

  • Bei ENTER-Aufträgen wird die LOGON-Verarbeitung, die zum Aufruf der Exit-Routine führt, nach der SPOOLIN-Phase durchgeführt.

  • Es wird empfohlen in LOGON-Exit-Routinen keinen Dialog zu führen.

 

DSECT

         EX030 MF=D
         MFTST MF=D,PREFIX=J,MACID=MSX,ALIGN=F,                        C
               DMACID=MSX,SUPPORT=(E,D,C,M,L),DNAME=MSXLE
JMSXLE   DSECT ,
               *,##### PREFIX=J, MACID=MSX #####
*   exit parameterarea description
JMSXLER0 DS    XL6                       reserved
JMSXLERC DS    H                         (main) return code
*   decision of the exit routine
JMSXLEAC EQU   0                         accept job
JMSXLERJ EQU   1                         reject job
*
JMSXLEJP DS    A                         pointer to JTBP
JMSXLEJS DS    FL1                       job state
*   descibes the acceptance state of the job at the time the exit is
*   called
JMSXLEJA EQU   0                         job accepted
JMSXLEIU EQU   4                         job rejected (invalid user
*                                        id)
JMSXLEIP EQU   8                         job rejected (invalid
*                                        password)
JMSXLEIA EQU   12                        job rejected (invalid account
*
JMSXLECL DS    FL1                       instance calling the exit
*   descibes which instance calls the exit
JMSXLEDL EQU   0                         dialog logon
JMSXLEBL EQU   4                         batch logon
JMSXLEEV EQU   8                         enter validation
JMSXLERL EQU   12                        rlogin
*
JMSXLER2 DS    XL2                       reserved
JMSX#    EQU   *-JMSXLER0 


Das Feld JMSXLEJP enthält die Adresse des JTBP eines Auftrags, der gerade definiert oder gestartet werden soll. Änderungen in dieser Datenstruktur sind verboten. Eine DSECT des JTBP erhält man mit dem Makroaufruf $JTBP.

Nur bei Aktivierung der Exit-Routine während der Initialisierung einer Batch-Task zur Ausführung eines Stapelauftrags (JMSXLECL=JMSXLEBL) ist der JTBP vollständig.

Für einen akzeptierten Enterjob (JMSXLECL=JMSXLEEV) ist die TSN im JTBP noch nicht festgelegt.
Das LOGON-Kennwort ist nur versorgt, wenn die Exit-Routine nach negativer Prüfung der Zutrittsberechtigung aktiviert wird (JMSXLEJS=JMSXLEIU,JMSXLEIP,JMSXLEIA).

Bei Aktivierung der Exit-Routine während der Initialisierung einer akzeptierten Dialog- oder Batch-Task (JMSXLEJS=JMSXLEJA, JMSXLECL=JMSXLEDL, JMSXLEBL), können die wesentlichen Daten über die anlaufende Task mit dem Makro JOBINFO besorgt werden (Handbuch „Makroaufrufe an den Ablaufteil“ [9]).