Signon and signoff exits XSNON, XSNOFF, and XSNEX

Exit XSNON is invoked after a terminal user signs on, and exit XSNOFF is invoked after a terminal user signs off (whether the signon or sign-off is successful or not). XSNON and XSNOFF do not make any security decisions; they are merely a means of tracking users logging on and off a CICS® system.

The activities which drive the exits are:

XSNEX is a special-purpose global user point, which is intended to be used only with the IBM-supplied global user exit program, DFH$SNEX.

Exit XSNON

When invoked
When a user signs on.
Exit-specific parameters
UEPUSRID
Address of the terminal userid.
UEPUSRLN
Address of the terminal userid length.
UEPGRPID
Address of the group ID. If the signon was successful, the group ID is that which the user is associated with in this signon session. If the signon was unsuccessful, it is that specified by the user when he or she tried to sign on.
UEPGRPLN
Address of the group ID length.
UEPNETN
Address of the terminal’s netname.
UEPTRMID
Address of the terminal id.
UEPTCTUA
Address of the TCT user area.
UEPTCTUL
Address of the TCT user area length.
UEPTRMTY
Address of the terminal-type byte.
UEPSNFLG
Address of a 2-byte field containing flags:
Table 8. Flags set in the UEPSNFLG field of XSNON
Flag Equivalent Meaning
UEPSNOK 0 Signon was successful.
UEPSNFL 1 Signon failed.
UEPSNPSS 2 The persistent sessions signon succeeded.
UEPSNPSF 3 The persistent sessions signon failed.
Return codes
UERCNORM
Continue processing.
UERCPURG
Task purged during XPI call.
XPI calls
All can be used.

Exit XSNOFF

When invoked
When a user signs off.
Exit-specific parameters
UEPUSRID
Address of the terminal userid.
UEPUSRLN
Address of the terminal userid length.
UEPGRPID
Address of the group ID.
UEPGRPLN
Address of the group ID length.
UEPNETN
Address of the terminal’s netname.
UEPTRMID
Address of the terminal id.
UEPTCTUA
Address of the TCT user area.
UEPTCTUL
Address of the TCT user area length.
UEPTRMTY
Address of the terminal-type byte.
UEPSNFLG
Address of a 2-byte field containing flags:
UEPSNOK
Sign-off was successful
UEPSNFL
Sign-off failed
UEPSNNML
Normal sign-off
UEPSNTIM
Timeout sign-off.
Return codes
UERCNORM
Continue processing.
UERCPURG
Task purged during XPI call.
XPI calls
All can be used.

Exit XSNEX

The purpose of XSNEX, in conjunction with its supporting sample programs, is to provide a short-term migration aid. It is designed to give you time to modify those application programs that have a dependency on the way CICS handles EXEC CICS SIGNON and SIGNOFF before CICS TS 2.1, to enable them to work with the current behavior.

Note:
Start of change
XSNEX is a migration aid only. You should consider removing all application dependency on the old sign-on and sign-off behaviour.
End of change

There are no exit-specific parameters for this global user exit, which is invoked whenever an application program issues an EXEC CICS SIGNON or an EXEC CICS SIGNOFF command. You are not intended to write your own global user exit program for this exit point. IBM® provides DFH$SNEX, the sole purpose of which is to make CICS handle EXEC CICS SIGNON and SIGNOFF commands in the same way as in CICS TS 1.3 and earlier.

The supplied programs are:

DFH$SNEX
This user exit program is supplied in SDFHSAMP. The only function the program performs is to set return code UERCPREV, which causes the security domain to restore CICS behavior as in CICS TS 1.3 and earlier. You can enable this user exit program using DFH$SNPI.
DFH$SNPI
This post-initialization program is supplied in SDFHSAMP. It issues an EXEC CICS ENABLE PROGRAM('DFH$SNEX') EXIT('XSNEX') command to enable the IBM-supplied user exit program, DFH$SNEX, in the final stages of CICS initialization.

To use this program, add an entry to the first section of your PLTPI table (that is, before the DFHDELIM statement). For example:

DFHPLT TYPE=INITIAL,SUFFIX=SN     
DFHPLT TYPE=ENTRY,PROGRAM=DFH$SNPI
DFHPLT TYPE=ENTRY,PROGRAM=DFHDELIM
DFHPLT TYPE=FINAL                 
END                               

Related concepts
Overview -- what is a global user exit?
Overview of the XPI
Global user exit XPI examples, showing the use of storage
Related tasks
Writing global user exit programs
Making an XPI call
Related reference
List of global user exit points
The XPI functions
[[ Contents Previous Page | Next Page Index ]]