OK, 400,000 records (if I got that right) is not a lot, but still best not to read them more often than needed.
First, find somewhere else where the file is read. Change that to also
produce a count, as well as what it is already doing. Realistically the Analyst should do the "looking", but since they've missed out on this to start with (likely), you never know
If nothing else reads the file, or it is not possible to get something changed now
, then make the first step an ICETOOL step using the COUNT operator. The output can easily be set to a file, just tell COUNT to do so.
Have a step which reads whichever count you have ended up with, and generates the control card(s) for the final step. These you should ensure are 80-byte, fixed-length, records. If you finish every BUILD or the first OVERLAY with 80:X)... then that is what you'll get (assuming you've not got too much data on the card (> 71 characters)).
Have the final step process the file, splitting into five, using the calculation in the generated cards, and based on the count of the records.
If you make all your data fixed-length (due to the previous messages, and the complexity of mixing the different tasks in one step) then you'd have been wasting 35% of the DASD allocated to the files, input and output.