Question & Answer
Question
How do I set up Content Manager OnDemand to use different MVS Dynamic Exits for different releases when I have a test ARSSOCKD and a production ARSSOCKD on the same LPAR?
Answer
The following example shows how to use two instances of the MVS Dynamic Exit, ARS.SECURITY (ARSUSECZ) but can be used for any dynamic exit.
1. Assemble and LINKEDIT from the SARSINST dataset member ARSUSECZ using sample JCL ARSUSECJ also available from the SARSINST dataset.
2. Assemble and LINKEDIT your second copy of ARSUSECZ, but this time on the LINKEDIT step specify a different load module name. This can be any name.
INCLUDE SYSLIB(ARSUSECZ) ORDER ARSUSECZ ENTRY ARSUSECZ NAME ARSUSEZ1(R) /* |
Note: at this point you have two exits:
- ARSUSECZ
- ARSUSEZ1
Now, let us consider our two ARSSOCKD started tasks:
- ARSSOCK1
- ARSSOCK2
Here's a sample PROGxx member to enable each exit to a different started task:
EXIT ADD EXITNAME=ARS.SECURITY,MODNAME=ARSUSECZ, DSNAME=ARS.EXAMPLE.USERLOAD,JOBNAME=ARSSOCK1 EXIT ADD EXITNAME=ARS.SECURITY,MODNAME=ARSUSEZ1, DSNAME=ARS.EXAMPLE.USERLOAD,JOBNAME=ARSSOCK2 |
Notice that
- ARSSOCK1 <----> ARSUSECZ
- ARSSOCK2 <----> ARSUSEZ1
_______________________________________________________
Now to enable those:
(This is from the operator's console)
SET PROG=xx IEF196I IGD103I SMS ALLOCATED TO DDNAME SYS00011 IEF196I IGD104I ARS.EXAMPLE.USERLOAD RETAINED, IEF196I DDNAME=SYS00011 CSV420I MODULE ARSUSECZ HAS BEEN ADDED TO EXIT ARS.SECURITY IEF196I IGD103I SMS ALLOCATED TO DDNAME SYS00012 IEF196I IGD104I ARS.EXAMPLE.USERLOAD RETAINED, IEF196I DDNAME=SYS00012 CSV420I MODULE ARSUSEZ1 HAS BEEN ADDED TO EXIT ARS.SECURITY IEE536I PROG VALUE XX NOW IN EFFECT |
You can verify that both exits are loaded with the following command:
D PROG,EXIT,EXITNAME=ARS.SECURITY,DIAG
D PROG,EXIT,EXITNAME=ARS.SECURITY,DIAG CSV464I 11.49.15 PROG,EXIT DISPLAY 548 EXIT ARS.SECURITY MODULE STATE EPADDR LOADPT LENGTH JOBNAME ARSUSECZ A 9DD57138 1DD57138 00000DA8 ARSSOCKD ARSUSEZ1 A 9DD380C8 1DD380C8 00000DA8 ARSSOCK1 |
Special Considerations If You Need To Execute The arsutbl Command
Note: The arsutbl command does not utilize the ARSSOCKD started task for its job name. Instead, it uses the JOBNAME in its call to the security manager.
You have two choices if you want to use the arsutbl command in this environment:
1. Execute the command in batch and use a batch job name that is the same as the started task. There is no technical reason not to do this, but it can become confusing to have both a started task and a batch job sharing the same name.
2. Again execute the command in batch but add the JOBNAME of a BPX batch job to the security exits.
For example, say you wanted to execute arsutbl on both Content Manager OnDemand v8.4.0 and v8.4.1 then your PROGxx member may look like this:
EXIT ADD EXITNAME=ARS.SECURITY,MODNAME=ARSUSECZ, DSNAME=ARS.ARSV840.USERLOAD,JOBNAME=ARSSOCKD EXIT ADD EXITNAME=ARS.SECURITY,MODNAME=ARSUSEZ1, DSNAME=ARS.ARSV841.USERLOAD,JOBNAME=ARSSOCK1 EXIT ADD EXITNAME=ARS.SECURITY,MODNAME=ARSUSECZ, DSNAME=ARS.ARSV840.USERLOAD,JOBNAME=ARSTBLSP EXIT ADD EXITNAME=ARS.SECURITY,MODNAME=ARSUSEZ1, DSNAME=ARS.ARSV841.USERLOAD,JOBNAME=ARSTBLS1 |
In this case, batch jobs for running arstblsp on v8.4.0 will use a job name of ARSTBLSP and batch jobs for running arstblsp on v8.4.1 will use a job name of ARSTBLS1.
Was this topic helpful?
Document Information
Modified date:
18 June 2019
UID
swg21425992