*DECK C$SORT4 
          IDENT  C$SORT4
          TITLE  C$SORT4 - INTERFACE TO SORT/MERGE VERS 4 
          MACHINE  ANY,I
          COMMENT  INTERFACE TO SORT/MERGE VERS 4 
          SST 
          SPACE  4
**        CSORT4- INTERFACE TO SORT/MERGE VERSION 4 PACKAGE 
*         CALLED AS FOLLOWS 
* 
* 
*         -SORT- AND -MERGE-
*                A0 = SORT/MERGE FILE (SD) FIT ADDRESS
*                X0 = ADDRESS OF -KEY- MACRO EXPANSION(S) 
*                     (MERGE ONLY, -FILES- MACRO EXPANSION FOLLOWS -KEY-
*                     MACRO EXPANSION(S)) 
*                X1 = 0 IF NO -COLLATING SEQUENCE- OPTION IN SOURCE 
*                     STATEMENT 
*                   = BITS 29-0 - COLLATING SEQUENCE NUMBER 
*                     BITS 59-30 - COLLATING SEQUENCE ADDRESS IF USER-
*                                  DEFINED (COLLATING SEQUENCE NO. = 1) 
*                X2 = ACCUMULATED KEY LENGTHS  (SORT ONLY)
*                B3 = 0 IF USING
*                   = 1 IF -INPUT PROCEDURE-, SORT ONLY 
*                X3 = ADDRESS OF -USING- AREA OR -INPUT PROCEDURE- AREA,
*                     NOTE BELOW, SORT ONLY 
*                B4 = 0 IF -GIVING- 
*                   = 1 IF -OUTPUT PROCEDURE- 
*                X4 = ADDRESS OF -GIVING- AREA OR -OUTPUT PROCEDURE-
*                     AREA, NOTE BELOW
*                X5 = -SMCON7- (SORT) 
*                   = -SMCONM- (MERGE)
*                B7 = RETURN ADDRESS
*              + RJ  C.SORT/C.MERGE 
*              - PS  SOURCE LINE NUMBER 
*                -USING- AREA (SORT ONLY) OR -GIVING- AREA OR -INPUT
*                PROCEDURE- AREA (SORT ONLY), IN THAT ORDER OF
*                PRECEDENCE, NOTE BELOW.
*                -GIVING- AREA OR -INPUT PROCEDURE- AREA (SORT ONLY) OR 
*                -OUTPUT PROCEDURE- AREA, IN THAT ORDER OF PRECEDENCE,
*                NOTE BELOW 
*              + NORMAL RETURN
*                            -USING- AREA CONSISTS OF A TABLE WHICH CON-
*                            TAINS A 1 WORD ENTRY PER -USING- FILE AND
*                            ENDS WITH A ZERO WORD, WHICH IS FOLLOWED 
*                            (SORT ONLY) BY A PSEUDO -INPUT PROCEDURE-
*                            FOR EACH (SORT) -USING- FILE.  THE FORMAT
*                            OF EACH TABLE ENTRY IS - 
*                                 VFD    12/0,18/FITLOC,30/0  - MERGE 
*                                 VFD    12/0,18/FITLOC,12/0,18/PROCLOC 
*                            WHERE -FITLOC- IS THE ADDRESS OF THE FIT OF
*                            THE -USING- FILE, AND -PROCLOC- IS THE 
*                            ADDRESS OF THE PSEUDO -INPUT PROCEDURE-
*                            FOR THAT -USING- FILE.  THE FORMAT OF EACH 
*                            PSEUDO -INPUT PROCEDURE- IS -
*                                 PROCLOC BSS  1
*                                         OPEN FILE.
*                                 LBL1    READ FILE AT END GO TO LBL2.
*                                         RELEASE RECORD. 
*                                         GO TO LBL1. 
*                                 LBL2    CLOSE FILE. 
*                                         EQ   PROCLOC
*                            (NOTE - THERE IS NO MOVE OF THE INPUT
*                            RECORD TO THE SORT FILE RECORD AREA. 
*                            -CBSORT- ARRANGES THINGS SO THAT THE 
*                            -USING- FILE RECORD IS READ DIRECTLY INTO
*                            THE SORT FILE RECORD AREA.)
*                            -GIVING- AREA CONSISTS OF A WORD OF FORMAT 
*                                 VFD    12/0,18/FITLOC,12/0,18/PROCLOC 
*                            FOLLOWED BY A PSEUDO -OUTPUT PROCEDURE-
*                            FOR THE -GIVING- FILE.  -FITLOC- IS THE
*                            ADDRESS OF THE FIT OF THE -GIVING- FILE, 
*                            AND -PROCLOC- IS THE ADDRESS OF THE PSEUDO 
*                            -OUTPUT PROCEDURE-.  THE FORMAT OF THE 
*                            PSEUDO -OUTPUT PROCEDURE- IS - 
*                                 PROCLOC BSS  1
*                                         OPEN FILE.
*                                 LBL1    RETURN RECORD AT END GO TO
*                                          LBL2.
*                                         WRITE RECORD. 
*                                         GO TO LBL1. 
*                                 LBL2    CLOSE FILE. 
*                                         EQ   PROCLOC
*                            (NOTE - THERE IS NO MOVE OF THE SORT/MERGE 
*                            RECORD TO THE OUTPUT FILE AREA, EXCEPT 
*                            WHEN A -USING- FILE HAS Z-TYPE RECORDS.
*                            (IN THIS LATTER CASE, CBSORT PLACES THE
*                            BLANK-FILLED RECORD IN THE OUTPUT FILE 
*                            RECORD AREA.)  CBSORT ARRANGES THAT THE
*                            -GIVING- FILE RECORD IS WRITTEN DIRECTLY 
*                            FROM THE RECORD LOCATION SPECIFIED BY
*                            SORT/MERGE.) 
*                            -INPUT PROCEDURE- AREA IS OF FORMAT -
*                                 LBL1    BSS  1
*                                         -PERFORM- INPUT PROCEDURE.
*                                         EQ   LBL1 
*                            -OUTPUT PROCEDURE- AREA IS OF FORMAT - 
*                                 LBL1    BSS  1
*                                         -PERFORM- OUTPUT PROCEDURE. 
*                                         EQ   LBL1 
* 
* 
*         -RELEASE- 
*                A0 = SORT FILE (SD) FIT ADDRESS
*                X3 = RECORD LENGTH (IN CHARACTERS) 
*                RJ  C.RLSE 
*              - PS  SOURCE LINE NUMBER 
*              + NORMAL RETURN
* 
* 
*         -RETURN-
*                A0 = SORT/MERGE FILE (SD) FIT ADDRESS
*                RJ  C.RTRN 
*              - PS  SOURCE LINE NUMBER 
*              + NORMAL RETURN
*              + -AT END- RETURN
* 
* 
*         -ENTER C.SORTP USING PARAM-1 PARAM-2- 
*                (PARAM-1)=SPACE REQUIRED FOR SORT/MERGE, OR 0 IF SORT/ 
*                          MERGE IS TO USE DEFAULT - COMP-1 ITEM
*                (PARAM-2)=NON-ZERO IF -RETAIN- SEQUENCE OF (INPUT) 
*                          RECORDS WITH IDENTICAL SORT KEYS, ELSE 0 - 
*                          COMP-1 ITEM
* 
*         REGISTERS RETURNED -
*                -RETURN- PROCESSING FOR -GIVING- FILE ONLY,
*                  X3 = RECORD SIZE 
*                -RETURN- PROCESSING FOR -OUTPUT PROCEDURE- 
*                  A0 = SORT FILE FIT ADDRESS 
*                  RL FIELD OF SORT FILE FIT SET TO RETURNED RECORD 
*                   LENGTH (IN CHARACTERS)
* 
*         REGISTERS DESTROYED - ALL EXCEPT B1 
* 
*         ENTRY POINTS -
          ENTRY  C.MERGE
          ENTRY  C.SORT 
          EJECT 
*CALL,IOMICROS
          B1=1
 CS.NTV   EQU    3           -NATIVE- COLLATING SEQUENCE NUMBER 
* 
*  SORT/MERGE PARAMETER EXPANSIONS
 PAR.LST  VFD    60/10H  SMLIST 
          BSS    2
          VFD    60/10HENDSMLIST
 PAR.WT   VFD    60/10H SEQUENCE
 PAR.WT1  VFD    60/10HCOBOLWT
 PAR.WT2  BSS    64 
 PAR.WT3  VFD    60/10H END  SEQ
* 
 PAR.OPT  VFD    60/10H OPTIONS 
          DATA   0
 PAR.OPT1 DATA   1
          DATA   0,0,0,0,1
          VFD    60/10HENDOPTIONS 
* 
 PAR.OW   VFD    60/10H OWNCODE 
          BSS    1           MAXIMUM RECORD LENGTH
          VFD    12/0,18/=XC.SMEX3,30/3 
          VFD    12/0,18/=XC.SMEX4,30/4 
 PAR.OW1  BSS    3           -VFD 12/0,18/EXIT1,30/1- IF SORT, PLUS 
*                             -VFD 60/10HENDOWNCODE-, PLUS A WORD NOT TO
*                             BE CONSTRUED AS A PARAMETER 
          EJECT 
 C.MERGE  BSS    1
          SA2    C.MERGE     GET ENTRY
          MX7    0
          EQ     C.SRT1 
 C.SORT   BSS    1
          SX7    X2          SORT RL INCLUDING ALL KEYS 
          SA2    =XC.BINRY   BINARY LEVEL FLAG
          SX6    X2-4 
          SA2    C.SORT      GET RETURN ADDRESS 
          PL     X6,C.SRT1   JP IF VERSION 5.3 OR LATER 
          SX7    B1          IS PRIOR TO 5.3 - FAKE OUT CHECK FOR KEYS
 C.SRT1   SA7    =XC.SMRIK   0 IF MERGE, RL INCL ALL KEYS IF SORT 
*  SAVE ADDRESS CONTAINING SOURCE PROGRAM LINE NUMBER.  SOURCE LINE 
*  NUMBER ADDRESS IS IN LOWER HALF OF -RJ C.SORT/C.MERGE- WORD. 
          LX2    30 
          SX6    X2-1 
          SA6    =XC.LINEA   SAVE ADDRESS OF SOURCE LINE NUMBER 
          SA2    =XC.SMIE 
          ZR     X2,C.SRT1B  JUMP IF SORT/MERGE NOT ALREADY IN PROGRESS 
          SX1    #SRTM9      MESSAGE NUMBER 
          RJ     =XC.ABT     MESSAGE TO DAYFILE AND ABORT 
 C.SRT1B  SX6    B1+B1
          ZR     X7,C.SRT1C  JUMP IF MERGE
          SX6    B1 
 C.SRT1C  SA6    A2          1 (RELEASE) IF SORT, 2 (RETURN) IF MERGE 
          SX6    X5          -SMCON7- OR -SMCONM- 
          SA6    =XC.BUFF 
          SX6    A0          SORT/MERGE FILE FIT ADDRESS
          SA6    =XC.SMSDF
          FETCH  A0,RECA,X6,,2  SORT/MERGE FILE RECORD AREA ADDRESS 
          SA6    =XC.SMRAA
          FETCH  A0,MRL,X6,,2  MAXIMUM RECORD LENGTH
          SA6    PAR.OW+1    INTO OWNCODE PARAMETER EXPANSION 
          SB6    PAR.OW1
          SA5    =10HENDOWNCODE 
          ZR     X7,C.SRT2   JUMP IF MERGE
          SX7    =XC.SMEX1
          LX7    30 
          SX6    B1          FOR SORT, INSERT AN -EXIT1- INTO OWNCODE 
          IX6    X6+X7        PARAMETER EXPANSION 
          SA6    B6 
          SB6    B6+B1
 C.SRT2   BX6    X5 
          SA6    B6          -ENDOWNCODE- INTO PARAMETER EXPANSION
          SA7    A6+B1       ADD A GARBAGE WORD THAT CANNOT BE MISTAKEN 
*                             FOR A PARAMETER WORD BY SORT/MERGE
*  SET SOME PARAMETERS REQUIRED FOR OWNCODE EXIT PROCESSING 
          SX6    X3          INPUT PROCEDURE OR -USING- TABLE ADDRESS 
          EQ     B3,B0,C.SRT2B  JUMP IF -USING- 
          MX6    0
          SB3    X3 
 C.SRT2B  SA6    =XC.SMUTA   TABLE ADDRESS IF -USING-, 0 IF -INPUT PROC-
          SA6    =XC.SMRTZ   SET FLAG (MAY BE TEMPORARY - NOTE EXIT3E1) 
          SX6    B3 
          SA6    =XC.SMIPA   0 IF -USING-, ELSE INPUT PROCEDURE ADDRESS 
          SX6    X4          OUTPUT PROCEDURE OR -GIVING- TABLE ADDRESS 
          NE     B4,B0,C.SRT2D  JUMP IF OUTPUT PROCEDURE
          SA6    =XC.SMGTA   SAVE -GIVING- TABLE ADDRESS
          MX6    0
 C.SRT2D  SA6    =XC.SMOPA   SAVE OUTPUT PROCEDURE ADDRESS
*  INSERT PROGRAM RETURN ADDRESS INTO JUMP INSTRUCTION EXECUTED UPON
*  -CBSORT- FINAL EXIT
          SX6    B7 
          SA5    C.SRT18
          BX5    X2*X5
          IX6    X5+X6
          SA6    A5 
*  IF A NON-DEFAULT COLLATING SEQUENCE HAS BEEN SPECIFIED, ENTER THE
*  NECESSARY COLLATING SEQUENCE INFORMATION INTO THE SORT/MERGE INPUT 
*  PARAMETER EXPANSIONS.  THIS INVOLVES INCLUDING A -SEQUENCE- PARA-
*  METER, AND PUTTING THE NAME OF THE COLLATING SEQUENCE INTO EACH -KEY-
*  PARAMETER EXPANSION.  THE COLLATING SEQUENCE IN FORCE IS PRIORITIZED 
*  FROM HIGHEST TO LOWEST BY - -SET SORT/MERGE COLLATING SEQUENCE-, 
*  -SORT/MERGE...COLLATING SEQUENCE IS-, PROGRAM COLLATING SEQUENCE.
          SX6    X0          ADDRESS OF SORT/MERGE -KEY- PARAMETERS INTO
          SA6    PAR.LST+1    SORT/MERGE -SMLIST- PARAMETER EXPANSION 
          SA5    =XC.SRTCS   SORT COLLATING SEQUENCE -WEIGHT- TABLE 
*                             POINTER IF A -SET-
          NZ     X7,C.SRT5   JUMP IF A SORT RUN 
          SA5    =XC.MRGCS   MERGE COLLATING SEQUENCE -WEIGHT- TABLE
 C.SRT5   BSS    0            POINTER IF A -SET-
          SX7    PAR.OPT     ADDRESS OF NON-KEY/FILES SORT/MERGE PARA-
          SA7    PAR.LST+2    METERS IF DEFAULT COLLATING SEQUENCE
          NZ     X5,C.SRT6   JUMP IF COLLATING SEQUENCE DUE TO -SET-
          SA3    =XC.PCSSV
          LX1    30          MAKE LIKE OTHER POINTERS 
          BX5    X1 
          NZ     X1,C.SRT6   JP IF COLL SEQ PASSED TO S.M 
          ZR     X3,C.SRT10  JP IF NO SET PROG COLL SEQ DONE
          BX5    X3 
 C.SRT6   BSS    0
          LX5    30 
          BX1    X5 
*     THE -NATIVE- COLLATING SEQUENCE IS THE DEFAULT COLLATING SEQUENCE 
*     (ALTHOUGH THEY DO NOT HAVE THE SAME IDENTIFYING NUMBER).
          SX0    X1-CS.NTV
          ZR     X0,C.SRT10  JUMP IF -NATIVE- COLLATING SEQUENCE
          SX0    X1-DEF.CS
          ZR     X0,C.SRT10  JUMP IF DEFAULT COLLATING SEQUENCE 
          LX1    30 
          SB7    X1          POSSIBLE ADDRESS OF COLLATING SEQUENCE IF
          SX5    B7-PAR.WT2   USER-DEFINED
          IX1    X1-X5       CONVERT COLLATING SEQUENCE SPECIFIED IN X1 
          RJ     =XC.CVCS     UPPER (AND MAYBE B7) TO A -WEIGHT- TABLE
          SX5    PAR.WT2      AT -PAR.WT2- (X1 LOWER) 
 C.SRT6A  MX0    2           SET "0 - NON-DEFAULT COLLATING SEQUENCE
          SX7    1           TRANSFER (64 WORD) COLLATING SEQUENCE
          LX0    60-1        -WEIGHT- TABLE TO SORT/MERGE -SEQUENCE-
          LX7    57          PARAMETER EXPANSION. 
          SA5    X5-1 
          SB6    PAR.WT2     AS A FLAG, SET BIT 57 OF 
          SB7    PAR.WT3      EACH ENTRY AND BIT 58 OF THE LAST ENTRY - 
 C.SRT7   SA5    A5+B1        SORT/MERGE RECOGNIZES THIS AS A -WEIGHT-
          LX5    48D
          AX5    48D
          BX6    X7+X5        TABLE RATHER THAN AS A COLLATING SEQUENCE 
          SA6    B6 
          SB6    B6+B1
          NE     B6,B7,C.SRT7 
          BX6    X0+X6
          SA6    A6 
          SA5    PAR.LST+1   ADDRESS OF SORT/MERGE -KEY- PARAMETER(S) 
          SA1    =10H   KEY 
          SA2    PAR.WT1     COLLATING SEQUENCE NAME
          BX6    X2 
 C.SRT8   SA2    X5          INSERT COLLATING SEQUENCE NAME INTO -KEY-
          IX2    X2-X1        PARAMETER(S) (WHEN NOT DEFAULT SEQUENCE)
          NZ     X2,C.SRT9   JUMP IF NO MORE -KEY- PARAMETERS 
          SA6    X5+6 
          SX5    X5+10
          EQ     C.SRT8 
 C.SRT9   SX7    PAR.WT      ADDRESS OF NON-KEY/FILES SORT/MERGE PARA-
          SA7    PAR.LST+2    METERS IF NOT DEFAULT COLLATING SEQUENCE
 C.SRT10  BSS    0
*  A WORD ABOUT CORE ALLOCATION - 
*    IN THE OLD (PRE-CMM) SCHEME OF THINGS, AN AREA OF CORE WAS ALLO- 
*    CATED TO CONTAIN ALL FILE BUFFERS, THEN AN AREA OF CORE WAS ALLO-
*    CATED FOR THE SORT/MERGE ITSELF, THEN THE ALLOCATION FOR FILE
*    BUFFERS WAS RELEASED, ALL VIA -GETSP- AND -RELSP- (CRM MACROS).
*    THIS ENSURED THAT WHEN THE INPUT TO, AND OUTPUT FROM, SORT/MERGE 
*    FILES WERE OPENED, THEIR BUFFER SPACE WOULD BE ALLOCATED IN THE GAP
*    CREATED BY THE PREVIOUS RELEASE OF THE SPACE, AND WHEN THE SORT/ 
*    MERGE WAS COMPLETE, AND THE SORT/MERGE SPACE RELEASED, THAT THE
*    MEMORY LAYOUT WOULD NOT BE FRAGMENTED. 
*    WITH THE ADVENT OF CMM, SORT/MERGE ALLOCATES ITS OWN SPACE (VIA
*    CMM); AND WHEN A FILE IS OPENED, ITS BUFFER SPACE WOULD MOST LIKELY
*    BE ALLOCATED (VIA CRM/CMM) AT THE CMM "ROVING POINTER", NAMELY AT
*    THE END OF THE SPACE ALLOCATED BY SORT/MERGE FOR ITSELF.  THUS IF
*    THE USER DOES NOT CLOSE ALL OF HIS/HER INPUT PROCEDURE AND OUTPUT
*    PROCEDURE FILES, THE MEMORY LAYOUT FOLLOWING THE SORT/MERGE MAY BE 
*    FRAGMENTED.
* 
* 
* 
*  PERFORM OTHER PRE-SORT/MERGE ADMINISTRATIVE DETAILS
          SA2    =XC.SMRSF   GET RETAIN SEQUENCE FLAG 
          BX7    X2 
          SA7    PAR.OPT1    SET IN CALLING SEQUENCE
          MX6    1           FLAG AS SORT4
          RJ     =XC.SMINI   INITIALIZE COMMON ROUTINES 
          MX6    1           FLAG AS OLD BINARY 
          SX1    #SRTM11     -START COBOL SORT- MESSAGE NUMBER
          SA4    C.SMRIK
          NZ     X4,C.SRT14  JUMP IF A SORT RUN 
          SX1    #SRTM10     -START COBOL MERGE- MESSAGE NUMBER 
 C.SRT14  MX2    0           NO MESSAGE INSERT
          SA3    =XC.LINEA   ADDRESS CONTAINING SOURCE LINE NUMBER
          MX6    0           NO ABORT 
          SA4    =XC.SRTMS   WANT MSGS
          ZR     X4,C.SRT14A NO- JUMP 
          RJ     =XC.MSG     MESSAGE TO DAYFILE 
 C.SRT14A BSS    0
*  SET UP TO JUMP TO -SMCON7- OR -SMCONM- 
          SA4    PAR.OW1     TEST FOR -EXIT1- (SORT) OR -EXIT3- (MERGE) 
          SB2    X4          SET B2 IN CASE -SORTL- CALL - B2=1 IF SORT 
          EQ     B2,B1,C.SRT15  JUMP IF A SORT RUN
          SB2    4           B2=4 - MERGE RUN 
 C.SRT15  SA4    =XC.BUFF    -SMCON7- OR -SMCONM- 
          SA5    C.SRTRJ     FILL IN THE -RJ- INSTRUCTION WITH ONE OF 
          MX7    42           THE ABOVE THREE ENTRIES 
          BX7    X7*X5
          IX7    X4+X7
          SA7    A5 
          SX1    =XC.SMSZE   AMOUNT OF SPACE TO USE 
          RJ     =XS.SRTSZ    TO ALLOCATE 
 C.SRTRJ  NO                 PERFORM SORT/MERGE 
          NO
          RJ     777777B     JUMP ADDRESS FILLED IN AT -C.SRT15-
          VFD    60/10H END SORT
          VFD    60/10H POINTER 
          VFD    42/0,18/PAR.LST
* 
* 
*****  CAUTION - DO NOT ADD ANY INSTRUCTIONS HERE.  THE SORT/MERGE
*                PACKAGE RETURNS CONTROL TO THE 1ST WORD CONTAINING AN
*                UNRECOGNIZABLE PARAMETER.
***** 
* 
* 
*  SORT/MERGE RETURNS HERE UPON COMPLETION OF THE SORT OR MERGE 
* 
 SRTRET   BSS    0
          MX6    0           RESET SORT/MERGE SIZE PARAMETER WORD (TO 
          SA6    =XC.SMIE    CLEAR -SORT/MERGE IN EXECUTION- FLAG 
          SA5    =XC.SRTMS   SEE IF MSGS WANTED 
          ZR     X5,C.SRT18  NO - SKIP THEM 
          SX7    B1 
          SA7    =XC.HLDMS   KEEP MSG CAPSULE IN CORE FOR OUR MSGS
          SA5    C.SMRIK
          ZR     X5,C.SRT16A  JUMP IF A MERGE RUN 
          SA1    =XC.SMRRL   NUMBER OF RECORDS -RELEASE-D 
          RJ     =XC.MSCV    CONVERT NUMBER TO DECIMAL DISPLAY AND
          SA7    =XC.MSINS    DAYFILE MESSAGE INSERT FORMAT 
          MX7    0
          SA7    A7+B1       ENSURE MESSAGE TERMINATOR
          SX2    B1          MESSAGE HAS INSERT 
          MX3    1           SUPPRESS -SOURCE LINE    - MESSAGE 
          MX6    0           NO JOB ABORT 
          SX1    #SRTM5      -   RECORDS RELEASED- MESSAGE
          RJ     =XC.MSG     MESSAGE TO DAYFILE 
 C.SRT16A SA1    =XC.SMRRT   NUMBER OF RECORDS -RETURN-ED 
          RJ     =XC.MSCV    CONVERT NUMBER TO DECIMAL DISPLAY AND
          SA7    =XC.MSINS    DAYFILE MESSAGE INSERT FORMAT 
          MX7    0
          SA7    A7+B1       ENSURE MESSAGE TERMINATOR
          SX2    B1          MESSAGE HAS INSERT 
          MX3    1           SUPPRESS -SOURCE LINE    - MESSAGE 
          MX6    0           NO JOB ABORT 
          SX1    #SRTM6      -   RECORDS RETURNED- MESSAGE
          RJ     =XC.MSG     MESSAGE TO DAYFILE 
          SX1    #SRTM2      -END COBOL SORT- MESSAGE NUMBER
          SA5    C.SMRIK
          NZ     X5,C.SRT17  JUMP IF A SORT RUN 
          SX1    #SRTM1      -END COBOL MERGE- MESSAGE NUMBER 
 C.SRT17  MX2    0           NO MESSAGE INSERT
          MX3    1           NO -SOURCE LINE    - MESSAGE 
          MX6    0           NO JOB ABORT 
          SX7    B0 
          SA7    =XC.HLDMS
          RJ     =XC.MSG     MESSAGE TO DAYFILE 
 C.SRT18  NO
          NO
          EQ     777777B     EXIT -CBSORT- (ADDRESS SET AT -C.SRT2C-) 
          END 
