SYM014 PROTSYM OUT OF SPACE while post processing the compile listing. How to increase size of PRTOSYM symbolic repository?
search cancel

SYM014 PROTSYM OUT OF SPACE while post processing the compile listing. How to increase size of PRTOSYM symbolic repository?

book

Article ID: 25057

calendar_today

Updated On:

Products

InterTest - CICS InterTest - Batch

Issue/Introduction

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.

 

Resolution

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
/*

 

Additional Information