You can always utilize a user index assuming each record is no more than 2000 characters in length. The program just needs enough authority to use the User Index APIs.
Basic steps are...
1. Create a user index in QTEMP and key it in the sequence you want things sorted.
API is QUSCRTUI.
2. Read your work file and write entries to your user index.
API is QUSADDUI.
3. Clear your work file.
4. Read the user index and write records to your work file.
API is QUSRTVUI.
Now your work file is sorted in the sequence you desired.
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Stone, Joel
Sent: Thursday, January 24, 2013 7:33 AM
Subject: RE: take 2: how to sort a file in place
Good suggestion. But with all the security and authority issues these days - and prod running on different h/w that developers don't even have access to - is there an easy way to ensure that the new file has EXACTLY the same authority and security attributes as the old one? Does CRTDUPOBJ supply all the necessary duplication?
With CPYF, I know for sure that the data is ending up where it came from!
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Jon Paris
Sent: Wednesday, January 23, 2013 5:04 PM
Subject: Re: take 2: how to sort a file in place
On 2013-01-23, at 2:26 PM, midrange-l-request@xxxxxxxxxxxx wrote:
Can this be done in one SQL statement with the result placed back in WORKFILE1?
Or should I create a new table QTEMP/WORKFILE2 using DISTINCT or GROUP BY, and then CPYF back to WORKFILE1.
Another option being to create a new file delete the old one and either move or rename the new one to the old name. Neither move or rename would actually move the data so both should be more efficient than copying the new on back again.
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,
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/midrange-l
This inbound email has been scanned for all viruses by the MessageLabs SkyScan
This outbound email has been scanned for all viruses by the MessageLabs Skyscan service.
For more information please visit http://www.symanteccloud.com