Hi there,
i made a REX/X running a full inquire for specified ELIBs. The REX/X analyses the inquire and gives me recommendations for a lib if necessary. e.g. free space becomes low, lib has directory overflows, lib has extents etc. I have another REX/X, getting the same input. This REX/X submits a job for every lib which needs reorganisation. You can use this REX/X to allocate new libs, too. You can use this REX/X to change the format of a lib (eg. from VSAM to BDAM, from VSAM to PDSE or whatever you like), too.
Example:
//WRNDLIBC EXEC PGM=IKJEFT01
//SYSTSPRT DD SYSOUT=*
//ISPPROF DD DSN=&&PROFILE,DISP=(NEW,DELETE,DELETE),
// SPACE=(CYL,(1,1,20)),UNIT=SYSDA,
// DCB=(RECFM=FB,LRECL=80)
//ISPLOG DD DSN=&&LOG,DISP=(MOD,DELETE,DELETE),UNIT=SYSDA,
// SPACE=(1,1)
//SYSEXEC DD DISP=SHR,DSN=your exec-libs
//ISPPLIB DD DISP=SHR,DSN=your panel-libs
//ISPMLIB DD DISP=SHR,DSN=your message-libs
//ISPSLIB DD DISP=SHR,DSN=your skeleton-libs
//ISPTLIB DD DISP=SHR,DSN=your table-libs
//* ----------------------------------------------------------------- *
//SYSTSIN DD *
ISPSTART CMD(%WRNDLIBC)
//SYSIN DD *
* ENTW
NDV.***1.DELTA N B 4200 600 160000
NDV.***2.DELTA N B 3600 600 480000
NDV.***1.BASE N B 1000 200 108000
NDV.***2.BASE N B 1000 200 108000
1. word is the name of the lib
2. word is (Y/N) wether your're using LSERV
3. word is the format of the lib: BDAM, VSAM, PDS or PDSE
4. word is primary space in cylinder
5. word is secondary space in cylinder
6. word is the number of expected member for the lib
Regards,
Willi