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" <jab...@cornell.edu> 

Sent by: "The IBM z/VM Operating System" <IBMVM@LISTSERV.UARK.EDU>
12/16/2010 11:57 AM
Please respond to
"The IBM z/VM Operating System" <IBMVM@LISTSERV.UARK.EDU>



To
IBMVM@LISTSERV.UARK.EDU
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. 


Reply via email to