When the VLS source library becomes full, it may have been caused by orphaned VLS members. In this case, here is what has happened:
- After marking an entity (program, panel or report) to production (PROD) status, the previous PROD version of the entity is automatically marked to history status.
- When the number of history versions for one of these entities exceeds the value of the Datadictionary parameter ENTY-HIST-VERS (default value is set to 3 for all entities), the oldest history version is deleted from the Datadictionary.
- However, as this is an internal Datadictionary function, the corresponding members are not deleted from the VLS source library and this can fill the library with members related to versions that no longer exist in the Datadictionary (these are sometimes referred to as "orphaned members").
You can do one of two things when the VLS source library becomes full, either expand the file or delete unused members. To determine which members can be deleted from the source library, run the Library Integrity Utility (IDUTILTY) 'VERIFY LIBRARY' command against the library.
z/OS JCL Sample:
//LIBINTEG EXEC IDLBATCH,PROG=IDUTILTY
//SYSIN DD *
VERIFY LIBRARY lib1
VSE JCL Sample:
// DLBL CAI,'NNNNNNNN'
// EXTENT ,XXXXXX
// LIBDEF *,SEARCH=(CAI.IDEAL22,CAI.IPC42,CAI.DB11)
// EXEC PROC=IDLPROC
// EXEC IDUTILTY
VERIFY LIBRARY lib1
(where lib1 is the DDname or DLBL of the library you are verifying)
Sample VERIFY LIBRARY Output:
$IDPGMABB 001L Program SOURCE not present on DataDictionary
$IDPGMABB 001W Program SOURCE not present on DataDictionary
$IDPGMFRA 001L Program SOURCE not present on DataDictionary
$IDPGMFRA 001P Program SOURCE not present on DataDictionary
$IDPGMFRA 001W Program SOURCE not present on DataDictionary
$IDPGM1144 001L Program SOURCE not present on DataDictionary
$IDPGM1144 001P Program SOURCE not present on DataDictionary
$IDPGM1144 001W Program SOURCE not present on DataDictionary
In the above example, VLS source members related to three programs (PGMABB version 1, PGMFRA version 1, and PGM1144 version1) belonging to $ID Ideal system can be deleted from source library lib1.
The orphaned source members can then be removed from the VLS library using the CA-Ideal DELETE PROGRAM command (online or batch). An alternative way to delete these members is a VLSUTIL DELETE command.
Modifying ENTY-HIST-VERS Value
If you want to change the value for ENTY-HIST-VERS in Datadictionary, perform the following steps:
- From the Datadictionary Mode Select panel, select Entity Maintenance Mode (SET MODE ENTM).
- From the Entity Maintenance menu, select UPDATE.
- From the Entity Maintenance 'Update' menu, select UPDATE ATTRIBUTE.
- On the Selection Criteria Fill-in panel, enter an entity-type of TABLE and an occurrence-name of PROGRAM, PANEL, or REPORT. Status ('stat') should be PROD with the password ('pswd') = DD and override ('ovrd') = PRIV. (Note: These are the default installation passwords.)
- On the Attribute Update panel, change the ENTY-HIST-VERS attribute value and apply the change.
- Execute the HSD RESET command in the Datadictionary DDCFBLD utility.
For additional information on VLSUTIL Functions, see the CA IPC Implementation Guide.