

10. MODIFICATION › 10.5 A Case Study Using RACF and DMS/OS Data › 10.5.3 Modify #VCAEXIT - Define _USRUSEG Macro
10.5.3 Modify #VCAEXIT - Define _USRUSEG Macro
The _USRUSEG macro is defined as a stub in member #VCAEXIT in
sharedprefix.MICS.SOURCE. To properly override this stub
macro with your definition of the user segment, you need to
create a local modification (for auditing purposes) which
updates member #VCAEXIT in prefix.MICS.USER.SOURCE adding
code after the %INCLUDE statement. Update #VCAEXIT by
defining the SAS code for _USRUSEG macro to read several user
fields from the segment created by VCCUEXIT:
MACRO _USRUSEG
INPUT DAAUCJOB $CHAR8.
DAAUUJOB $CHAR8.
UPDTYEAR PIB1.
UPDTDAY PIB2.
@;
IF (0 < UPDTYEAR < 100) & (0 < UPDTDAY < 367) THEN
DAALUPDT = DATEJUL(1000 * UPDTYEAR + UPDTDAY);
% /* END OF OLD-STYLE MACRO */
You will also need to make sure that the WRKUSR01 element
will be kept on the intermediate files WORK3.VCADAA00 and
WORK.EXTDAA00.
A local modification that would work for this example could
be stored as member LM0001 in sharedprefix.MICS.
LOCALMOD.CNTL. In the example that follows, the first step
saves a copy of the module prior to the application of
LM0001. With this convention, the suffix of the local
modification can point back to the module (or element)
affected by the change.
//SM0001 EXEC PGM=IEBUPDTE
//I1 DD DSN=sharedprefix.MICS.SOURCE,DISP=OLD
//O1 DD DSN=sharedprefix.MICS.LOCALMOD.CNTL,DISP=OLD
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
C I=((I1,R)),O=O1
S M=((DYVCAFMT,SM0001)) CREATE SAVED MODULE
//LM0001 EXEC PGM=IEBUPDTE
//SYSUT1 DD DSN=sharedprefix.MICS.SOURCE,DISP=OLD
//SYSUT2 DD DSN=sharedprefix.MICS.SOURCE,DISP=OLD
//SYSPRINT DD SYSOUT=*
//SYSIN DD DATA,DLM='++'
./ CHANGE NAME=DYVCAFMT
/* LM0001 | | ADD WRKUSR01 TO KEEP LISTS FOR PASSING RACF DATA */ 00010100
WRKUSR01 /* FOR PHASE 6 DATA STEP USAGE */ 00050510
WRKUSR01 /* FOR PHASE 6 DATA STEP USAGE */ 00054510
++
//
Copyright © 2014 CA.
All rights reserved.
 
|
|