Previous topic |
Next topic |
Contents |
Contact z/OS |
Library |
PDF
IEFUAV — User Account Validation Exit z/OS MVS Installation Exits SA23-1381-00 |
|
Topics for This Exit Appear as Follows:
You can use the IEFUAV installation exit routine to validate the accounting information of users of APPC/MVS transaction programs (TPs). IEFUAV is invoked:
When the IEFUAV exit receives control for a forked/spawned address space, the TP flag value indicator is set to 1. The jobname in the ASCB is BPXAS, which is the name of the procedure used to start the MVS™ initiator associated with forked/spawned address spaces. Based on whether the TP user's accounting information is valid,
IEFUAV sets a return code to indicate that either:
IEFUAV also allows you to place a message into a user's APPC/MVS job log. With the message you can provide information to supplement the return code. For APPC/MVS TPs, IEFUAV is the only exit that allows you to validate accounting information for specific users at execution time. Therefore, it is recommended that you use IEFUAV, instead of IEFUJV (or another exit, such as IEFUJI or IEFUSI), to validate the accounting information of APPC/MVS TPs. Even though IEFUJV is invoked (as part of C/I text processing) during the reading of a TP profile, the user of the TP is not known at that time. Defining the Exit in SMFPRMxxTo allow the system to invoke IEFUAV, define the exit in the SMF parmlib member (SMFPRMxx). Specify IEFUAV on the EXITS option of the SUBSYS parameter for the ASCH subsystem. If your installation chooses not to define a SUBSYS parameter for ASCH, you can specify IEFUAV on the EXITS option of the SYS parameter. For more information about coding the EXITS option, see the description of SMFPRMxx in z/OS MVS Initialization and Tuning Reference. Controlling the Exit Routine Through the Dynamic Exits FacilityIBM® has defined the IEFUAV installation exit to the dynamic exits facility. You can refer to the exit by the name SYS.IEFUAV or SYSyyy.IEFUAV. See the description of the SMFPRMxx parmlib member in z/OS MVS Initialization and Tuning Reference for an explanation of the naming conventions for SMF exit routines. You can use the EXIT statement of the PROGxx parmlib member, the SETPROG EXIT operator command, or the CSVDYNEX macro to control this exit and its exit routines. To define IEFUAV to the dynamic exits facility, you must specify the exit in both PROGxx and SMFPRMxx. The system does not call the exit if it is defined in PROGxx only. If you do not plan to use the dynamic exits facility for IEFUAV, you need only define this exit in SMFPRMxx. If you do not associate any exit routines with exit IEFUAV in PROGxx, the system defaults to using the exit routine name that matches the exit name (IEFUAV). If you associate exit routines with IEFUAV in PROGxx, the system does not use the default exit routine. If you need this exit routine, you should explicitly add it to PROGxx. You
can use the ADDABENDNUM and ABENDCONSEC parameters on the CSVDYNEX
REQUEST=ADD macro or the ABENDNUM parameter of the SETPROG EXIT operator
command to limit the number of times the exit routine abnormally ends
before it becomes inactive. An abend is counted when both of the following
conditions exist:
Exit Routine EnvironmentIEFUAV
receives control in the following environment:
Exit RecoveryIBM strongly recommends that you set up an ESTAEX recovery routine to handle errors that might occur during the execution of IEFUAV. If you do not provide recovery for IEFUAV, or if the exit routine's error percolates beyond its recovery routine, a system recovery routine will get control. Whether or not the exit routine continues to be invoked depends on the abend processing of the dynamic exits facility. Exit Routine ProcessingThe system invokes the IEFUAV exit routine during the processing of an APPC/MVS TP at the points in which the accounting information might have been altered. At these points, an installation can validate the user's accounting information before processing the transaction further. For example, IEFUAV is invoked when a TP issues Get_Transaction because this service allows APPC to tailor the accounting information for the unit of work, such as the account number to which a resource is charged. When IEFUAV Is Invoked: IEFUAV will
get control only for APPC/MVS TPs whose profiles specify TAILOR_ACCOUNT(YES).
IEFUAV is invoked once for standard TPs and multiple times for multi-trans
TPs, as follows:
For information on creating a TP profile, see z/OS MVS Planning: APPC/MVS Management. The circumstances under which IEFUAV receives control might impose restrictions on exit routine processing; see macros and restrictions in Programming Considerations for more details. Using IEFUAV to Validate Account NumbersCode your IEFUAV routine to check the user's account number against a list of valid installation account numbers. Using the Exit Function Code: IEFUAV determines why it was invoked by checking the exit function code in Word 3 of the parameter list (pointed to by Register 1). An installation would probably want IEFUAV to perform validation when Word 3 is set to a value of either 1 (generic account number) or 2 (possible account number alteration). For exit function code 3, IEFUAV can simply return to the caller, as this code indicates the generic account number that IEFUAV already validated during TP initialization (exit function code 1). See parameter descriptions in Entry Specifications for more information on the exit function codes. Validating the User's Account Number: IEFUAV receives, as parameters, the accounting information specified on the JOB statement in the TP user's RACF profile. The accounting information appears in a formatted list, and follows the order in which the accounting parameters were specified on the JOB statement. Table 2 shows the format of the accounting information. After locating the
account number field, IEFUAV would typically do these checks:
At the end of its processing, IEFUAV sets a return code that indicates whether processing for this user should continue or be cancelled. Placing a Message into a User's APPC/MVS Job Log: IEFUAV allows you to place a message into a user's APPC/MVS job log. Through the message, you can provide information to supplement the return code from IEFUAV. On entry, word 5 of the input parameter list points to a two-word area representing a message area. Place the length of the message in the first word. If the length exceeds zero, then the system issues the message that the second word points to regardless of the value returned in register 15. The maximum allowed length is 80. The second word is the address of an 80-byte buffer; in that buffer, place the message to be issued to the APPC/MVS job log. Programming ConsiderationsSMF provides a replaceable module for an unused exit. If an installation
includes an IEFUAV exit routine, the following programming standards
must be observed:
Macro Instructions and Restrictions are as follows.
Entry SpecificationsIEFUAV is passed a list of parameter addresses (pointed to in register 1). Registers at Entry: The contents of the registers on entry to the exit are as follows.
Parameter Descriptions: Register 1 points
to a list of addresses. The list is specified in VL format (that is,
the last address has its leftmost bit set to 1). The following describes
the list of parameters:
Note: The high-order bit is set in the address
of the last parameter to indicate the end of the parameter list.
Figure 1. IEFUAV Input Parameter Structure
Return SpecificationsA return code from IEFUAV indicates whether processing is to continue. If you associate multiple exit routines with IEFUAV, you can specify how the return information is to be handled using the ATTRIB KEEPRC function of the SETPROG EXIT command, the EXIT statement of PROGxx, or CSVDYNEX services. If multiple exit routines match the ATTRIB KEEPRC criteria, the system returns information from the exit routine that finished first. If you do not specify the ATTRIB KEEPRC function, the system returns the information from the exit routine whose return value was the greatest. If multiple exit routines return with the same highest value, the return information from the exit routine that finished first will be returned. If you associate multiple exit routines with exit IEFUAV, and any of those exit routines return with a value of 8, the system will cancel the unit of work. Registers at Exit: Upon return from the exit processing, the register contents must be as follows.
Coded Example of the Exit RoutineIBM provides a sample IEFUAV exit routine in SYS1.SAMPLIB (member SMFEXITS). The sample routine validates the account number of the current user. If this routine meets the needs of your installation, use it instead of coding your own routine (you will need to make minor modifications to the sample). If you plan to code your own routine, you might want to refer to this routine as an example. |
Copyright IBM Corporation 1990, 2014
|