That looks suspiciously like the inspiration for my updated (just
yesterday) HEXSORT XEDIT, pasted below.
Mike Walter
Aon Corporation
The opinions expressed herein are mine alone, not my employer's.
/* Prolog; See Epilog for additional information ********************
* Exec Name - HEXSORT XEDIT *
* Unit Support - I.S. *
* Status - Version 1, Release 2 *
********************************************************************/
parse source xos xct xfn xft xfm xcmd xenvir .
parse arg parms 0 operands '(' options ')' parmrest
parse var operands target sortargs
'COMMAND EXTRACT /MSGMODE/RANGE/LINE/SIZE/AUTOSAVE/'
If target='' | target='?' then
Do
'COMMAND SET MSGMODE ON'
'COMMAND EMSG HEXSORT syntax: HEXSORT target pipe-sort-arguments'
'COMMAND EMSG E.g. HEXSORT * 2-12 A 36.4 D'
'COMMAND EMSG For more PIPE SORT info, enter: PIPE HELP SORT'
'COMMAND SET MSGMODE' msgmode.1
Exit 0
End
curline=line.1
begin=max(1,line.1)
/* Potentially add delimiters to LOCATE target string */
parse var target c1 2 Rtarget
If verify(0123456789,target)=0 then /* Not just numeric */
If index('* : - + . /',c1)=0 then target='00'x||target||'00'x
/* LOCATE for target is always case respective */
'COMMAND LOCATE' target /* Find the rqsted target */
If rc>1 then
Do
If c1='.' then
Do /* Trt alternate-case locate*/
If datatype(Rtarget,'L') then
upper target
Else
'PIPE VAR target | XLATE LOWER | VAR atarget'
End
'COMMAND LOCATE' atarget
If rc>1 then Exit rc
End
'COMMAND EXTRACT /LINE/'
end=line.1-1 /* Up to but not including */
'COMMAND SET RANGE :'begin ':'end /* Just requested range */
'COMMAND :'begin /* Back to Top of Range */
'COMMAND SET MSGMODE OFF' /* Will be many deletes. */
address command,
'PIPE (END ?)' ,
'| XEDIT', /* Read recs from XEDIT ring file */
'| XLATE *-* A-F FA-FF FA-FF A-F' ,
'| SORT' sortargs , /* Sort and pass XEDIT input recs */
'| XLATE *-* A-F FA-FF FA-FF A-F' ,
'| o: FANOUT' , /* Copy sorted recs to XEDIT ring file */
'| TAKE FIRST 1' , /* Do not buffer full file */
'| SPECS /:0 DELETE */' ,
'| SUBCOM XEDIT' , /* Execute ":0 DELETE *" command */
'? o:' , /* Accept sorted records from FANOUT */
'| XEDIT' /* Write sorted recs to XEDIT ring file*/
src=rc
'COMMAND SET RANGE :'range.1 ':'range.2 /* Restore to orig. */
'COMMAND :'curline /* Restore */
'COMMAND SET MSGMODE' msgmode.1 /* Restore */
'COMMAND SET AUTOSAVE' autosave.1 /* Restore */
Exit src
/********************************************************************
* Function - Sort one or more ranges in requested order, *
* where the columns being sorted contain HEX data. *
* Component of - XEDIT at Hewitt Associates LLC *
* Command format- HEXSORT target CMSpipelines-sort-args *
* Called by - User or macro *
* Dependencies - VM/SP 3 or higher. *
* - CMS Pipelines *
* - HEXSORT REXX stage *
* Program Lang. - CMS REXX *
* Date Written - 06/11/96 *
* Author - Michael R. Walter *
* Changed | By | Description of Change *
* --------+-----+------------------------------------------------- *
* 04/22/98 mrw - Try alternate-case target LOCATE. *
* 20000113 mrw - Correct curline=line.1 *
* 20001025 mrw - Correctly start at top of RANGE, not TOP *
* - Set 'end' to line BEFORE target. *
* 20101215 mrw - Update PIPE sort with latest XEDIT sort idiom. *
* *
********************************************************************/
"Jim Bohnsack" <[email protected]>
Sent by: "The IBM z/VM Operating System" <[email protected]>
12/16/2010 11:57 AM
Please respond to
"The IBM z/VM Operating System" <[email protected]>
To
[email protected]
cc
Subject
Re: I saw a pipe here, now I can't find it.
I've got a HEXSORT XEDIT and HELPXEDI that I thought came from the IBM
Download page but I can't find it there. Not sure where I got it. I
don't think it's a leftover from an IBM internal site. Here's the
comments at the beginning of it.
/* HEXSORT XEDIT:
Same as XEDIT SORT, but sorts hexadecimal data correctly.
LIMITATION: Unlike XEDIT SORT, there is a limit of 10 fields.
MODIFICATION HISTORY:
09/02/97 - Roger Deschner - Pad to LRECL when RECFM F
07/29/97 - Roger Deschner - Accommodate backwards targets
07/26/97 - Roger Deschner - Original version.
This technique is from PIPE AHELP SORT, by John Hartman, reprinted in
"Plunging Into Pipes" by Melinda Varian.
*/
Jim
On 12/16/2010 11:10 AM, Frank M. Ramaekers wrote:
> I simply do:
>
> PIPE | LITERAL D12B 127B B729 1111 | SPLIT | SPEC 1.4 X2C 2 1.4 3 | SORT
> | SPEC 3-* 1 | CONSOLE
> 1111
>
> 127B
>
> B729
>
> D12B
>
> Ready;
>
> =20
> Frank M. Ramaekers Jr.
--
James Bohnsack
(972) 596-6377 home/office
(972) 342-5823 cell
The information contained in this e-mail and any accompanying documents may
contain information that is confidential or otherwise protected from
disclosure. If you are not the intended recipient of this message, or if this
message has been addressed to you in error, please immediately alert the sender
by reply e-mail and then delete this message, including any attachments. Any
dissemination, distribution or other use of the contents of this message by
anyone other than the intended recipient is strictly prohibited. All messages
sent to and from this e-mail address may be monitored as permitted by
applicable law and regulations to ensure compliance with our internal policies
and to protect our business. E-mails are not secure and cannot be guaranteed to
be error free as they can be intercepted, amended, lost or destroyed, or
contain viruses. You are deemed to have accepted these risks if you communicate
with us by e-mail.