SBAshby wrote:
Hi Jan,
The manual says that the PDS has to have an record length of 259.
We did try this after a conversation with you and it is effective but the 10 character member name of elibs met our requirements so we are going the elib route.
Just a quick note/amplification; Remember you can use record lengths larger than 259, but actually it often useful to deliberatly set a FIXED record size to disable compression too. OK but doesn't that waste space, I hear you say... Yes, but it has the great advantage that you can now open the listing without having to use the Endevor view footprint or 'LL' option - i.e using a regular browse or view session. There is of course another option to help manage the space, and that's to let your installation disk management software in on the game.
The basic premise is that rather than creating a single huge dataset to hold all your listings, you create one listing per element/date/time and then let HSM, CA disk, or whatever you favourite migration tool is manage the DASD. In your processor you allocate a new PDS for each listing, The dataset name is important, it needs to identify the element, the system/stage/type as needed and (if you want to keep prior versions) then also a date/time. You can open/browse your listing from endevor using 'LL' (or footprint display utility) as usual, but now when you don't access your listing it can simply be migrated off. Your storage people can set up rules for retention so for example ALL production listings are kept for at least seven years, Development listings might only stay on line for 3 days - but because they are just archived off, they are still available when required.
The last thing I'd point out is that now instead of having only 8 characters for a pds member name (or 10 for an ELib), you can use the whole dataset name (44 characters) AND the member name (8 characters) to get reallly creative. As an example this is the structure I use to store listings in our automated QA processes, showing both the symbols used and the store step.
//AUTOPTF PROC EXPINC=N, EXPAND INCLUDE STATMENTS Y/N
// LISTPRE='BST.SUPPNDVR.LIST&C1STGID..&C1SYSTEM..', LIST PRFX
// LISTLIB='&C1ELEMENT..D&&C1AYY&C1AMMM&C1ADD', LISTLIB SUFFIX
// LISTMEM='T&C1AHHMMSS', LISTLIB MEMBER NAME
....
//STORLIST EXEC PGM=CONLIST,MAXRC=0,PARM='STORE.MBR(&LISTMEM)'
//C1LLIBO DD DSN=&LISTPRE.&LISTLIB,
// DISP=(MOD,CATLG,CATLG),
// DCB=(RECFM=FBA,BLKSIZE=0,LRECL=133,DSORG=PO), Readable
//* DCB=(RECFM=VBA,BLKSIZE=23476,LRECL=137,DSORG=PO), Compressed
// STORCLAS=NDVRPOOL,DSNTYPE=LIBRARY,
// SPACE=(CYL,(1,1),RLSE),
// MONITOR=&MONITOR
//C1BANNER DD UNIT=&WRKUNIT,SPACE=(TRK,(1,1)),
// DCB=(RECFM=FBA,LRECL=121,BLKSIZE=6171)
//LIST00 DD DSN=&&IDCAMS0,DISP=(OLD,DELETE,DELETE)
//LIST01 DD DSN=&&IDCAMSD,DISP=(OLD,DELETE,DELETE)
//LIST02 DD DSN=&&LISTSUM,DISP=(OLD,DELETE,DELETE)
//LIST03 DD DSN=&&LISTDET,DISP=(OLD,DELETE,DELETE)
//LIST04 DD DSN=&&DDUPPRT,DISP=(OLD,DELETE,DELETE)
...
This is just a sample, but hopefully you can see enough to modify to your needs.