× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Thanks Buck. OPNQRYF would be perfect if I could MAPFLD based on a %sst of the whole record, but if it has multiple fields, and it might, then that won't work. So I'm with you there. Yes, I may indeed need to change the Cobol to read a dynamically-generated LF.

-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Buck Calabro
Sent: Tuesday, September 24, 2013 2:55 PM
To: midrange-l@xxxxxxxxxxxx
Subject: Re: Sort input file by arbitrary position/length

On 9/24/2013 3:08 PM, Zak Metz wrote:
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.

I never imagined a tagalong sort would be a good fit in 2013.

I still don't.

This seems like a utility of some sort. If you're satisfied with the OPNQRYF solution, consider writing a front-end that programmatically generates those specs and compiles the CLP.

Considering the amount of work you are going to be going through to keep the existing Cobol program unchanged, for the sake of completeness you ought to consider the amount of work it would take to tweak the Cobol program instead.
--buck
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/midrange-l.



________________________________


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.