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

If a LOGON exit routine exists, it is called in the following cases:

  • In interactive mode, before task initialization if the user has input an invalid ID, account number or LOGON password. The exit routine can, for example, determine from which terminal the LOGON command was issued.

  • After processing a batch or interactive LOGON; the exit routine can, for example, cause the task to be cancelled or system administration procedures to be called.

  • In the case of an ENTER-JOB or ENTER-PROCEDURE command from a user (not from an operator) if an incorrect user ID, account number or password was specified. The exit routine can, for example, determine at which terminal the ENTER-JOB or ENTER-PROCEDURE command was issued in interactive mode.

  • After successful processing of an ENTER-JOB or ENTER-PROCEDURE command; the exit routine can, for example, compare the caller data with the ENTER data and, if necessary, reject the ENTER job.

The following information is passed to the exit routine:

R1 = A(EX030 parameter area)
R12 = A(TPR program manager)
R13 = A(save area of calling component)
R14 = A(indirect return)
R15 = A(exit routine)

The return code for the calling system component is transferred by way of the parameter area.

A LOGON or ENTER-JOB command that has already been accepted by the operating system can still be rejected by the exit routine with return code X’04’. The return code should be transferred using the form MF=M of the EX030 macro:
EX030 MF=M,PARAM=...,RC=*ACCEPT/*REJECT

The user receives the following message:

% JMS0152 SYSTEM ACCESS REQUEST REJECTED BY EXIT ROUTINE

Notes

  • The contents of registers 12, 13 and 14 must not be destroyed by the exit routine.

  • If a SET-LOGON-PARAMETERS, ENTER-PROCEDURE or ENTER-JOB command is issued with invalid user data (JMSXLEJS=JMSXLEIU, JMSXLEIP, JMSXLEIA), the return code has no effect. The command is then rejected with the appropriate error message.

  • In the case of ENTER jobs, the LOGON processing that leads to the exit routine being called is performed after the spoolin phase.

  • It is recommended not to conduct dialogs in LOGON exit routines.

 

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

The JMSXLEJP field contains the address of the JTBP of a job which is about to be defined or started. Changes to this data structure are not permitted. A DSECT of the JTBP can be obtained by calling the $JTBP macro.

The JTBP is only complete when the exit routine is activated during the initialization of a batch task which executes a batch job (JMSXLECL=JMSXLEBL).

The TSN in the JTBP is not yet defined for an accepted ENTER job (JMSXLECL=JMSXLEEV).
The LOGON password is only supplied if the exit routine is activated after validation of the access rights has proved negative (JMSXLEJS=JMSXLEIU,JMSXLEIP,JMSXLEIA).

If the exit routine is activated during the initialization of an accepted dialog or batch task (JMSXLEJS=JMSXLEJA, JMSXLECL=JMSXLEDL, JMSXLEBL), essential data on the initializing task can be obtained by running the JOBINFO macro (see the “Executive Macros” manual [9]).