This article helps in verifying the definitions and accesses to the IPC VLS libraries used by Ideal and Datacom DDOL in the CICS environment.
The IPC VLS libraries must be defined to CICS with the proper library name length , blocksize and file access.
The following table shows the VLS file, its FCT name, its required name length (NAMELEN), default blocksize as installed and minimum blocksize.
The blocksize can be any size convenient to the device type, except that each file type has a minimum blocksize.
The data is actually stored in VLS internal format in fixed length blocks.
Blocksize
VLS File FCT Name NAMLEN Installed Minimum
IPC panel library ADRPNL 24 4000 4000
IPC message library ADRLIB 24 4000 4000
IPC output library ADROUT 11 4000 4000
DDOL work file DDOL1 DDOFILE 40 4000 4000
DDOL SQL work file DDOL2 DDOFIL2 40 4000 4000
DDOL system panel library DDMAP MDUOLL 24 4000 4000
Ideal message library IDDAT 24 1960 960
Ideal data view library IDDVW 40 4000 4000
Ideal user source library z/OS IDxxxSRC 24 1960 960
Ideal user panel library z/OS IDxxxPNL 24 4000 4000
Ideal user object library z/OS IDxxxOBJ 24 4000 4000
Ideal user source library z/VSE IDLxxxS 24 1960 960
Ideal user panel library z/VSE IDLxxxO 24 4000 4000
Ideal user object library z/VSE IDLxxxP 24 4000 4000
NOTE: 'xxx' in above table refers to the Ideal SYSTEM name.
The 3 character 'xxx' in the label name of the VLS source, object and panel files do not require that they be the Ideal SYSTEM name, but it is a good practice. Multiple Ideal SYSTEMs may use the same set of source, object and panel VLS files.
To find the library name length (NAMELEN) and blocksize of an existing VLS library, run a VLSUTIL LIBRARY list.
At the bottom of the listing, the library statistics are seen.
Sample output from a VLSUTIL LIBRARY listing of an Ideal ADRPNL file:
GRAND TOTALS: 1,320 MEMBERS, 5 RECORDS
TOTAL BLOCKS ON FILE: 1,956 UNUSED BLOCKS: 105
LIBRARY BLOCK SIZE: 4,000
LIBRARY NAME LENGTH: 24
LIBRARY FORMAT: 2-BYTE BLOCK NUMBERS
Verify that the VLS library is accessible and properly defined to CICS.
The VLS library FCT must be open and enabled. It also must have access to Read, Update and Add. In addition, make sure that the data set name is correct and matches the name used to run the VLSUTIL LIBRARY listing.
This information can be verified using the following command in CICS:
CEMT INQUIRE FILE(vlsfile)
For example:
I FI(ADRPNL)
STATUS: RESULTS - OVERTYPE TO MODIFY
Fil(ADRPNL ) Bda Ope Ena Rea Upd Add Bro Exc Sha
Dsn( my.dataset.ADRPNL )
Verify that the blocksize of the CICS FCT entry of the VLS library is correct.
For CICS access, the FCT entry blocksize must match the blocksize of the VLS library.
In the CEMT INQUIRE FILE, tab down and put an 'S' next to Fil and press enter.
Scroll down to view the 'Recordsize' and check that it matches the blocksize.
Further, for CA Ideal:
Verify the Ideal System definition of the Ideal user source, panel and object libraries.
Display the production status system in Ideal and make sure the proper library label names have been specified. (Ideal command: DIS SYS xxx PROD)
Verify that the library is included in the Ideal batch file table.
To access a VLS library in Ideal batch, the library must be assembled into a batch file table. (Ideal batch jobs require table @IIDSYSF; Datadictionary batch jobs require table DDVPEFT.) .
Also...
Verify that CICS was recycled if a VLSUTIL FORMAT and RESTORE was executed.
Although a VLS library file can be de-allocated and closed while CICS is up in order to make modifications, it is absolutely required that CICS is recycled after the changes have been made.
There is information stored in CICS core that is not updated when VLSUTIL FORMAT and RESTORE is executed. If the CICS region is not recycled, the result will be anything from internal errors, abends, and storage violations when trying to access the library. Deallocating the library allows CICS users who do not need to use the library that is being modified to remain active until the time the region is recycled.
Verify that VLSUTIL BACKUP and RESTORE was used if the VLS library was migrated.
To migrate a VLS library from one device to another, the library must be backed up using VLSUTIL BACKUP on the old device and restored into a VLS library that has been created using VLSUTIL FORMAT and RESTORE on the new device. Any other method will destroy the library! It is also highly recommended that any migration of a VLS library (to the same device type) is performed using VLSUTIL as this is the only way to guarantee the integrity of the VLS library. Play it safe and always use VLSUTIL to migrate your VLS libraries.
NOTE: The system should be QUIESED (down) when executing a BACKUP.
Performance
BLOCKSIZE
Be very careful about changing the blocksize of a VLS library. It is most common for Ideal sites to consider changing the blocksize of the VLS user source, panel and object libraries. Many sites try to increase the amount of members that can reside on a VLS source library. What they do not realize is that every VLS source member will always consist of 2 blocks. This means unless almost every member is more than 3 blocks, increasing the blocksize does not fulfill its intention.
Ideal sites also inquire about modifying the blocksize of the object library to cut down I/O to that library. First, if the concern is for a production environment, load module format should be the method of choice. However, the blocksize of a Ideal object library could be a good candidate for an increase in the blocksize if the majority of the members in the library take up two or more blocks. If many of the members are only one block, then wasting library space may occur, possibly using more DSA, and not cutting down on I/O to the library in any significant amount.
Upgrading CICS/TS release
Remember that FCT entries for VLS files must be re-assembled at each new release of CICS because BDAM access is used.
Only VSAM files can be defined via CICS CEDA.
Refer to Datacom Tools - 15.1 section Preparing and Maintaining VLS Libraries in CA Ideal for CA Datacom , topic Allocating and Initializing a VLS Library