I have an existing COBOL application that cannot be changed, at least, let's say it can't.
The COBOL application accepts an input file of an arbitrary record length like so:
SELECT C1BMNAM
ASSIGN TO DISK-C1BMNAM
FILE STATUS C1BMNAM-FILE-STATUS
.
I want it to process the file sorted by a certain position/length (ZIP Code) determined at run time. But if I create an LF, it doesn't read it in order by key.
What I thought I could do was use OPNQRYF to do that sorting on the fly, something like:
OPNQRYF FILE((METZ3410/PF)) KEYFLD((*MAPFLD/ZIP)) MAPFLD((ZIP '%sst(pf 133 5)')) OPNID(C1BMNAM) SEQONLY(*NO) OPNSCOPE(*JOB)
That works for a file with one field. The COBOL is none-the-wiser.
But the input file might have multiple fields. All I know is the position/length.
Is there some way to make my MAPFLD substring the entire record without knowing what field the position/length actually falls into? I just want to substring the entire record.
Because the file may be very large, I do not want to take the performance hit of copying it to a single-field file. But if there were some other way to trick it...
Thanks in advance for any and all suggestions.
Zak Metz, Principal Software Engineer
Pitney Bowes Software
1664 Princess Ln | Frisco TX | 75034-8715 | USA
507-384-9069 | www.pb.com<
http://www.pb.com/>
zak.metz@xxxxxx<mailto:zak.metz@xxxxxx>
Every connection is a new opportunity(tm)
________________________________
As an Amazon Associate we earn from qualifying purchases.