Sometimes the PROTSYM symbolic repository fills up during compile or assembly time due to original DASD allocation was not large enough when the PROTSYM was first defined using the IDCAMS utility program.
The PROTSYM file batch utility is used to maintain the PROTSYM file. This utility is outlined in the Testing and Fault Management Symbolic Guide.
You can not use the IDCAMS repro command to repro the smaller PROTSYM into a larger PROSYM. This will not increase the size of the PROTSYM.
IN25UTIL function INITIALIZE must be used to preformatted the new large PROTSYM file. The INITIALIZE function creates header records in the PROTSYM that indicate the size of the file.
Since increasing the size of the PROTSYM DASD allocation requires a IDCAMS delete and define of the VSAM cluster you will have to deallocate the cluster form all CICS regions that have allocated the file.
When the PROTYSM fills up will cause SYM014 PROTSYM OUT OF SPACE message and you have two options to free space.
The IN25UTIL PURGE= function or reorganizing the file allocating additional DASD cylinders.
The PURGE=### is used to purge programs not compiler or assembled within a certain number of days.
In this example you are increasing the number of cylinders and retaining all the program entries currently in the PROTSYM.
Since this procedure deletes the current PROTSYM you are required to create a backup of the current PROSYM before increasing the size.
The following example reorganizes or changes the size of the PROTSYM.
This job unloads all programs, deletes and defines the PROTSYM cluster using IDCAMS, initializes the PROTSYM, reloads all programs, and generates a system report.
Remember to backup the PROSYM symbolic repository before running this job.
//STEP1 EXEC PGM=IN25UTIL
//STEPLIBDD DISP=SHR,DSN=CAI.CAVHLOAD
//SYSUDUMP DD SYSOUT=*
//MESSAGE DD SYSOUT=*
//UNLOAD DD DISP=(,PASS),
// UNIT=TAPE,
// VOL=SER=RELDTAP,
// LABEL=(,NL),
// DCB=(RECFM=FB,LRECL=2042,BLKSIZE=20420)
//PROTSYM DD DSN=CAI.PROTSYM,DISP=SHR
//CARDS DD *
UNLOAD=ALL
/*
Allocate, initialize and RELOAD PROTSYM symbolic repository.
//IDCAMS EXEC PGM=IDCAMS,COND=(0,NE,UNLOAD)
//SYSUT1 DD UNIT=SYSDA,VOL=SER=SYMVOL,DISP=SHR
DELETE 'CAI.PROTSYM'
DEFINE CLUSTER (NAME(CAI.PROTSYM) -
VOLUME(SYMVOL) -
FILE(SYSUT1) -
CYLINDERS(20) -
CISZ(2048) -
RECSZ(2040 2040) -
SHR(4 4) -
NUMBERED) -
DATA (NAME(CAI.PROTSYM.DATA))
/*
//RELOAD EXEC PGM=IN25UTIL,COND=(0,NE,UNLOAD)
//STEPLIB DD DSN=CAI.CAVHLOAD,DISP=SHR
//SYSUDUMP DD SYSOUT=*
//MESSAGE DD SYSOUT=*
//RELOAD DD DISP=(OLD,KEEP),
// UNIT=TAPE,
// VOL=SER=RELDTAP,
// LABEL=(,NL),
// DCB=(RECFM=FB,LRECL=2042,BLKSIZE=20420)
//PROTSYM DD DSN=CAI.PROTSYM,DISP=SHR
//CARDS DD *
PASSWORD=12345678
INITIALIZE
RELOAD=ALL
REPORT
/*