On 4/19/2013 8:49 PM, Graham Hobbs wrote:
Hello, In a JCL stream there are several F,B output files I'd like to
put into a single PDS. Each file has a different LRECL? If I allocate
the PDS with LRECL => the longest file's LRECL, can I do this? Am
guessing this isn't a smart question:-) but then am not a sysprog. I
know, I can try it, am just thinking ahead.

The short answer is no. When a file is closed, its DCB parameters are written back, so your PDS would wind up with a record length and blocksize of the last closed file. At some point you would read the individual members, and those programs would either have to accommodate unexpected lengths (and truncation or too long records), or require a rewrite.

You didn't say how the files are written (compiler, assembler, or ?). About forty years ago I wrote a print routine that detects DCB parameters of an output file, and adjusts accordingly. If you have the option of making a similar change, then you could use a PDS with the largest record length; that length would be used by all. Subsequent programs reading the file would similarly have to accommodate padded records.

Another approach would be to change the programs to write VB files. Yet another would be to write the output to temporary files, and use a (custom?) utility to pad the members to the largest size, with the understanding that programs reading the members require changes.

Perhaps more information would get you more useful answers.


Gerhard Postpischil
Bradford, Vermont

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to