I'm in mainframe FOCUS. Focexec #1 creates FileA using a DYNAM ALLOC with LRECL specified as 242. The actual length of the data is 241, so this should be fine. I manually create an MFD. Focexec #2 reads File A using that MFD. No error message results, just strange totals, too low.
Then I remember another focexec which creates a file virtually identical to File A, but this focexec specifies the file with LRECL 256, actual length 251. . it has one more field at the end. I read THIS file into focexec #2 with the same MFD, and it works!
I go back to focexec #1 and re-create my original file with LRECL 256, and now THIS works!
Can anyone tell me what happened? My LRECL always was longer than the actual data, and the MFD covers all. Thanks, Phyllis
I take it this is MVS. You probably have conflicting MFDs. Focus will only search HOLDMAST if you have already performed a HOLD in the Focus session. If you've placed your "manually created" 241-byte MFD in a partitioned dataset allocated to HOLDMAST, and the 251-byte MFD of the same name has permanent residence in a PFD allocated to MASTER, that would explain your symptoms.
are you using a RECFM of V, VB, or VBA?
variable records require a 4 byte descriptor and VBA has an extra byte for the print control.
might explain your LRECL.
Jack and Drew,
My RECFM is FB.
I used the same MFD throughout. And there is no like-named MFD anywhere that I can see.
Years ago I remember using an LRECL that was too short, forcing the job that followed to read two records for one set of fields, and thereby reading "across records", I think. That resulted in 5 rows when there should have been 10. But this one is not too short. Specified LRECL was 242, and CHECK FILE FILEA tells me length 241.
Thank you both.
I think if you issue a
? TSO DDNAME <HOLDFILE>
after the file is created it will give to the exact DCB info and can then use them in the second focexec.
|Powered by Social Strata|