z/OS DFSORT Application Programming Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


E61 user exit: altering control fields

z/OS DFSORT Application Programming Guide
SC23-6878-00

This routine can be used to change the order of binary control fields passed to it (that is, those for which 'E' is specified) from ascending order to descending order.

Figure 1. E61 User Exit Example
* E61 PARAMETER LIST DSECT
PARML    DSECT
         DS    3C
PARMNUM  DS    C   CONTROL FIELD NUMBER
PARMPTR  DS    A   ADDRESS OF CONTROL FIELD
         DS    2C
PARMLEN  DS    H   CONTROL FIELD LENGTH
*
E61REV   CSECT
* CHANGE THE ORDER OF EACH  CONTROL FIELD PASSED TO THIS ROUTINE
* FROM ASCENDING TO DESCENDING BY REVERSING ALL OF THE BITS.
* ASSUMES THAT ONLY BI CONTROL FIELDS ARE PASSED.
         USING E61REV,12          SHOW BASE REG
         STM   14,12,12(13)       SAVE ALL REGS EXCEPT R13
         LA    12,0(0,15)         SET BASE REG
         ST    13,SAVE61+4        SAVE BACKWARD POINTER
         LA    14,SAVE61          SET FORWARD POINTER
         ST    14,8(13)           IN SAVE AREA
         LR    13,14              SET OUR SAVE AREA
         LR    3,1                SET PARM LIST POINTER
         USING PARML,3
         L     4,PARMPTR         GET POINTER TO CONTROL FIELD IMAGE
         LH    5,PARMLEN         GET LENGTH OF CONTROL FIELD
         BCTR  5,0               SUBTRACT 1 FOR EXECUTE
         EX    5,REVCF           CHANGE FROM ASCENDING TO DESCENDING
GOBACK   L     13,4(,13)
         LM    14,12,12(13)       RESTORE REGS
         BR    14                 RETURN
REVCF    XC    0(*-*,4),REVFF    REVERSE CONTROL FIELD BITS
SAVE61   DS    18F
REVFF    DC    256X'FF'
         LTORG
         END

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014