How to Use CAMODID

CAMODID is a CA Common Services for z/OS (CCS) TSO command processor utility which finds the #MODID blocks in load modules that are located in common storage or selected load module data sets. The #MODID block contains the product-related information including the service level of the load module element. The output includes a summary of service maintenance installed based on the located #MODID blocks.
ccszos141-14-1
CAMODID is a CA Common Services for z/OS (CCS) TSO command processor utility which finds the #MODID blocks in load modules that are located in common storage or selected load module data sets. The #MODID block contains the product-related information including the service level of the load module element. The output includes a summary of service maintenance installed based on the located #MODID blocks.
This utility provides the following features:
  • View the service summary is sorted by RMID(PTF).
  • Allow masking for the LMOD, FMID, and RMID parameters.
  • Run in BATCH (
    IKJEFT01
    ) for hard copy or longer running functions.
  • Use sample
    CAM REXX
    to capture output to a temp file for online browsing.
  • Verify PTF status in runtime libraries
This utility has the following limitations:
  • Requires z/OS 1.10 and above.
  • Reporting is limited to modules that contain #MODID blocks.
This utility is available with the following releases:
  • CCS Version 14.0 PTF RO44913
  • CCS Release 14.1
Use CAMODID
Follow these steps:
  1. Install the CCS maintenance and IPL the system.
    CAMASTER address space builds the infra-structure at startup.
  2. Log in to TSO.
  3. Issue
    CAMODID HELP
    from ready mode or ISPF option 6.
  4. Review output from HELP including functions, parameters, and examples.
Invoke CAMODID
To invoke CAMODID and view output in a temporary data set, use the following sample
CAM REXX EXEC
:
/* REXX */ /* WRITE CAMODID OUTPUT TO TEMP DATASET FOR EASE OF VIEWING */ PARSE ARG P1 P2 P3 P4 P5 P6 P7 P8 P9 USER = USERID() SYS = MVSVAR('SYSNAME') UDSN = USER'.CAMODID.'SYS'.TEMPDSN' IF SYSDSN("'"UDSN"'") = OK THEN "ALLOC F(MODDSN) DA('"UDSN"') SHR REU" ELSE "ALLOC F(MODDSN) DA('"UDSN"') NEW SP(25 15) TR DSORG(PS) RECFM(F B) LRECL(80) BLKSIZE(3120)" X = OUTTRAP('MOD.') TRACE(OFF) "CAMODID "P1" "P2" "P3" "P4" "P5" "P6" "P7" "P8" "P9 "EXECIO * DISKW MODDSN (STEM MOD. FINIS" "ADDRESS ISPEXEC "BROWSE DATASET('"UDSN"')" "FREE F(MODDSN)" EXIT(0)
JCL to Run CAMODID
To run CAMODID using batch TMP, use the following sample JCL and modify to suit your requirements:
//USERIDA JOB (1),'OS/MVS',MSGCLASS=X,MSGLEVEL=(1,1), // NOTIFY=USERID //STEP1 EXEC PGM=IKJEFT01 //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //SYSIN DD DUMMY //SYSTSIN DD * CAMODID SYSTEM //
The following sample is an example of the output after you run CAMODID:
CA LOAD MODULE SERVICE ANALYZER SYSID=SYS1 SP7.2.1 HBB7790 DATE=2015014 13:03:57 PRIMARY CONTROL OPTIONS IN EFFECT: FUNCTION=SYSTEM LMOD(********) FMID(********) PTF(*******) PROCESSING COMMON STORAGE LOAD MODULES PROCESSING LINKLIST DATASETS PROCESSING DATASET=SYS1.LINKLIB PROCESSING DATASET=SYS1.MIGLIB PROCESSING DATASET=SYS1.CSSLIB PROCESSING DATASET=SYS1.SIEALNKE PROCESSING DATASET=SYS1.SIEAMIGE [...] PROCESSING DATASET=SYS1.COMMMON.PRODPDM.LINKLIST PROCESSING DATASET=SYS1.EDC.V1R2M0.SEDCDCMP.LINKLIST PROCESSING DATASET=SYS1.ALLOCC0.TEST.LOADLIB PROCESSING DATASET=SYS1.RDZ.V9R0M0.BASE.LINKLIST CA LOAD MODULE SERVICE SUMMARY RMID FMID RMID FMID RMID FMID RMID FMID TR76641 CCUUC60 TR74389 CAW4E10 TR71350 CAW4E10 TR70962 CAS9E10 TR70670 CAX1F00 TR69205 CAS9E10 TR68277 CAW1E10 TR68062 CAW4E10 TR64432 CAS9E10 TR61694 CATLC60 TR52401 CAW4E10 TR47466 CVH8500 TR42230 CBAAB60 TR42229 CBAAB60 RO76806 CNM4E00 RO76269 CNM4E00 [...] RO19140 CCUWC50 RO19095 CRX8500 RO18884 COX8500 RO18744 CCUWC50 RO18610 CRX8500 RO18601 COX8500 RO18595 COX8500 RO18571 CRX8500 RO18564 CCUWC50 RO18563 CCUWC50 RO18498 COX8500 RO18335 CRX8500 RO18330 CCUWC50 RO17091 CCUWC50 [1] CCUWC50