*********************************************************************** 00020000
*                                                                     * 00040000
* NAME               *   *   *****   ***   *   *                      * 00060000
*                    ** **   *   *    *    **  *                      * 00080000
*                    * * *   *****    *    * * *                      * 00100000
*                    *   *   *   *    *    *  **                      * 00120000
*                    *   *   *   *   ***   *   *                      * 00140000
*                                                                     * 00160000
*********************************************************************** 00180000
*                                                                     * 00200000
* FUNCTION/OPERATION                                                  * 00220000
*                                                                     * 00240000
*      THIS IS THE MAIN PROCESSOR MODULE FOR THE DATA SET UTILITY     * 00260000
*   IEBCOMPR.  ITS MAIN FUNCTIONS ARE AS FOLLOWS:                     * 00280000
*                                                                     * 00300000
*      1.  SETS ITS ADDRESSABILITY WITH TWO BASE REGISTERS            * 00320000
*      2.  FINALIZES THE SYSUT1 AND SYSUT2 DCB'S FROM INFORMATION     * 00340000
*            PROVIDED BY THE PREVIOUS ROUTINES                        * 00360000
*      3.  OPENS THE TWO DATA SETS TO BE COMPARED- SYSUT1 AND SYSUT2  * 00380000
*      4.  IF SEQUENTIAL DATA SETS ARE BEING COMPARED, THIS MODULE    * 00400000
*            READS THE RECORDS AND MAKES THE COMPARISONS AT THE       * 00420000
*            LOGICAL RECORD LEVEL. IF DATA SETS ARE OF VS RECFM AND   * 00425017
*            WITH KEYS OR OF VS RECFM AND WITH RECORDS GREATER THAN   * 00430017
*            32756 BYTES LONG, THEN IT WILL MAKE COMPARISONS AT       * 00435017
*       PHYSICAL BLOCK LEVEL.                                         * 00440017
*            USER INPUT HEADER/TRAILER LABELS WILL BE COMPARED AS     * 00445017
*            DATA IF REQUESTED BY USER                                * 00450017
*      5.  IF PARTITIONED DATA SETS ARE BEING COMPARED, THE MODULE    * 00460000
*            READS THE PDS DIRECTORY AND SETS UP APPROPRIATE SWITCHES * 00480000
*            AND TABLES TO ALLOW IT TO OBTAIN THE DATA IN EACH MEMBER * 00500000
*            AFTER THE DIRECTORY COMPARISON HAS TAKEN PLACE.  AFTER   * 00520000
*            THE DIRECTORIES ARE COMPARED, THE MEMBERS OF THE DATA    * 00540000
*            SETS ARE COMPARED AT THE LOGICAL RECORD LEVEL.           * 00560000
*      6.  UPON FINDING ANY MISCOMPARES THIS MODULE SETS UP THE       * 00580000
*            APPROPRIATE MESSAGES AND CONVERTS THE NON-COMPARING      * 00600000
*            INFORMATION INTO PRINTABLE HEX                           * 00620000
*      7.  IS RESPONSIBLE FOR BRANCHING TO THE APPROPRIATE PRINT      * 00640000
*            ROUTINE                                                  * 00660000
*      8.  TERMINATING EXECUTION AFTER TEN CONSECUTIVE ERRORS IN A    * 00680000
*            SEQUENTIAL DATA SET, OR IF COMPARING A PDS, IT MUST      * 00700000
*            TERMINATE COMPARING OF A MEMBER AFTER TEN CONSECUTIVE    * 00720000
*            ERRORS IN THAT MEMBER                                    * 00740000
*      9.  LINKING TO THE USER PROVIDED EXIT ROUTINES                 * 00760000
*     10.  DETERMINING IF AND WHEN TO ABORT THE JOB                   * 00780000
*     11.  CLOSING THE SYSPRINT, SYSUT1, AND SYSUT2 DATA SETS UPON    * 00800000
*            EXIT                                                     * 00820000
*     12.  SETTING THE FINAL CONDITION CODE                           * 00840000
*     13.  RETURNING TO THE CALLING PROGRAM                           * 00860000
*                                                                     * 00880000
*********************************************************************** 00900000
         EJECT                                                          00920000
*********************************************************************** 00940000
*                                                                     * 00960000
* ENTRY POINTS                                                        * 00980000
*                                                                     * 01000000
*   1. 'MAIN'    THIS IS THE ENTRY POINT TO THE MAIN PROCESSOR FROM   * 01002017
*                ROOT SEGMENT.                                        * 01004017
*   2. 'COMPAR'  THIS IS THE ENTRY POINT TO THE SUBROUTINE WHICH      * 01006017
*                COMPARES RECORDS FROM INPUT DATA SETS                * 01008017
*   3. 'BEFNREND' THIS IS THE ENTRY POINT TO THE SUBROUTINE WHICH     * 01010017
*                INITIALIZE THE PROPER SWITCHES FOR USER INPUT TRAILER* 01012017
*                LABEL COMPARISON.                                    * 01014017
*   4. 'NORMEND' THIS IS THE ENTRY POINT TO THE SUBROUTINE WHICH      * 01016017
*                CLOSES THE DCBS, FREE GOTTEN STORAGE AND DELETE      * 01018017
*                USER EXIT ROUTINES WERE BROUGHT IN BY IEBCOMPR.      * 01020017
*   5. 'BLPRT'   THIS IS THE ENTRY POINT TO THE SUBROUTINE WHICH      * 01022017
*                CONVERTS THE NON-COMPARING INFORMATION TO PRINTABLE  * 01024017
*                HEX                                                  * 01026017
*                                                                     * 01040000
*********************************************************************** 01060000
*                                                                     * 01080000
* INPUT                                                               * 01100000
*                                                                     * 01120000
*      INPUT TO THIS MODULE IS TWOFOLD.  FIRST, IT MAKES USE OF THE   * 01140000
*    SWITCHES AND PARAMETER LISTS WHICH WERE SET UP BY THE ROOT       * 01160000
*    SEGMENT, COMPARE, AND BY ANALY, THE FIRT OVERLAY SEGMENT.  THIS  * 01180000
*    INFORMATION IS PASSED TO MAIN THROUGH THE COMMUNICATION REGION   * 01200000
*    IN THE ROOT SEGMENT.  THE OTHER SOURCE OF INPUT IS DATA ITSELF.  * 01220000
*    THIS DATA MAY RESIDE ON ANY STORAGE DEVICE AND MAY BE SEQUENTIAL,* 01240000
*    OR PARTITIONED.  OF COUSE ANY PARTITIONED DATA SET MAY ONLY      * 01260000
*    RESIDE ON A DIRECT ACCESS DEVICE.                                * 01280000
*                                                                     * 01300000
*********************************************************************** 01320000
*                                                                     * 01340000
* OUTPUT                                                              * 01360000
*                                                                     * 01380000
*      THE OUTPUT FROM THIS MODULE IS DIAGNOSTIC AND INFORMATIONAL    * 01400000
*    MESSAGES, AS WELL AS RECORDS WHICH MISCOMPARED DURING EXECUTION  * 01420000
*    OF THE PROGRAM.  IF THERE WERE EXTRA RECORDS ON EITHER DATA SET, * 01440000
*    OR,IF IN A PARTITIONED DATA SET, THE USER DATA WAS UNEQUAL THE   * 01460000
*    UNEQUAL RECORDS WILL ALSO BE PRINTED.                            * 01480000
*                                                                     * 01500000
*********************************************************************** 01520000
*                                                                     * 01540000
* EXTERNAL ROUTINES                                                   * 01560000
*                                                                     * 01580000
*     MAIN USES THE ROOT SEGMENT'S PRINT ROUTINES, ZZPR AND JPRINTRT, * 01600000
*   AS CLOSED SUBROUTINES.  LINKAGE TO THESE ROUTINES IS MADE BY      * 01620000
*   BRANCH AND LINK INSTRUCTIONS. MAIN ALSO USES IEBQSAM AS A CLOSED  * 01630017
*   SUBROUTINE TO RETRIEVE RECORDS OF VS TYPE. MAIN ALSO USES IEBCULET* 01640017
*   VIA DCBEXLST TO SAVE USER INPUT HEADER/TRAILER LABELS AND TO GIVE * 01650017
*   CONTROL TO USER INHDR/INTLR EXITS. IF USER HAS SPECIFIED AN 'EXIT * 01660017
*   ROUTINE, THE LINKAGE TO THIS ROUTINE IS MADE BY AN O/S 360 LINK   * 01670017
*   INSTRUCTION.                                                      * 01680017
*                                                                     * 01720000
*********************************************************************** 01740000
*                                                                     * 01760000
* EXITS                                                               * 01780000
*                                                                     * 01800000
*     THE ONLY EXIT MADE FROM MAIN IS A RETURN BACK TO THE CALLING    * 01820000
*   PROGRAM WHEN PROCESSING IS FINISHED.                              * 01840000
*                                                                     * 01860000
*********************************************************************** 01880000
         EJECT                                                          01900000
*********************************************************************** 01920000
*                                                                     * 01940000
* TABLES/WORK AREAS                                                   * 01960000
*                                                                     * 01980000
*     THERE IS ONE TABLE IN MAIN.  THIS IS A TRANSLATE TABLE USED     * 02000000
*   WHEN HEX DIGITS ARE BEING TRANSLATED TO PRINTABLE CHARACTERS.     * 02020000
*   THE SYMBOLIC NAME FOR THE START OF THE TABLE IS FCLIST.           * 02040000
*                                                                     * 02060000
*********************************************************************** 02080000
*                                                                     * 02100000
* ATTRIBUTES                                                          * 02120000
*                                                                     * 02140000
*     NON-REENTRANT AND NON-REUSEABLE                                 * 02160000
*                                                                     * 02180000
*********************************************************************** 02200000
         EJECT                                                          02220000
COMMX    DSECT                                                          02240000
         USING COMMX,10                                                 02260000
SAVE1315 DS    3F                  SAVE AREA FOR REGS 13,14, AND 15     02280000
SAVEREGS DS    18F                 MY REGISTER SAVE AREA                02300000
PARALIST DS    8F                  THE EXITS PARAMETER LIST-USER ROUTS  02320000
*                                    1. INHDR PARAMETER NAME            02340000
*                                    2. INTLR PARAMETER NAME            02360000
*                                    3. ERROR PARAMETER NAME            02380000
*                                    4. PRECOMP PARAMETER NAME          02400000
DDSYSIN  DS    2F                  SYSIN PARAMETER                      02420000
DDSUBNAM DS    4F                  DDNAME PARAMETER LIST                02440000
*                                    1. SYSUT1 DDNAME                   02460000
*                                    2. SYSUT2 DDNAME                   02480000
HICONCOD DS    2X                  RETURN CODE STORAGE AREA             02500000
CCADSORG DS    1X                  SET TO '01' IF PARTITIONED DATA SET  02520000
ABORTSW  DS    1X                  ABORT SWITCH - SET TO '01' IF ON     02540000
LABEL    DS    1X             SET TO X'00' IF DATA=YES             UL0H 02540517
*                                    X'01' IF DATA=NO              UL0H 02541017
*                                    X'10' IF DATA=ONLY            UL0H 02541517
*                                    X'20' IF DATA=ALL             UL0H 02542017
UEXIT    DS    1X             SET TO 01 IF OPEN TOOK USER LAB EXIT UL0H 02542517
UHRADR   DS    1F             CONTAIN ADDR. OF INHDR               UL0H 02543017
UTRADR   DS    1F             CONTAIN ADDR. OF INTLR               UL0H 02543517
INHD1    DS    1F             HAS ADDR. OF SYSUT1 HD LAB SAVE AREA UL0H 02544017
INHD2    DS    1F             HAS ADDR. OF SYSUT2 HD LAB SAVE AREA UL0H 02544517
INHDCT1  DS    1F             CONT. NO. OF HEADER LABELS FOR SYSUT1UL0H 02545017
INHDCT2  DS    1F             CONT. NO. OF HEADER LABELS FOR SYSUT2UL0H 02545517
INTL1    DS    1F             HAS ADDR. OF SYSUT1 TL LAB SAVE AREA UL0H 02546017
INTL2    DS    1F             HAS ADDR. OF SYSUT2 TL LAB SAVE AREA UL0H 02546517
INTLCT1  DS    1F             CONT. NO. OF TRAILER LABEL FOR SYSUT1UL0H 02547017
INTLCT2  DS    1F             CONT. NO. OF TRAILER LABEL FOR SYSUT2UL0H 02547517
BUFF1    DS    1F             CONTAIN ADDR. OF READ AREA-DS1       VS0H 02548017
BUFF2    DS    1F             CONTAIN ADDR. OF READ AREA-DS2       VS0H 02548517
LBUFF1   DS    1F             LENGTH OF BUFFER FOR SYSUT1 RCD PROC VS0H 02549017
LBUFF2   DS    1F             LENGTH OF BUFFER FOR SYSUT2 RCD PROC VS0H 02549517
LORECO   DS    1F             TOTAL LOGICAL RECORD COUNTER         VS0H 02550017
RECLTH   DS    1H             LOGICAL RECORD LENGTH-DS1            VS0H 02550517
RECLH2   DS    1H             LOGICAL RECORD LENGTH-DS2            VS0H 02551017
DSET1    DS    1F            ADDRS. OF SYSUT1 DCB IN IEBCQSAM      VS0H 02551517
DSET2    DS    1F            ADDRS. OF SYSUT2 DCB IN IEBCQSAM      VS0H 02552017
INPUTLOC DS    1F            ADDR. OF INPUT BUFFER FOR BLPRT RT    VS0H 02552517
NOEXTSW  DS    1X             NO EXIT TO USER LAB RTN IF SET TO 01 UL0H 02553017
TERMSW   DS    1X             TERM. AFTER LAB. PROC. IF SET TO 01  UL0H 02553517
EXIT1SW  DS    1X             SET TO 01 IF THERE IS AN USER INHDR  UL0H 02554017
EXIT3SW  DS    1X             SET TO 01 IF THERE IS AN USER INTLR  UL0H 02554517
VSSWT    DS    1X             SET TO 01 IF BSAM USED TO PROC VS RCDVS0H 02555017
*                             SET TO 02 IF QSAM USED TO PROC VS RCDVS0H 02555517
NOLB     DS    1X             SET TO 01 IF NO USER LABEL ON SYSUT1 UL0H 02556017
*                             SET TO 02 IF NO USER LABEL ON SYSUT2 UL0H 02556517
LABSW    DS    1X             SET TO 01; SYSUT1 HEADER LABEL PROC  UL0H 02557017
*                             SET TO 02; SYSUT2 HEADER LABEL PROC  UL0H 02557517
*                             SET TO 04; SYSUT2 TRAILER LABEL PROC UL0H 02558017
*                             SET TO 08; SYSUT2 TRAILER LABEL PROC UL0H 02558517
PRINTOUT DS    0F                  SYSPRINT DCB                         02560000
         SPACE 3                                                        02580000
*********************************************************************** 02600000
*                   THIS IS THE MAIN PROCESSING MODULE                * 02620000
*********************************************************************** 02640000
MAIN     CSECT                                                          02660000
* 038600-039200,053600-054200,103200,111400-111600,114800,       A26556 02662019
* 122200-131400,144000-144400,145000-147200,151400,154400-154800,A26556 02664019
* 156600-156800,157400,230200,231800                             A26556 02666019
* 164000,165800,172600,176600,181000-181200,190600-190800,200800 A27718 02668019
* 114800,114900,146600,146700                                    A37861 02668121
*                                                                A38747 02668221
*A037300,037320,043500,043520,047500,047200,085900,085920,       A41765 02668721
*A087500,087520,172360-172360-172399,172532-17266721,176360-     A41765 02668821
*A176399,176532-176667,2835402,047450,283900                     A41765 02668921
*D172200,172400,176200,176400                                    A41765 02670021
*A089105-089107                                                  A44317 02672621
*C089180,089560,158600,261400                                    A44317 02673021
*D158400                                                         A44317 02673121
*C060300-061100                                                  A48817 02673521
*A082300-082380                                                  A48817 02675221
*A203204                                                         A50947 02677221
*C089660,089668,089676,089696-089704                            OY01190 02677316
*C200680,200740                                                 OY01191 02677416
*3015                                                              9314 02677522
*2926091600,094400,250600,256000                                   SA0I 02679222
*C200680,200740                                                @YA02529 02680002
*A 169500,173700                                               @YM04833 02680402
*C 297563-297581                                               @YM04833 02680802
*D240600-240800,247800-248000,261800-262800                    @YA01671 02681002
*A232560-232568                                                @ZA10944 02681100
         ENTRY STARTP                                              VS0H 02681202
         ENTRY COMPAR                                              VS0H 02682622
         ENTRY BEFNREND                                            VS0H 02684322
         ENTRY NORMEND                                             VS0H 02686022
         ENTRY BLPRT                                               VS0H 02687722
R0       EQU   0                                                   UV0H 02689422
R1       EQU   1                                                   UV0H 02691122
R2       EQU   2                                                   UV0H 02692822
R3       EQU   3                                                   UV0H 02694522
R4       EQU   4                                                   UV0H 02696222
R5       EQU   5                                                   UV0H 02697922
R6       EQU   6                                                   UV0H 02699622
R7       EQU   7                                                   UV0H 02701322
R8       EQU   8                                                   UV0H 02703022
R9       EQU   9                                                   UV0H 02704722
R10      EQU   10                                                  UV0H 02706422
R11      EQU   11                                                  UV0H 02708122
R12      EQU   12                                                  UV0H 02709822
R13      EQU   13                                                  UV0H 02711522
R14      EQU   14                                                  UV0H 02713222
R15      EQU   15                                                  UV0H 02714922
         EXTRN DDERROR1            ALLOWS STORING OF DDNAME IN MESSAGE  02716622
         BALR  11,0                SET ADDRESSABILITY                   02718322
         USING STARTP,11,12                                             02720000
STARTP   L     12,ADCON1           SET ADDRESSABILITY FOR 8192 BYTES    02740000
         TM    ABORTSW,X'01'       IS ABORT SWITCH ON                   02760000
         BO    ABNOTER1              YES BRANCH                   48817 02780022
         LA    7,DASET1           LOAD DCB ADRESS                       02800000
         LA    8,DASET2           LOAD DCB ADRESS                       02820000
         CLI   DDSUBNAM,X'00'      IS THERE A DIFFERENT DDNAME FOR      02840000
*                                    SYSUT1                             02860000
         BE    TESTSUB2              NO BRANCH                          02880000
         MVC   DDNAMDCB(8,7),DDSUBNAM   MOVE DDNAME INTO DCB FOR SYSUT1 02900000
TESTSUB2 CLI   DDSUBNAM+8,X'00'    IS THERE A DIFFERENT DDNAME FOR      02920000
*                                    SYSUT2                             02940000
         BE    BEGIN1                NO BRANCH                          02960000
         MVC   DDNAMDCB(8,8),DDSUBNAM+8 MOVE DDNAME INTO DCB FOR SYSUT2 02980000
BEGIN1   MVC   NAMEDD1(8),DDNAMDCB(7)       MOVE DDNAME INTO AREA       03000000
         MVC   NAMEDD2(8),DDNAMDCB(8)       MOVE DDNAME INTO AREA       03020000
         MVC   PARATABL(32),PARALIST    MOVE EXITS PARAMETER LIST       03040000
*                                    (THESE ARE THE USER ROUTINES)      03060000
         EJECT                                                          03080000
*********************************************************************** 03100000
*        THIS SECTION SETS THE APPROPRIATE SWITCHES TO INDICATE       * 03120000
*        WHICH USER ROUTINES ARE PRESENT.                             * 03140000
*********************************************************************** 03160000
         CLI   PARALIST,X'40'      IS THERE AN INHDR ROUTINE            03180000
         BE    EX3TEST               NO BRANCH                          03200000
         MVI   EXIT1SW,1           SET INHDR SWITCH ON                  03220000
EX3TEST  CLI   PARALIST+8,X'40'    IS THERE AN OUTHDR ROUTINE           03240000
         BE    ERRTESTE              NO BRANCH                          03260000
         MVI   EXIT3SW,1           SET OUTHDR SWITCH ON                 03280000
ERRTESTE CLI   PARALIST+16,X'40'   IS THERE AN ERROR USER ROUTINE       03300000
         BE    PRETESTE              NO BRANCH                          03320000
         MVI   ERRORSW,1           SET ERROR USER SWITCH ON             03340000
PRETESTE CLI   PARALIST+24,X'40'   IS THERE A PRECOMP USER ROUTINE      03360000
         BE    JOESTA                NO BRANCH                          03380000
         MVI   PRECOMSW,1          SET PRECOMP USER SWITCH ON           03400000
JOESTA   TM    CCADSORG,1          ARE THE DATA SETS PARTITIONED        03420000
         BZ    STARTBSA              NO BRANCH                          03440000
         SPACE 3                                                        03460000
*********************************************************************** 03480000
*        THIS SECTION OF CODE OBTAINS AN AREA OF CORE STORAGE FOR     * 03500000
*        THE DIRECTORY OF THE SYSUT1 DATA SET. IT THEN DETERMINES     * 03520000
*        HOW MANY TRUE NAMES ARE IN THIS PDS AND OBTAINS STORAGE FOR  * 03540000
*        THESE NAMES. THE NAMES ARE USED LATER TO "FIND" THE MEMBERS  * 03560000
*        OF THE PDS.                                                  * 03580000
*********************************************************************** 03600000
         GETMAIN R,LV=256          FOR THE PDS DIRECTORY BLOCK          03620000
         ST    1,BUFF1             STORE ADDRESS OF 256 BYTE BUFFER     03640000
         OPEN  DASET1              OPEN FIRST DCB                       03660000
         LA    1,DASET1           LOAD DCB ADDRESS                      03680000
         TM    48(1),X'10'        WAS OPEN ACCOMPLISHED                 03700000
         BZ    NOTOPEN              NO-ABORT JOB                        03720000
         TM    ERRDCB,X'80'    BLKS,OR LRECL PARAMETER ZERO ?    A41765 03730021
         BO    ERRFMT          YES, PRINT MESS. IEB212I          A41765 03732021
DIRCORD  L     8,BUFF1             LOAD BUFFER ADDRESS                  03740000
         READ  DECBFT,SF,DASET1,(8),'S'                                 03760000
         CHECK DECBFT                                                   03780000
         LH    4,TWO               REG4 IS RELATIVE POINTER--HERE WE    03800000
*                                    INITIALIZE IT PAST FIRST TWO BYTES 03820000
*                                    OF BLOCKSIZE DATA IN PDS DIRECTORY 03840000
         CLC   0(2,8),TWOFS+2     IS DIRECTORY BLOCK GREATER     A26556 03850019
*                                  THAN 256                      A26556 03860019
         BH    ERR2                YES, BRANCH                   A26556 03870019
         CLC   0(2,8),F14         IS DIRECTORY BLOCK LESS THAN   A26556 03880019
*                                  14                            A26556 03890019
         BL    ERR2                YES, BRANCH                   A26556 03900019
         MVC   BLKLTH1(2),0(8)     STORE BLOCKSIZE IN SAVE AREA         03940000
FINUPBLK L     8,BUFF1             LOAD READING BUFFER ADDRESS          03960000
         AR    8,4                 REG8 NOW POINTS TO MEMBER NAME       03980000
         CLC   0(8,8),ALLFS        IS THIS NAME THE LAST IN DIRECTORY   04000000
         BE    ENDDIRCO              YES BRANCH                         04020000
         TM    11(8),128           IS THIS NAME A TRUE NAME             04040000
         BO    DONTADD               NO BRANCH                          04060000
         L     5,NOOFTN            WAS TRUE NAME, THUS ADD 1 TO TRUE    04080000
         LA    5,1(5)                NAME COUNTER                       04100000
         ST    5,NOOFTN                                                 04120000
DONTADD  LH    5,10(8)             INCREMENT REG. 4 BY NUMBER           04140000
         N     5,MASK1               OF BYTES                           04160000
         AR    5,5                     OF USER                          04180000
         AR    4,5                       DATA.                          04200000
         AH    4,TWELVE            ADD LENGTH OF NAME + TTRC (12)       04220000
         CH    4,BLKLTH1           HAS BLOCK BEEN COMPLETED             04240000
         BL    FINUPBLK              NO BRANCH                          04260000
         B     DIRCORD               YES-GO GET ANOTHER PDS BLOCK       04280000
ENDDIRCO CLOSE (DASET1,REREAD)     CLOSE FOR DIRECTORY BLOCK READS      04300000
         L     0,NOOFTN            LOAD NUMBER OF TRUE NAMES IN PDS     04320000
*                                    DIRECTORY BLOCKS FOR SYSUT1        04340000
         LTR   R0,R0           IS LENGTH EQ ZERO ?               A41765 04350021
         BC    8,BOSETTNM      YES,PRINT ERR. MESS. IEB210I      A41765 04352021
         SLL   0,3                 MULTIPLY BY 8                        04360000
         GETMAIN R,LV=(0)          FOR MEMBER NAMES                     04380000
         ST    1,TNSET             STORE ADDRESS FOR TABLE              04400000
         L     0,NOOFTN            LOAD NUMBER OF TRUE NAMES IN PDS     04420000
         MH    0,TWELVE            MULTIPLY BY 12                       04440000
         GETMAIN R,LV=(0)          FOR TTRN'S OF EACH MEMBER (PDS#1)    04460000
         ST    1,TTRSET1           STORE ADDRESS OF TABLE               04480000
         L     0,NOOFTN            LOAD NUMBER OF TRUE NAMES IN PDS     04500000
         MH    0,TWELVE            MULTIPLY BY 12                       04520000
         GETMAIN R,LV=(0)          FOR TTRN'S OF EACH MEMBER (PDS#2)    04540000
         ST    1,TTRSET2           STORE ADDRESS OF TABLE               04560000
         SPACE 3                                                        04580000
*********************************************************************** 04600000
*        THIS SECTION OF CODE OPENS BOTH DATA SETS, AND READS THE PDS * 04620000
*        DIRECTORIES. IT THEN COMPARES THE DIRECTORIES AND THEIR USER * 04640000
*        DATA AND PRINTS THE APPROPRIATE MESSAGES.                    * 04660000
*********************************************************************** 04680000
         OPEN  DASET2              OPEN SYSUT2 DCB                      04700000
         LA    1,DASET2           LOAD DCB ADDRESS                      04720000
         TM    48(1),X'10'        WAS OPEN ACCOMPLISHED                 04740000
         BZ    NOTOPEN             NO, END JOB                   A41765 04745021
         TM    ERRDCB,X'80'    BLKS,OR LRECL PARAMETER ZERO ?    A41765 04750021
         BO    ERRFMT          YES, PRINT MESS. IEB212I          A41765 04752021
         OPEN  DASET1              OPEN SYSUT1 DCB                      04780000
         LA    1,DASET1           LOAD DCB ADDRESS                      04800000
         TM    48(1),X'10'        WAS OPEN ACCOMPLISHED                 04820000
         BZ    NOTOPEN              NO-ABORT JOB                        04840000
         SR    2,2                 ZERO REG2 FOR INITIALIZATION         04860000
         SR    3,3                 ZERO REG3 FOR INITIALIZATION         04880000
         GETMAIN R,LV=256          FOR SYSUT2 BUFFER                    04900000
         ST    1,BUFF2             STORE ADDRESS OF SYSUT2 BUFFER       04920000
DIRBUFF1 TM    BUFSW1,1            SHOULD ANOTHER BLOCK  BE READ FROM   04940000
         BZ    DIRBUFF2              DATA SET 1. NO-GO TO DIRBUFF2      04960000
         L     8,BUFF1             LOAD SYSUT1 BUFFER ADDRESS           04980000
         READ  DECB1,SF,DASET1,(8),'S'                                  05000000
         CHECK DECB1                                                    05020000
         MVI   BUFSW1,0            SET SWITCH - BUFFER 1 NOT EMPTY      05040000
         LH    4,TWO               INITIALIZE REG4 AS A RELATIVE PTR.   05060000
*                                    THIS PTR IS INITIALIZED PAST THE   05080000
*                                    BLOCKSIZE FIELD OF THE PDS         05100000
*                                    DIRECTORY                          05120000
         MVC   BLKLTH1(2),0(8)     STORE BLOCKSIZE IN SAVE AREA         05140000
DIRBUFF2 TM    BUFSW2,1            SHOULD ANOTHER BLOCK  BE READ FROM   05160000
         BZ    PRENAMCO              DATA SET 2.  NO-GO TO PRENAMCO     05180000
         L     8,BUFF2             LOAD SYSUT2 BUFFER ADDRESS           05200000
         READ  DECB2,SF,DASET2,(8),'S'                                  05220000
         CHECK DECB2                                                    05240000
         MVI   BUFSW2,0            SET SWITCH - BUFFER 2 NOT EMPTY      05260000
         LH    6,TWO               INITIALIZE REG6 AS A RELATIVE PTR.   05280000
*                                    THIS PTR IS INITIALIZED PAST THE   05300000
*                                    BLOCKSIZE FIELD OF THE PDS         05320000
*                                    DIRECTORY                          05340000
         CLC   0(2,8),TWOFS+2     IS DIRECTORY BLOCK GREATER     A26556 05350019
*                                  THAN 256                      A26556 05360019
         BH    ERR2                YES, BRANCH                   A26556 05370019
         CLC   0(2,8),F14         IS DIRECTORY BLOCK LESS THAN   A26556 05380019
*                                  14                            A26556 05390019
         BL    ERR2                YES, BRANCH                   A26556 05400019
         MVC   BLKLTH2(2),0(8)     STORE BLOCKSIZE IN SAVE AREA         05440000
PRENAMCO L     7,BUFF1             PLACE NUMBER OF                      05460000
         AR    7,4                   BYTES OF USER                      05480000
         IC    15,11(7)            INSERT THE 'C' CHAR OF TTRC          05500000
         N     15,MASK2            MASK OUT ALL BUT BITS 1&2 OF C FIELD 05520000
         SRL   15,3                GET LENGTH OF TTRZ'S IN REG 15       05540000
         STH   15,TTRLTH           STORE IN SAVE AREA                   05560000
         LH    5,10(7)                 DATA IN REGISTER 5               05580000
         N     5,MASK1                   AND IN                         05600000
         AR    5,5                         USERDAL.                     05620000
         STH   5,USERDAL                                                05640000
         L     7,BUFF2                                                  05660000
         AR    7,6                                                      05680000
         IC    15,11(7)            INSERT THE 'C' CHAR OF TTRC          05700000
         N     15,MASK2            MASK OUT ALL BUT BITS 1&2 OF C FIELD 05720000
         SRL   15,3                GET LENGTH OF TTRZ'S IN REG 15       05740000
         STH   15,TTRLTH2          STORE IN SAVE AREA                   05760000
         LH    5,10(7)                                                  05780000
         N     5,MASK1                                                  05800000
         AR    5,5                                                      05820000
         STH   5,USERDAL2                                               05840000
NAMECOMP L     8,BUFF1                                                  05860000
         AR    8,4                                                      05880000
         L     9,BUFF2                                                  05900000
         AR    9,6                                                      05920000
         CLC   0(8,8),0(9)         COMPARE MEMBER NAMES                 05940000
         BL    LOGNAME1            NAME MISSING FROM DATA SET 2.        05960000
         BH    LOGNAME2            NAME MISSING FROM DATA SET 1.        05980000
         CLC   0(8,8),ALLFS                                             06000000
         BE    AFTDIRCO                                                 06020000
         TM    11(8),X'80'              TEST ALIAS OR TRUE NAME  A48817 06030021
         BO    ALIACOMP                 TEST IF SECOND IS ALIAS  A48817 06030421
         TM    11(9),X'80'              TEST ALIAS OR TRUE NAME  A48817 06030821
         BZ    STORNAME                 BOTH TRUE NAMES          A48817 06031221
         B     ALIAMEMB                 NO,COMPARE AS USER DATA  A48817 06032021
ALIACOMP TM    11(9),X'80'              IS ENTRY ON SYSUT1 ALIAS A48817 06040021
         BO    RESET7                   BOTH ALIAS NAMES         A48817 06100021
         B     ALIAMEMB                 NO,COMPARE AS USER DATA  A48817 06110021
STORNAME L     8,TNSET                                                  06120000
         AR    8,2                 STORE NAME IN                        06140000
         L     9,BUFF1               LIST OF                            06160000
         AR    9,4                     TRUE                             06180000
         MVC   0(8,8),0(9)               NAMES.                         06200000
         AH    2,EIGHT                                                  06220000
         LH    7,TTRLTH                                                 06240000
         LTR   7,7                 DETERMINE WHICH TTR'S IN USER DATA   06260000
         BZ    RESET7                POINT TO NOTE LISTS. STORE THOSE   06280000
         L     9,BUFF1               1 (TTRSET1). STORE THE CORRESPOND- 06300000
         AR    9,4                   ING TTR'S FROM DATA SET 2 IN       06320000
         TM    15(9),255             TTRSET2.                           06340000
         BZ    SECTTR                                                   06360000
         L     8,TTRSET1                                                06380000
         AR    8,3                                                      06400000
         MVC   0(3,8),12(9)                                             06420000
         MVI   3(8),0                                                   06440000
         L     8,TTRSET2                                                06460000
         AR    8,3                                                      06480000
         L     9,BUFF2                                                  06500000
         AR    9,6                                                      06520000
         MVC   0(3,8),12(9)                                             06540000
         MVI   3(8),0                                                   06560000
         AH    3,FOUR                                                   06580000
SECTTR   SH    7,FOUR                                                   06600000
         LTR   7,7                                                      06620000
         BZ    RESET7                                                   06640000
         L     9,BUFF1                                                  06660000
         AR    9,4                                                      06680000
         TM    19(9),255                                                06700000
         BZ    THIRDTTR                                                 06720000
         L     8,TTRSET1                                                06740000
         AR    8,3                                                      06760000
         MVC   0(3,8),16(9)                                             06780000
         MVI   3(8),0                                                   06800000
         L     8,TTRSET2                                                06820000
         AR    8,3                                                      06840000
         L     9,BUFF2                                                  06860000
         AR    9,6                                                      06880000
         MVC   0(3,8),16(9)                                             06900000
         MVI   3(8),0                                                   06920000
         AH    3,FOUR                                                   06940000
THIRDTTR SH    7,FOUR                                                   06960000
         LTR   7,7                                                      06980000
         BZ    RESET7                                                   07000000
         L     9,BUFF1                                                  07020000
         AR    9,4                                                      07040000
         TM    23(9),255                                                07060000
         BZ    RESET7                                                   07080000
         L     8,TTRSET1                                                07100000
         AR    8,3                                                      07120000
         MVC   0(3,8),20(9)                                             07140000
         MVI   3(8),0                                                   07160000
         L     8,TTRSET2                                                07180000
         AR    8,3                                                      07200000
         L     9,BUFF2                                                  07220000
         AR    9,6                                                      07240000
         MVC   0(3,8),20(9)                                             07260000
         MVI   3(8),0                                                   07280000
         AH    3,FOUR              END OF STORING OF TTR'S.             07300000
RESET7   CLC   USERDAL+1(1),USERDAL2+1  ARE USER DATA LENGTHS EQUAL     07320000
         BNE   ERRCOMUD                   NO BRANCH                     07340000
         CLI   USERDAL+1,X'00'          IS USER DATA LENGTH ZERO        07360000
         BZ    RETERRCU              NO BYTES TO BE COMPARED            07380000
         L     8,BUFF1                                                  07400000
         AR    8,4                                                      07420000
*                                                                       07440000
         L     9,BUFF2                                                  07460000
         AR    9,6                                                      07480000
         SH    5,ONE                                                    07500000
         STC   5,COMPDAT+1                                              07520000
COMPDAT  CLC   12(1,8),12(9)       COMPARE USER DATA.                   07540000
         BNE   ERRCOMUD                                                 07560000
RETERRCU AH    4,TWELVE                                                 07580000
         AH    4,USERDAL                                                07600000
         CH    4,BLKLTH1           DOES BUFFER 1 NEED MORE RECORDS.     07620000
         BL    DIRBUF2S              NO                                 07640000
         MVI   BUFSW1,1              YES - SET BUFSW1                   07660000
DIRBUF2S AH    6,TWELVE                                                 07680000
         AH    6,USERDAL2                                               07700000
         CH    6,BLKLTH2           DOES BUFFER 2 NEED MORE RECORDS.     07720000
         BL    DIRBUFF1              NO                                 07740000
         MVI   BUFSW2,1              YES - SET BUFSW2                   07760000
         B     DIRBUFF1                                                 07780000
ADCON1   DC    A(STARTP+4096)                                           07800000
LOGNAME1 L     8,BUFF1                                                  07820000
         AR    8,4                                                      07840000
         TM    11(8),128           IS MISSING NAME AN ALIAS.            07860000
         BO    PRNAL1                YES                                07880000
         LH    8,ONE                 NO - SET SWITCH - TRUE NAME        07900000
         STC   8,TNMIS2SW                 MISSING FROM SET 2.           07920000
         B     PRNTN1                                                   07940000
RETFRPR1 AH    4,TWELVE                                                 07960000
         AH    4,USERDAL                                                07980000
         CH    4,BLKLTH1           DOES BUFFER 1 NEED MORE RECORDS.     08000000
         BL    DIRBUFF1              NO                                 08020000
         LH    8,ONE                 YES - SET BUFSW1                   08040000
         STC   8,BUFSW1                                                 08060000
         B     DIRBUFF1                                                 08080000
LOGNAME2 L     8,BUFF2                                                  08100000
         AR    8,6                                                      08120000
         TM    11(8),128           IS MISSING NAME AN ALIAS.            08140000
         BO    PRNAL2                YES                                08160000
         LH    8,ONE                 NO - SET SWITCH - TRUE NAME        08180000
         STC   8,TNMIS1SW                 MISSING FROM SET 1.           08200000
         B     PRNTN2                                                   08220000
ALIAMEMB LA    R1,3                     LOAD MESSAGE NUMBER      A48817 08230021
         L     R15,PRINCONS             LOAD PRINT ROUTINE       A48817 08232021
         BALR  R14,R15                  GO TO PRINT ROUTINE      A48817 08234021
         MVI   HICONCOD+1,X'08'         SET RETURN CODE TO EIGHT A48817 08236021
         MVC   MYPRTARE(120),BLANKS     CLEAR PRINT BUFFER       A48817 08236421
         MVC   MYPRTARE+10(14),MEMRNAME SET MEMBER NAME =        A48817 08236821
         MVC   MYPRTARE+24(8),0(8)      MOVE IN MEMBER/ALIAS NAMEA48817 08237221
         LA    R0,119                   PRINT LINE               A48817 08237621
         LA    R1,MYPRTARE              PRINT LINE               A48817 08237721
         L     R15,MYPRTCON             PRINT LINE               A48817 08237821
         BALR  R14,R15                  PRINT LINE               A48817 08237921
         B     RESET7                   CHECK IF USER DATA EQUAL A48817 08238021
AFTDIRCO TM    TNMIS1SW,1                                               08240000
         BO    TESSW2TN                                                 08260000
         TM    TNMIS2SW,1                                               08280000
         BZ    TABLE1                                                   08300000
         MVI   TABLE2SW,1                                               08320000
         B     NEXTSTEP                                                 08340000
TESSW2TN TM    TNMIS2SW,1                                               08360000
         BO    BOSETTNM                                                 08380000
TABLE1   MVI   TABLE1SW,1                                               08400000
NEXTSTEP ST    2,TNTABLEL                                               08420000
         ST    3,TTRTABLL                                               08440000
         CLOSE (DASET1,REREAD,DASET2,REREAD)                            08460000
         FREEMAIN R,LV=256,A=BUFF1                                      08480000
         XC    BUFF1(4),BUFF1      CLEAR OUT BUFF1               A26556 08490019
         FREEMAIN R,LV=256,A=BUFF2                                      08500000
         XC    BUFF2(4),BUFF2      CLEAR OUT BUFF2               A26556 08501019
         B     OPEN1                                               UL0H 08503017
ERR2     LA    R1,2                                              A26556 08503619
         B     ABNOTERM                                          A26556 08505419
STARTBSA MVI   DCALBLX1,X'05'      ACTIVATE USER INPUT HEADER AND  UL0H 08506017
         MVI   DCALBLX2,X'05'      TRAILER LABEL EXITS             UL0H 08509017
         TM    EXIT1SW,X'01'       IS THERE AN INHDR               UL0H 08512017
         BZ    UTEXIT              NO                              UL0H 08515017
         LOAD  EPLOC=PARALIST      YES, LOAD USER INHDR            UL0H 08518017
         ST    R0,UHRADR           ST MAIN STORAGE ADDR OF INHDR   UL0H 08521017
UTEXIT   TM    EXIT3SW,X'01'       IS THERE AN INTLR               UL0H 08524017
         BZ    OPEN1               NO                              UL0H 08527017
         LOAD  EPLOC=PARALIST+8    YES, LOAD USER INTLR            UL0H 08530017
         ST    R0,UTRADR                                           UL0H 08533017
OPEN1    OPEN  DASET1         OPEN SYSUT1 DCB                      UL0H 08536017
         LA    1,DASET1           LOAD DCB ADDRESS                      08540000
         TM    48(1),X'10'        WAS OPEN ACCOMPLISHED                 08560000
         BZ    NOTOPEN              NO-ABORT JOB                        08580000
         TM    ERRDCB,X'80'    BLKS,OR LRECL PARAMETER ZERO ?    A41765 08590021
         BO    ERRFMT          YES, PRINT MESS. IEB212I          A41765 08592021
         MVC   RECLTH(2),LRECLDCB(1)   MOVE LOGICAL RECORD LENGTH       08600000
         TM    DEVTDCB(1),X'20'   IS THIS A D. A. DEVICE                08620000
         BZ    OP1                  NO BRANCH                           08640000
         MVC   KEYLTH(1),KEYLEDCB(1)   MOVE KEY LENGTH INTO SAVE AREA   08660000
OP1      OPEN  DASET2             OPEN SYSUT2                           08680000
         LA    1,DASET2           LOAD DCB ADDRESS                      08700000
         TM    48(1),X'10'        WAS OPEN ACCOMPLISHED                 08720000
         BZ    NOTOPEN              NO-ABORT JOB                        08740000
         TM    ERRDCB,X'80'    BLKS,OR LRECL PARAMETER ZERO ?    A41765 08750021
         BO    ERRFMT          YES, PRINT MESS. IEB212I          A41765 08752021
         MVC   RECLH2(2),LRECLDCB(1)   MOVE LOGICAL RECORD LENGTH       08760000
         TM    DEVTDCB(1),X'20'   IS THIS A D. A. DEVICE                08780000
         BZ    OP2                  NO BRANCH                           08800000
         MVC   DCBKL2(1),KEYLEDCB(1)   MOVE KEY LENGTH INTO SAVE AREA   08820000
OP2      MVI   BUFSW1,1           SET BUFSW1 AND BUFSW2 = 1 SO THEY     08840000
         MVI   BUFSW2,1              ARE CONSIDERED EMPTY               08860000
* COORDINATION OF INPUT DATA SETS AND SWITCH SETTING                    08880000
         TM    CCADSORG,1     PO DATA SET                          UL0H 08880117
         BO    SDSOBEG        YES, BRANCH                          UL0H 08880217
         TM    UEXIT,X'03'     IS LABEL EXIT TAKEN FOR BOTH DS     UL0H 08880317
         BO    HLABPROC        YES, BRANCH                         UL0H 08880417
         BZ    SDSOBEG         NO, BRANCH                          UL0H 08880517
         TM    LABEL,X'01'     DIS USER REP COMPARE LABELS         UL0H 08880617
         BO    SDSOBEG         NO, BRANCH                          UL0H 08880717
         LA    R1,58           YES, BUT ONE DS DID NOT TAKE EXIT   UL0H 08880817
         B     ABNOTERM        GO TO TERM. THE PROCESS             UL0H 08881117
*********************************************************************** 08882017
*        INITIALIZATION FOR USER INPUT HEADER LABEL COMPARISON.       * 08882417
*********************************************************************** 08882817
HLABPROC MVI   LBSW,X'00'     SET SW TO IND. WILL GO FOR INPUT HD  UL0H 08883217
*                             LABEL COMPARISON.                    UL0H 08883617
         MVC   CTR1(4),INHDCT1 SET CTR1 EQ NO. OF INPUT HEADER LAB UL0H 08884017
*                              PROCESSED FOR SYSUT1                UL0H 08884417
         MVC   CTR2(4),INHDCT2 SET CTR2 EQ NO. OF INPUT HEADER LAB UL0H 08884817
*                              PROCESSED FOR SYSUT2                UL0H 08885217
         MVC   SAREA1(4),INHD1 SAREA1 HAS ADDR OF SYSUT1 INPUT HD  UL0H 08885617
*                              SAVE AREA                           UL0H 08886017
         MVC   SAREA2(4),INHD2 SAREA2 HAS ADDR OF SYSUT2 INPUT HD  UL0H 08886417
         MVC   LABMSG1+6(7),HD  INITIALIZE MESSAGE                 UL0H 08886817
         BAL   R9,LABPROC      GO TO COMPARE THE LABEL             UL0H 08887217
         B     CKVRE          BRANCH                               UL0H 08887617
*********************************************************************** 08888017
*        THIS SECTION OF CODE WILL COMPARE USER INPUT HEADER OR       * 08888417
*        TRAILER LABELS.                                              * 08888817
*              CTR1=NO. OF INPUT HEADER OR TRAILER LAB PROC FOR SYSUT1* 08889217
*              CTR2=NO. OF INPUT HEADER OR TRAILER LAB PROC FOR SYSUT2* 08889617
*              SAREA1= ADDR OF INPUT HD OR TL LAB SAVEAREA FOR SYSUT1 * 08890017
*              SAREA2= ADDR OF INPUT HD OR TL LAB SAVEAREA FOR SYSUT2 * 08890417
*              LBSW PRESET TO X'00' FOR HEADER LABEL COMPARISON       * 08890817
*                             X'01' FOR TRAILER LABEL COMPARISON      * 08891217
*********************************************************************** 08891617
LABPROC  ST    R9,SAVE9                                            UL0H 08892017
         TM    LABEL,X'01'    IS DATA=NO                           UL0H 08892417
         BO    FTEST          YES, BRANCH                          UL0H 08892817
         B     ANYLAB         BRANCH                               UL0H 08893217
FTEST    CLI   LBSW,X'00'     IS IN HEADER LABEL PROCESSING        UL0H 08893617
         BNE   FTEST1         NO, BRANCH                           UL0H 08894017
         TM    EXIT1SW,X'01'  IS THERE AN USER INHDR               UL0H 08894417
         BZ    GOBACK1        NO,BRANCH                            UL0H 08894817
         B     ANYLAB         BRANCH                               UL0H 08895217
FTEST1   TM    EXIT3SW,X'01'  IS THERE AN USER INTLR               UL0H 08895617
         BZ    GOBACK1        NO,BRANCH                            UL0H 08896017
ANYLAB   TM    NOLB,X'01'     IS THERE ANY USER LABEL ON SYSUT1    UL0H 08896417
*                              SAVE AREA                           UL0H 08896817
         BO    NOLAB1         BRANCH IF NO USER LABEL ON SYSUT1    UL0H 08897217
         TM    NOLB,X'02'     IS THERE ANY USER LABEL ON SYSUT2    UL0H 08897617
         BO    NOLAB2         BRANCH IF NO USER LABEL ON SYSUT2    UL0H 08898017
         TM    LABEL,X'01'    IS DATA=NO                           UL0H 08898417
         BO    CKTERM         YES, BRANCH                          UL0H 08898817
         TM    LABEL,X'30'    IS DATA=ALL OR DATA=ONLY             UL0H 08899217
         BM    LCOMP          YES, BRANCH                          UL0H 08899617
TTERM    TM    TERMSW,X'01'   DID USER LAB RTN REQ TERMINATION     UL0H 08900017
         BO    USREQTE1       YES,BRANCH                           UL0H 08900417
LCOMP    SR    R5,R5          CLEAR REG5                           UL0H 08900817
         L     R2,SAREA1      REG2 HAS SYSUT1 USER LABEL SAVEAREA  UL0H 08901217
         L     R3,SAREA2      REG3 HAS SYSUT2 USER LABEL SAVEAREA  UL0H 08901617
ATCOMP   CLC   0(80,R2),0(R3) COMPR CORRESP. LABEL FROM BOTH DS    UL0H 08902017
         BE    BUMPTR         IF EQ. GO BUMP THE POINTERS          UL0H 08902417
         BAL   R4,UNEQLAB     IF UNEQ, GO PRINT MSG AND LABELS     UL0H 08902817
BUMPTR   LA    R5,1(R5)       BUMP CTR OF THE LABELS COMPARED      UL0H 08903217
         C     R5,CTR1        ANY LABEL LEFT FROM SYSUT1           UL0H 08903617
         BE    END1           NO LABEL LEFT FROM SYSUT1            UL0H 08904017
         C     R5,CTR2        ANY LABEL LEFT FROM SYSUT2           UL0H 08904417
         BE    PPRT1          NO LABEL LEFT FROM SYSUT2            UL0H 08904817
         A     R2,EIGHTY           REG2 PT TO NEXT LABEL TO BE COMPUL0H 08905217
         A     R3,EIGHTY           REG3 PT TP NEXT LABEL TO BE COMPUL0H 08905617
         B     ATCOMP         GO COMPARE THEM                      UL0H 08906017
*                                                                  UL0H 08906417
*        SYSUT1 HAS NO LABEL LEFT TO BE COMPARED                   UL0H 08906817
END1     C     R5,CTR2        ANY LABEL LEFT FROM SYSUT2           UL0H 08907217
         BE    END            NO LABEL LEFT FROM SYSUT2            UL0H 08907617
PPRT2    TM    LBSW,X'01'     IN TRAILER LABEL COMPARING           UL0H 08908017
         BO    ET2            YES,BRANCH                           UL0H 08908417
         LA    R1,32          NO,EXTRA INPUT HEADER LABEL ON SYSUT2UL0H 08908817
         B     PRINT2         BRANCH                               UL0H 08909217
ET2      LA    R1,34          EXTRA INPUT TRAILER LABEL ON SYSUT2  UL0H 08909617
PRINT2   L     R15,PRINCONS                                        UL0H 08910017
         BALR  R14,R15        PRINT MSG                            UL0H 08910417
         CLI   HICONCOD+1,X'08'         ALREADY RETURN CODE OF 8 A44317 08910521
         BH    PRT2                     RETURN CODE MORE THAN 8  A44317 08910621
         MVI   HICONCOD+1,X'08'         SET RETURN CODE TO 8     A44317 08910721
PRT2     A     R3,EIGHTY      REG3 PT TO THE EXTRA LABEL ON SYSUT2 UL0H 08910817
         LR    R1,R3                                               UL0H 08911217
         LA    R0,79                                               UL0H 08911617
         L     R15,MYPRTCON   GO TO ZZPR TO PRINT THE EXTRA LABEL  UL0H 08912017
         BALR  R14,R15             PRINT                           UL0H 08912417
         LA    R5,1(R5)       BUMP CTR OF LABELS PROCESSED         UL0H 08912817
         C     R5,CTR2        ANY LABEL LEFT FROM SYSUT2           UL0H 08913217
         BL    PRT2           YES, GO PRINT THEM                   UL0H 08913617
         B     CKTERM         BRANCH                               UL0H 08914017
*                                                                  UL0H 08914417
*        SYSUT2 HAS NO LABELS LEFT TO BE COMPARED                  UL0H 08914817
PPRT1    TM    LBSW,X'01'     IN TRAILER LABEL COMPARISON          UL0H 08915217
         BO    ET1            YES,BRANCH                           UL0H 08915617
         LA    R1,31          EXTRA INPUT HEADER LAB ON SYSUT1 MSG UL0H 08916017
         B     PRINT1         BRANCH                               UL0H 08916417
ET1      LA    R1,33          EXTRA INPUS TRAILER LAB ON SYSUT1 MSGUL0H 08916817
PRINT1   L     R15,PRINCONS                                        UL0H 08917217
         BALR  R14,R15        BRANCH                               UL0H 08917617
         CLI   HICONCOD+1,X'08'    IS HIGHEST RET. CODE EQ 8     A44317 08918021
         BH    PRT1           BRANCH IF HIGHER THAN 8              UL0H 08918417
         MVI   HICONCOD+1,X'08'                                    UL0H 08918817
PRT1     A     R2,EIGHTY      REG2 PT TO THE EXTRA LABEL ON SYSUT1 UL0H 08919217
         LR    R1,R2                                               UL0H 08919617
         LA    R0,79                                               UL0H 08920017
         L     R15,MYPRTCON   GO TO ZZPR TO PRINT THE EXTRA LABEL  UL0H 08920417
         BALR  R14,R15        BRANCH                               UL0H 08920817
         LA    R5,1(R5)       BUMP CTR OF LABELS PROCESSED         UL0H 08921217
         C     R5,CTR1        ANY LABEL LEFT FROM SYSUT1           UL0H 08921617
         BL    PRT1           YES, GO PRINT THEM                   UL0H 08922017
         B     CKTERM         BRANCH                               UL0H 08922417
*                                                                       08922817
UNEQLAB  TM    LBSW,X'01'     IN TRAILER LABEL COMPARISON          UL0H 08923217
         BO    TUNEQ          YES, BRANCH                          UL0H 08923617
         LA    R1,41          CORRESP. INHD LABEL UNEQUAL MSG      UL0H 08924017
         B     PT             BRANCH                               UL0H 08924417
TUNEQ    LA    R1,42          CORRESP. INTL LABEL UNEQUAL MSG      UL0H 08924817
PT       L     R15,PRINCONS                                        UL0H 08925217
         BALR  R14,R15             PRINT                           UL0H 08925617
         CLI   HICONCOD+1,X'08'    IS HIGHEST RET. CODE EQ 8       UL0H 08926017
         BH    PRTLAB              BRANH IF HIGHER                 UL0H 08926417
         MVI   HICONCOD+1,X'08'                                    UL0H 08926817
PRTLAB   LR    R1,R2               PRINT UNEQUAL LABEL FROM SYSUT1 UL0H 08927217
         LA    R0,79                                               UL0H 08927617
         L     R15,MYPRTCON                                        UL0H 08928017
         BALR  R14,R15             PRINT                           UL0H 08928417
         LR    R1,R3          PRINT UNEQ LABEL FROM SYSUT2         UL0H 08928817
         LA    R0,79                                               UL0H 08929217
         L     R15,MYPRTCON                                        UL0H 08929617
         BALR  R14,R15             PRINT                           UL0H 08930017
         BR    R4             GO BACK TO COMPARE MORE LABELS       UL0H 08930417
*                                                                       08930817
END      LA    R6,LABMSG                                           UL0H 08931117
MYPRT    MVC   MYPRTARE(120),BLANKS                                UL0H 08931417
         CVD   R5,CONVTDEC                                         UL0H 08931717
         UNPK  PTAREA(8),CONVTDEC(8)                               UL0H 08932017
         OI    PTAREA+7,X'F0'                                      UL0H 08932317
         MVC   LABMSG+8(1),PTAREA+7                                UL0H 08932617
         MVC   MYPRTARE(72),LABMSG                                 UL0H 08932917
         LA    R0,119                                              UL0H 08933217
         LA    R1,MYPRTARE             OUTPUT # OF LABELS          UL0H 08933517
         L     R15,MYPRTCON                 COMPARED MSG           UL0H 08933817
         BALR  R14,R15             PRINT                           UL0H 08934117
         B     CKTERM         BRANCH                               UL0H 08934817
*                                                                       08935617
*        SYSUT1 CONTAINS NO INPUT LABELS                                08936017
NOLAB1   TM    NOLB,X'02'     IS THERE ANY USER LABEL ON SYSUT2    UL0H 08936417
         BO    NOLAB          BRANCH                               UL0H 08936817
         TM    LBSW,X'01'     IN TRAILER LABEL COMPARISON          UL0H 08937217
         BO    NOT1           BRANCH                               UL0H 08937617
         LA    R1,35          SYSUT1 HAS NO INPUT HD LABEL MSG     UL0H 08938017
         B     PT1            BRANCH                               UL0H 08938417
NOT1     LA    R1,38          SYSUT1 HAS NO INPUT TL LABEL MSG     UL0H 08938817
PT1      L     R15,PRINCONS                                        UL0H 08939217
         BALR  R14,R15             PRINT                           UL0H 08939617
         SR    R5,R5          CLEAR REG5                           UL0H 08940017
         L     R3,SAREA2      REG3 CONT. ADDR OF SYSUT2 LAB SAVAREAUL0H 08940417
         S     R3,EIGHTY                                           UL0H 08940817
         B     PPRT2          GO PRINT THE LABELS ON SYSUT2        UL0H 08941217
*                                                                  UL0H 08941617
*        SYSUT2 CONTAINS NO INPUT LABELS                           UL0H 08942017
NOLAB2   TM    LBSW,X'01'     IN TRAILER LABEL COMPARISON          UL0H 08942417
         BO    NOT2           YES, BRANCH                          UL0H 08942817
         LA    R1,36          SYSUT2 HAS NO INPUT HD LABEL MSG     UL0H 08943217
         B     PT2            BRANCH                               UL0H 08943617
NOT2     LA    R1,39          SYSUT2 HAS NO INPUT TL LABEL MSG     UL0H 08944017
PT2      L     R15,PRINCONS                                        UL0H 08944417
         BALR  R14,R15             PRINT                           UL0H 08944817
         SR    R5,R5          CLEAR REG5                           UL0H 08945217
         L     R2,SAREA1      REG2 HAS ADDR. OF SYSUT1 LABEL SAVAREUL0H 08945617
         S     R2,EIGHTY                                           UL0H 08946017
         B     PPRT1          BRANCH                               UL0H 08946417
*                                                                  UL0H 08946817
NOLAB    TM    LBSW,X'01'     IN TRAILER LABEL COMPARISON          UL0H 08947217
         BO    NOTL           YES, BRANCH                          UL0H 08947617
         LA    R1,37          NO USER INHD LABEL ON BOTH DATA SETS UL0H 08948017
         B     PTL            BRANCH                               UL0H 08948417
NOTL     LA    R1,40          NO USER INTL LABEL ON BOTH DATA SETS UL0H 08948817
PTL      L     R15,PRINCONS                                        UL0H 08949217
         BALR  R14,R15             PRINT                           UL0H 08949617
         CLI   HICONCOD+1,X'08'    IS HIGHEST RET. CODE EQ 8       UL0H 08950017
         BH    CKTERM         BRANCH IF HIGHER                     UL0H 08950417
         MVI   HICONCOD+1,X'08'                                    UL0H 08950817
CKTERM   TM    TERMSW,X'01'   USER LABEL PROC. RTN REQUESTED TERM. UL0H 08951217
         BO    USREQTE1       YES, BRANCH                          UL0H 08951617
         TM    LBSW,X'01'     IN TRAILER LABEL COMPARISON          UL0H 08952017
         BO    GOBACK1        YES                                  UL0H 08952417
         TM    LABEL,X'10'    IS DATA=ONLY                         UL0H 08952817
         BZ    GOBACK1        NO, BRANCH                           UL0H 08953217
         LA    R1,49          NO RECORDS COMPARED,DATA=ONLY MSG    UL0H 08953617
         L     R15,PRINCONS                                        UL0H 08954017
         BALR  R14,R15             PRINT                           UL0H 08954417
         B     NORMEND        BRANCH                               UL0H 08954817
GOBACK1  L     R9,SAVE9       RETURN                               UL0H 08955217
         BR    R9                  BRANCH                          UL0H 08955617
USREQTE1 MVI   HICONCOD+1,X'16'   RET CODE=16 ON USER REQUEST    A44317 08956021
         B     USREQTER       BRANCH                               UL0H 08956417
USREQTE2 LA    R15,16                                              UL0H 08956817
         STC   R15,HICONCOD                                        UL0H 08957217
         LA    R1,57          TERM AFTER USER VOL-SWITCH LAB PROC  UL0H 08957617
         L     R15,PRINCONS                                        UL0H 08958017
         BALR  R14,R15             BRANCH                          UL0H 08958417
         B     NORMEND        BRANCH                               UL0H 08958817
*********************************************************************** 08959217
*        THIS SECTION OF CODE WILL CHECK FOR THE PRESENCE OF VS RECORD* 08959617
*        IN BOTH INPUT DATA SETS. THEN DECIDE WHETHER BSAM OR QSAM MOV* 08960017
*        MODE SHOULD BE USED FOR VS RECORD PROCESSING. IF NO VS RECORD* 08960417
*        IN EITHER INPUT DATA SETS, BSAM WILL BE USED TO PROCESS BOTH * 08960817
*        INPUT DATA SETS.                                             * 08961217
*********************************************************************** 08961617
CKVRE    MVI   NOEXTSW,X'00'  TURN OFF NO MORE EXIT TO USER LAB SW VS0H 08962017
         MVI   NOLB,X'00'                                          UL0H 08962417
SDSOBEG  CLC   KEYLTH(1),DCBKL2    COMPARE KEY LENGTHS             VS0H 08962817
         BNE   ERRKEY                                              VS0H 08963217
         TM    KEYLTH,255                                          VS0H 08963617
         BZ    CKVRE1         NO, BRANCH                           VS0H 08964017
         MVI   KSWT,1              SET KEY PRESENT SW ON           VS0H 08964417
CKVRE1   TM    CCADSORG,1     ARE DATA SETS PARTITIONED            VS0H 08964817
         BO    FMTEST         YES, BRANCH                          VS0H 08965217
VSFM1    TM    RECFM1,X'48'        IS RECFM OF SYSUT1 VS           VS0H 08965617
         BO    VSFM2               YES,BRANCH                      VS0H 08966017
         TM    RECFM1,X'80'        IS RECFM OF SYSUT1 V         OY01190 08966416
         BNO   V1                  YES,BRANCH                   OY01190 08966816
         TM    RECFM2,X'48'        IS RECFM OF SYSUT2 VS           VS0H 08967217
         BO    ERRFMT2             YES, RECFM DIFFERENT MSG     OY01190 08967616
         B     FORMTEST            NO,BRANCH                       VS0H 08968017
*        SYSUT1 RECFM IS VS                                             08968417
VSFM2    TM    RECFM2,X'48'        IS RECFM OF SYSUT2 VS           VS0H 08968817
         BO    BOTHVS              YES,BRANCH                      VS0H 08969217
         TM    RECFM2,X'80'        IS RECFM OF SYSUT2 V         OY01190 08969616
         BNO   VSV2                YES,BRANCH                   OY01190 08970016
         B     ERRFMT2             NO, RECFM DIFFERENT MSG      OY01190 08970416
*        SYSUT1 RECFM IS V                                              08970817
V1       TM    RECFM2,X'48'        IS RECFM OF SYSUT2 VS           VS0H 08971217
         BO    VSV1                YES,BRANCH                      VS0H 08971617
         B     FORMTEST       NO                                   VS0H 08972017
*        RECFM OF BOTH DATA SETS ARE VS                               * 08972417
BOTHVS   TM    KSWT,X'01'     ARE KEY PRESENT                      VS0H 08972817
         BO    INITBSAM       YES, BRANCH                          VS0H 08973217
         TM    RECLTH,X'80'   IS SYSUT1 LRECL GREATER THAN 32K     VS0H 08973617
         BO    NITBSAM                  YES, CHECK IF SYSUT2 ALSO  VS0H 08974017
         TM    RECLH2,X'80'   IS SYSUT2 LRECL GREATER THAN 32K     VS0H 08974417
         BO    ERRMLTH             YES, INCOMPATABLE DATA SETS     VS0H 08974817
         B     INITQSAM       BRANCH                               VS0H 08975217
*        RECFM OF ONE INPUT DATA SET IS VS AND RECFM OF THE OTHER DATA* 08975617
*        SET IS V                                                     * 08976017
VSV1     TM    RECLH2,X'80'   IS SYSUT2 LRECL GREATER THAN 32K     VS0H 08976417
         BZ    VSV            NO                                   VS0H 08976817
         BO    ERRMLTH        YES, BRANCH                          VS0H 08977217
VSV2     TM    RECLTH,X'80'   IS SYSUT1 LRECL GREATER THAN 32K     VS0H 08977617
         BO    ERRMLTH        YES, BRANCH                          VS0H 08978017
VSV      TM    KSWT,X'01'     KEY PRESENT SW ON                    VS0H 08978417
         BO    KEYVSV         YES, BRANCH                          VS0H 08978717
         B     INITQSAM       BRANCH                               VS0H 08979017
NITBSAM  TM    RECLH2,X'80'         SYSUT2 ALSO GREATER THAN 32K   VS0H 08979417
         BO    INITBSAM                 IF SO THAN PROCEED         VS0H 08979617
ERRMLTH  LA    R1,51         ONE DATA SET CONTAINS LOGICAL RECORDS VS0H 08979917
         B     ABNOTERM       BRANCH                               VS0H 08980817
KEYVSV   LA    R1,52          KEYED DATA SETS, ONE CONTAINS VS     VS0H 08981217
         B     ABNOTERM       BRANCH                               VS0H 08982417
POVS     LA    R1,56               PARTITION ORG. DATA SETS        VS0H 08982817
         B     ABNOTERM       BRANCH                               VS0H 08984017
INITQSAM CLOSE (DASET1,REREAD,DASET2,REREAD)                       UL0H 08984417
         L     R15,ADQSAM                                          UL0H 08984817
         BR    R15                 GO TO IEBCQSAM                  UL0H 08985217
INITBSAM MVI   VSSWT,X'01'    SET BSAM PROC VS RECORD SW ON        VS0H 08985617
         LA    R1,53          RECORD COMPARED AT PHYS BLK LEVEL    VS0H 08986017
         L     R15,PRINCONS                                        VS0H 08986417
         BALR  R14,R15             PRINT                           VS0H 08986817
         B     GETCORE        BRANCH                               VS0H 08987217
FMTEST   TM    RECFM1,X'48'        IS RECFM OF SYSUT1 VS           VS0H 08989217
         BO    POVS                YES, BRANCH                     VS0H 08991217
         TM    RECFM2,X'48'        IS RECFM OF SYSUT2 VS           VS0H 08993217
         BO    POVS                YES, BRANCH                     VS0H 08995217
FORMTEST TM    RECFM1,X'C0'                                             09000000
         BO    FMTUNKWN                                                 09020000
         TM    RECFM1,128                                               09040000
         BO    FMTFIXED                                                 09060000
         TM    RECFM1,64                                                09080000
         BO    FMTVAR                                                   09100000
         B     ERRFMT                                                   09120000
FMTFIXED TM    RECFM2,128                                               09140000
         BZ    ERRFMT2                                             SA0I 09160018
         MVI   FSWT,1                                                   09180000
         CLC   RECLTH(2),LORECO    IS RECORD LENGTH = ZERO              09200000
         BNE   RECLTHCR                                                 09220000
         MVC   RECLTH(2),MAXBLLH1+2  SET RECORD LENGTH = BLOCKSIZE      09240000
         MVC   RECLH2(2),RECLTH                                         09260000
RECLTHCR CLC   RECLTH(2),RECLH2    ARE RECORD LENGTHS EQUAL             09280000
         BNE   ERRMELEN                                                 09300000
         B     GETCORE                                                  09320000
FMTVAR   TM    RECFM2,64                                                09340000
         BZ    ERRFMT2                                                  09360000
         MVI   VSWT,1                                                   09380000
         B     GETCORE                                                  09400000
FMTUNKWN TM    RECFM2,X'C0'                                             09420000
         BC    14,ERRFMT2                                          SA0I 09440018
* COORDINATION COMPLETED AND SWITCHES SET.                              09460000
GETCORE  L     0,MAXBLLH1          OBTAIN BUFFER FOR DATA SET 1 RECORDS 09480000
         L     1,KEYLTH                                                 09500000
         SRL   1,24                                                     09520000
         ST    1,KEYLTH                                                 09540000
         A     0,KEYLTH                                                 09560000
         ST    R0,LBUFF1      SAVE LENGTH OF GET STORAGE           VS0H 09570017
         MVC   DCBKL2+3(1),DCBKL2  MOVE KEY LENGTH FOR SYSUT2 TO LOW    09580000
*                                    ORDER BYTE                         09600000
         NI    DCBKL2,X'00'        SET HIGH ORDER BYTE OF KEY FIELD =0  09620000
         GETMAIN R,LV=(0)                                               09640000
         ST    1,BUFF1             STORE ADDRESS OF BUFFER AREA         09660000
         L     0,MAXBLLH2          OBTAIN BUFFER FOR DATA SET 2 RECORDS 09680000
         A     0,KEYLTH                                                 09700000
         ST    R0,LBUFF2      SAVE LENGTH OF GET STORAGE           VS0H 09710017
         GETMAIN R,LV=(0)                                               09720000
         ST    1,BUFF2                                                  09740000
TESTBUF1 TM    BUFSW1,1            IS BUFFER 1 EMPTY.                   09760000
         BZ    TESTBUF2              NO                                 09780000
         TM    CCADSORG,1                                               09800000
         BZ    READSET1                                                 09820000
         TM    ONETIME,1           SWITCH IS SET                        09840000
         BO    READSET1              AFTER THE                          09860000
         MVI   ONETIME,1               FIRST TIME THROUGH               09880000
GETMEMB  TM    ENDMEMBS,1          ARE THERE ANY MEMBER NAMES LEFT.     09900000
         BO    NORMEND               NO                                 09920000
         XC    PHRECO1(4),PHRECO1  SET PHYSICAL RECORD COUNTERS         09940000
         XC    PHRECO2(4),PHRECO2    EQUAL TO ZERO                      09960000
         XC    ERRCO(2),ERRCO     ZERO ERROR COUNTER                    09980000
         MVI   EOD1SW,0            SET EOD SWITCHES                     10000000
         MVI   EOD2SW,0              EQUAL TO ZERO                      10020000
         MVI   BUFSW1,1            SET SWITCHES TO READ                 10040000
         MVI   BUFSW2,1              BOTH DATA SETS                     10060000
         L     3,NOTNREAD                                               10080000
         L     9,TNSET                                                  10100000
         AR    9,3                 PLACE NEXT MEMBER NAME               10120000
         MVC   FINDAREA(8),0(9)      IN FINDAREA.                       10140000
         AH    3,EIGHT                                                  10160000
         ST    3,NOTNREAD                                               10180000
         C     3,TNTABLEL          HAS LAST MEMBER BEEN PICKED UP.      10200000
         BNE   FINDBPAM              NO.                                10220000
         MVI   ENDMEMBS,1                                               10240000
FINDBPAM LA    13,SAVEREGS                                              10260000
         FIND  DASET1,FINDAREA,D                                        10280000
         LTR   15,15               TEST RETURN FROM FIND MACRO          10300000
         BNE   ERRMRET2            BRANCH                        A26556 10320019
         FIND  DASET2,FINDAREA,D                                        10340000
         LTR   15,15               TEST RETURN FROM FIND MACRO          10360000
         BNE   ERRMRET2                                                 10380000
READSET1 L     8,BUFF1                                                  10400000
         MVC   LOREPP1(2),ONE      SET LOGICAL RECORD/BLOCK COUNTER=1   10420000
         READ  DECB1A,SF,DASET1,(8),'S'                                 10440000
         CHECK DECB1A                                                   10460000
         TM    TERMSW,X'01'   DID USER INHDR/INTLR REQUEST TERM.   UL0H 10466017
         BO    USREQTE2       BRANCH                               VS0H 10473017
         TM    CCADSORG,1          IS DATA SET 1 PARTITIONED.           10480000
         BZ    NOSCAN                NO                                 10500000
         SR    8,8                                                      10520000
         C     8,TTRTABLL          ARE NOTE LISTS PRESENT               10540000
         BE    NOSCAN                NO                                 10560000
         TM    TABLE1SW,1          IS DATA SET 1 THE SUBSET             10580000
         BZ    NOSCAN                NO                                 10600000
         NOTE  DASET1                                                   10620000
SCANNL1  L     7,TTRSET1                                                10640000
         AR    7,8                                                      10660000
         C     1,0(7)              IS TTR OF RECORD READ IN NOTE LIST   10680000
         BE    SKIPPAM2              TABLE. YES                         10700000
         AH    8,FOUR                                                   10720000
         C     8,TTRTABLL          HAS ENTIRE TABLE BEEN SCANNED.       10740000
         BE    NOSCAN                YES                                10760000
         B     SCANNL1               NO                                 10780000
SKIPPAM2 L     8,BUFF2                                                  10800000
         READ  DECB2A,SF,DASET2,(8),'S',MF=E                            10820000
         CHECK DECB2A                                                   10840000
         B     READSET1                                                 10860000
NOSCAN   MVI   BUFSW1,0                                                 10880000
         OI    BUFSW1,X'10'       SET JUST READ SYSUT1 SWITCH ON        10900000
         L     7,PHRECO1           INCREMENT PHYSICAL RECORD            10920000
         AH    7,ONE                 COUNTER FOR DATA                   10940000
         ST    7,PHRECO1               SET 1                            10960000
         TM    KSWT,1              ARE KEYS PRESENT.                    10980000
         BO    TESTBUF2              YES                                11000000
         TM    VSSWT,X'01'    IS RECFM VS TYPE                     VS0H 11006017
         BO    TESTBUF2       YES, BRANCH                          VS0H 11012017
         TM    VSWT,1              ARE RECORDS V-TYPE.                  11020000
         BZ    FORUTYPE              NO                                 11040000
         LH    4,FOUR              INITIALIZE REG. 4 FOR V-TYPE RECORDS 11060000
         L     7,BUFF1                                                  11080000
         MVC   BLKLTH1(2),0(7)     PLACE BLOCK LENGTH 1N BLKLTH1.       11100000
         AR    7,4                                                      11120000
         MVC   RECLTH(2),0(R7)     GET LITTLE LL                 A26556 11140019
         LH    R5,RECLTH           STORE LITTLE LL IN REG5       A26556 11160019
         B     TESTBUF2                                                 11180000
FORUTYPE SR    4,4                 INITIALIZE REG. 4 FOR F OR U-TYPE    11200000
         L     8,MAXBLLH1          OBTAIN NUMBER                        11220000
         L     9,DECB1A+16           OF BYTES READ                      11240000
         LH    9,14(9)                 AND                              11260000
         SR    8,9                       STORE                          11280000
         STH   8,BLKLTH1                   IN BLKLTH1                   11300000
         TM    FSWT,1              ARE RECORDS F-TYPE.                  11320000
         BO    FTYPE                 YES                                11340000
         STH   8,RECLTH              NO -STORE LENGTH OF U-TYPE RECORD. 11360000
FTYPE    LH    5,RECLTH                                                 11380000
TESTBUF2 TM    BUFSW2,1            DOES BUFFER 2 NEED MORE RECORDS.     11400000
         BO    READ2                 YES                                11420000
ACTUCOMP TM    VSWT,X'01'         ARE THESE V-TYPE RECORDS              11440000
         BZ    ACT2COMP              NO BRANCH                          11460000
         BAL   R3,SPORTL           GO CHECK FOR VALID RECORD LEN A26556 11470019
ACT2COMP BAL   3,COMPAR           BRANCH TO COMPARE SUBROUTINE          11500000
RETFRCOM L     3,LORECO            INCREMENT TOTAL LOGICAL              11520000
         AH    3,ONE                 RECORD                             11540000
         ST    3,LORECO                COUNTER                          11560000
         LH    3,LOREPP1           INCREMENT                            11580000
         AH    3,ONE                 LOGICAL                            11600000
         STH   3,LOREPP1               RECORD                           11620000
         LH    3,LOREPP2                 PER                            11640000
         AH    3,ONE                       BLOCK                        11660000
         STH   3,LOREPP2                     COUNTERS                   11680000
         AH    4,RECLTH            INCREMENT REGISTER 4.                11700000
         CH    4,BLKLTH1           ARE MORE RECORDS NEEDED FOR SET 1.   11720000
         BL    BUF2SET               NO                                 11740000
         MVI   BUFSW1,1              YES - RESET BUFSW1                 11760000
BUF2SET  AH    6,RECLH2           UP RELATIVE POINTER IN BUFF2          11780000
*    INSTRUCTIONS TO OBTAIN NEW RECORD LENGTH, IF NECESSARY.            11800000
         TM    VSWT,1                                                   11820000
         BZ    NEWRLSET                                                 11840000
         TM    BUFSW1,1                                                 11860000
         BO    NEWRLSET                                                 11880000
         L     7,BUFF1                                                  11900000
         AR    7,4                                                      11920000
         MVC   RECLTH(2),0(7)                                           11940000
* NEW RECORD LENGTH OBTAINED                                            11960000
NEWRLSET LH    5,RECLTH                                                 11980000
         CH    6,BLKLTH2                                                12000000
         BL    ARO                                                      12020000
         MVI   BUFSW2,1                                                 12040000
         B     TESTBUF1                                                 12060000
ARO      TM    VSWT,1             IS THIS V-TYPE RECORD                 12080000
         BO    VAG                  YES BRANCH                          12100000
         B     TESTBUF1           GO GET ANOTHER RECORD                 12120000
VAG      L     7,BUFF2            BUFF2 IS NOT EMPTY, THUS UP RELATIVE  12140000
         AR    7,6                 POINTER TO NEXT V-TYPE RECORD        12160000
         MVC   RECLH2(2),0(7)                                           12180000
         B     TESTBUF1           GO GET ANOTHER RECORD                 12200000
SPORTB   CLC   BLKLTH1(2),EIGHT    IS BLKLTH1 NO HIGHER THAN 8   A26556 12250019
         BNH   INPERR              YES, BRANCH                   A26556 12300019
         CLC   BLKLTH1(2),MAXLL    IS BLKLTH1 GREATER THAN 32760 A26556 12350019
         BH    INPERR              YES, BRANCH                   A26556 12400019
         CLC   BLKLTH2(2),EIGHT    IS BLKLTH2 NO HIGHER THAN 8   A26556 12450019
         BNH   INPERR              YES, BRANCH                   A26556 12500019
         CLC   BLKLTH2(2),MAXLL    IS BLKLTH2 GREATER THAN 32760 A26556 12550019
         BH    INPERR              YES, BRANCH                   A26556 12600019
SPORTL   CLC   RECLTH(2),FOUR     IS LITTLE LL NO HIGHER THAN 4  A26556 12650019
         BNH   ERRMRET1            YES, BRANCH                   A26556 12700019
         CLC   RECLTH(2),MAXLLL   IS RECLTH GREATER THAN 32756   A26556 12750019
         BH    ERRMRET1            YES, BRANCH                   A26556 12800019
         CLC   RECLH2(2),FOUR     IS LITTLE LL NO HIGHER THAN 4  A26556 12850019
         BNH   ERRMRET1            YES, BRANCH                   A26556 12900019
         CLC   RECLH2(2),MAXLLL    IS RECLH2 GREATER THAN 32756  A26556 12950019
         BH    ERRMRET1            YES, BRANCH                   A26556 13000019
         BR    R3                  BRANCH BACK                   A26556 13050019
READ2    L     8,BUFF2                                                  13160000
         MVC   LOREPP2(2),ONE      SET LOGICAL RECORD/BLOCK COUNTER=1   13180000
         LA    13,SAVEREGS                                              13200000
         READ  DECB2A,SF,DASET2,(8),'S'                                 13220000
         CHECK DECB2A                                                   13240000
         TM    TERMSW,X'01'   DID USER INHDR/INTLR REQUEST TERM.   UL0H 13246017
         BO    USREQTE2       BRANCH                               VS0H 13253017
         TM    CCADSORG,1                                               13260000
         BZ    NOSCAN2                                                  13280000
         SR    8,8                                                      13300000
         C     8,TTRTABLL                                               13320000
         BE    NOSCAN2                                                  13340000
         TM    TABLE2SW,1                                               13360000
         BZ    NOSCAN2                                                  13380000
         NOTE  DASET2                                                   13400000
SCANNL2  L     7,TTRSET2                                                13420000
         AR    7,8                                                      13440000
         C     1,0(7)                                                   13460000
         BE    SKIPPAM1                                                 13480000
         AH    8,FOUR                                                   13500000
         C     8,TTRTABLL                                               13520000
         BE    NOSCAN2                                                  13540000
         B     SCANNL2                                                  13560000
SKIPPAM1 L     8,BUFF1                                                  13580000
         READ  DECB1A,SF,DASET1,(8),'S',MF=E                            13600000
         CHECK DECB1A                                                   13620000
         B     READ2                                                    13640000
NOSCAN2  MVI   BUFSW2,0                                                 13660000
         L     7,PHRECO2           INCREMENT PHYSICAL RECORD            13680000
         AH    7,ONE                 COUNTER FOR DATA                   13700000
         ST    7,PHRECO2               SET 2                            13720000
         TM    KSWT,1              ARE KEYS PRESENT.                    13740000
         BO    KEYROU                YES -GO TO KEYROU                  13760000
         TM    VSSWT,X'01'    IS RECFM VS TYPE                     VS0H 13766017
         BO    VSCOMP         YES, GO TO COMPR VS TYPE RECORDS     VS0H 13772017
         TM    VSWT,1                                                   13780000
         BZ    FORUTYP2                                                 13800000
         LH    6,FOUR              INITIALIZE REG. 6 FOR V-TYPE RECORDS 13820000
         L     7,BUFF2                                                  13840000
         MVC   BLKLTH2(2),0(7)                                          13860000
         AR    7,6                UP POINTER TO LOGICAL RECORD          13880000
         MVC   RECLH2(2),0(7)     MOVE LOGICAL RECORD LENGTH            13900000
         B     ACTUCOMP                                                 13920000
FORUTYP2 SR    6,6                 INITIALIZE REG. 6 FOR F OR U-TYPE    13940000
         L     8,MAXBLLH2                                               13960000
         L     9,DECB2A+16                                              13980000
         LH    9,14(9)                                                  14000000
         SR    8,9                                                      14020000
         STH   8,BLKLTH2                                                14040000
         TM    FSWT,1              IS FORMAT FIXED                      14060000
         BO    STOREC2                                                  14080000
         STH   8,RECLH2           STORE LOGICAL RECORD LTH OF U-TYPE    14100000
         B     ACTUCOMP           GO COMPARE RECORDS                    14120000
*    ROUTINE WHEN KEYS ARE PRESENT                                      14140000
KEYROU   L     5,KEYLTH                                                 14160000
         SR    4,4                 INITIALIZE REGISTERS                 14180000
         SR    6,6                   4 AND 6                            14200000
         MVI   KEYCOMSW,1                                               14220000
         BAL   3,COMPAR            COMPARE KEYS                         14240000
         MVI   KEYCOMSW,0                                               14260000
         A     4,KEYLTH                                                 14280000
         A     6,KEYLTH                                                 14300000
         TM    VSSWT,X'01'    IS RECFM VS TYPE                     VS0H 14306017
         BO    VSCOMPK        YES, GO TO COMPR VS TYPE RECORDS     VS0H 14312017
         TM    VSWT,1              ARE RECORDS V-TYPE.                  14320000
         BZ    OTHTYPE               NO                                 14340000
         L     7,BUFF1                                                  14360000
         AR    7,4                                                      14380000
         MVC   BLKLTH1(2),0(R7)    GET BIG LL IN BLKLTH1         A26556 14420019
         L     15,BUFF2           LOAD BUFF2 ADDR                       14460000
         AR    15,6               UP POINTER TO PHYSICAL RECORD         14480000
         MVC   BLKLTH2(2),0(R15)   GET BIG LL IN BLKLTH2         A26556 14490019
         MVC   RECLTH(2),4(R7)                                   A26556 14500019
         MVC   RECLH2(2),4(R15)                                  A26556 14510019
         BAL   R3,SPORTB           GO CHECK FOR VALID BLOCK AND  A26556 14520019
*                                  RECORD SIZE                   A26556 14530019
         LH    R14,BLKLTH1         GET BLOCK SIZE 1              A26556 14540019
         AR    R14,R4              ADD KEY LENGTH TO IT          A26556 14550019
         STH   R14,BLKLTH1         STORE ACTUAL SIZE OF BUFFER   A26556 14560019
*                                  IN BLKLTH1                    A26556 14570019
         AH    R4,FOUR             REG4 HAS PROPER DISPLACEMENT  A26556 14580019
*                                  TO NEXT RECORD IN BUFFER 1    A26556 14590019
         LH    R14,BLKLTH2         GET BLOCK SIZE 2              A26556 14600019
         AR    R14,R6              ADD KEY LENGTH TO IT          A26556 14610019
         STH   R14,BLKLTH2         STORE ACTUAL SIZE OF BUFFER   A26556 14620019
*                                  IN BLKLTH2                    A26556 14630019
         AH    R6,FOUR             REG6 HAS PROPER DISPLACEMENT  A26556 14640019
*                                  TO NEXT RECORD IN BUFFER 2    A26556 14650019
KEYROU2  BAL   3,COMPAR            GO COMPARE RECORDS                   14740000
         L     3,LORECO            INCREMENT TOTAL LOGICAL              14760000
         AH    3,ONE                 RECORD                             14780000
         ST    3,LORECO                COUNTER                          14800000
         LH    3,LOREPP1           INCREMENT                            14820000
         AH    3,ONE                 LOGICAL                            14840000
         STH   3,LOREPP1               RECORD                           14860000
         LH    3,LOREPP2                 PER                            14880000
         AH    3,ONE                       BLOCK                        14900000
         STH   3,LOREPP2                     COUNTERS                   14920000
         AH    4,RECLTH                                                 14940000
         AH    6,RECLTH                                                 14960000
         CH    4,BLKLTH1           IS ANOTHER PHYSICAL RECORD NEEDED.   14980000
         BNL   SETBUFSW              YES                                15000000
         TM    VSWT,1              ARE RECORDS V-TYPE.                  15020000
         BZ    MUSTBEF               NO -RECORDS MUST BE F-TYPE         15040000
         L     7,BUFF1                                                  15060000
         AR    7,4                                                      15080000
         MVC   RECLTH(2),0(7)                                           15100000
         L     R8,BUFF2            GET BUFF2 ADDRESS             A26556 15103019
         AR    R8,R6               ADD PROPER DISPLACEMENT TO IT A26556 15106019
         MVC   RECLH2(2),0(8)      GET LRECL 2                   A26556 15109019
         BAL   R3,SPORTL           GO CHECK FOR VALID RECORD LEN A26556 15112019
         B     KEYROU2                 BRANCH TO COMPAR         A37861  15115021
MUSTBEF  LH    5,RECLTH                                                 15120000
         B     KEYROU2             BRANCH                        A26556 15140019
SETBUFSW MVI   BUFSW1,1                                                 15160000
         MVI   BUFSW2,1                                                 15180000
         B     TESTBUF1                                                 15200000
OTHTYPE  L     8,MAXBLLH1          OBTAIN NUMBER                        15220000
         L     9,DECB1A+16           OF                                 15240000
         LH    9,14(9)                 BYTES                            15260000
         SR    8,9                       READ                           15280000
         LR    9,8                                                      15300000
         AR    8,4                 ADD KEY LENGTH                       15320000
         STH   8,BLKLTH1               STORE IN BLOCK LENGTH            15340000
         ST    REG3,SAVEREG3      SAVE REG3                        9314 15342013
         L     OUTLEN,MAXBLLH2    DECB LENGTH INFO.                9314 15344013
         L     REG3,DECB2A+16     LENGTH OF READ                   9314 15346013
         LH    REG3,14(REG3)      POINT TO FIRST REC.              9314 15348013
         SR    OUTLEN,REG3        OBTAIN # OF                      9314 15350013
         LR    REG3,OUTLEN                    RECORDS READ         9314 15352013
         AR    OUTLEN,REG4        ADD KEYLENGTH                    9314 15354013
         STH   OUTLEN,BLKLTH2     STORE RECORD LENGTH              9314 15356013
         TM    FSWT,1                  ARE RECORDS F-TYPE               15360000
         BO    KEYFTYPE                  YES                            15380000
         STH   9,RECLTH                  NO -NO. OF BYTES READ = RECLTH 15400000
         STH   REG3,RECLH2        STORE RECORD LENGTH              9314 15404013
         L     REG3,SAVEREG3      RESTORE REG3                     9314 15408013
         CLC   BLKLTH1(2),BLKLTH2 COMPARE LENGTH R1 TO R2          9314 15412013
         BNE   ERRCOMP            NOT EQUAL IS AN ERROR CONDITION  9314 15416013
KEYFTYPE LH    5,RECLTH                                                 15420000
         B     KEYROU2             BRANCH                        A26556 15450019
VSCOMP   SR    R4,R4          CLEAR REG4                           VS0H 15480717
         SR    R6,R6          CLEAR REG6                           VS0H 15481417
VSCOMPK  SR    R3,R3          CLEAR REG3                           VS0H 15482117
         STH   R3,LOREPP1     SET LOG./PHYS.RCD CT FOR SYSUT1 TO 0 VS0H 15482817
         STH   R3,LOREPP2     SET LOG./PHYS.RCD CT FOR SYSUT2 TO 0 VS0H 15483517
         L     R7,BUFF1       GET ADDR. OF BUFFER 1                VS0H 15484217
         AR    R7,R4          GET REG7 POINTS TO BIG LL            VS0H 15484917
         LH    R5,0(R7)       REG5 CONTAIN BIG LL                  VS0H 15485617
         CH    R5,EIGHT       IS LL GREATER THAN 8                 VS0H 15486317
         BNH   INPERR         NO, PERMANENT INPUT ERROR            VS0H 15487017
         CH    R5,MAXLL       IS BIG LL GREATER THAN 32760         VS0H 15487717
         BH    INPERR         YES, PERMANENT INPUT ERROR           VS0H 15488417
         STH   R5,RECLTH      SET RCD LENGTH OF SYSUT1 EQ BIG LL   VS0H 15489117
         L     R8,BUFF2       GET ADDR. OF BUFFER 2                VS0H 15489817
         AR    R8,R6          GET REG8 POINTS TO BIG LL            VS0H 15490517
         LH    R3,0(R8)       REG3 CONTAIN BIG LL                  VS0H 15491217
         CH    R3,EIGHT       IS LL GREATER THAN 8                 VS0H 15491917
         BNH   INPERR         NO, PERMANENT ERROR                  VS0H 15492617
         CH    R3,MAXLL       IS LL GREATER THAN 32760             VS0H 15493317
         BH    INPERR         YES, PERMANENT ERROR                 VS0H 15494017
         STH   R3,RECLH2      SET RCD LENGTH OF SYSUT2 EQ BIG LL   VS0H 15494717
         BAL   R3,COMPAR      GO TO COMPARE 2 BLOCKS OF RECORD     VS0H 15495417
AGAIN    MVI   BUFSW1,X'01'   SET BUFFER 1 EMPTY SW ON             VS0H 15496117
         MVI   BUFSW2,X'01'   SET BUFFER 2 EMPTY SW ON             VS0H 15496817
         B     TESTBUF1       BRANCH                               VS0H 15497817
* COMPARE ROUTINE                                                       15500000
COMPAR   STM   R2,R8,CSAVE    SAVE REG2-REG8                       VS0H 15510017
         L     R8,BUFF1       GET DS1 BUFFER ADDRESS               VS0H 15520017
         AR    8,4                       BE COMPARED IN REGS. 8 AND 9.  15540000
         L     R7,BUFF2                                            VS0H 15560017
         AR    R7,R6                                               VS0H 15580017
         NI    BUFSW1,1           SET SYSUT1 JUST READ SWITCH OFF       15600000
         TM    KEYCOMSW,1         ARE WE COMPARING KEYS                 15620000
         BO    DOOVER               YES BRANCH                          15640000
COMB     TM    VSSWT,X'03'    VS-TYPE RECORD                       VS0H 15690017
         BZ    NOTVS          NO, BRANCH                           VS0H 15700017
         LH    R5,0(R8)       YES, GET LL FIELD OF DS1 RECORD      VS0H 15710017
         LH    R3,0(R7)            GET LL FIELD OF DS2 RECORD      VS0H 15720017
         B     PREC           BRANCH                               VS0H 15730017
NOTVS    CLC   RECLTH(2),RECLH2        ARE RECORD LENGTHS EQUAL A37861  15736021
         BNE   ERRL                    NO BRANCH                A37861  15738021
         LH    R5,RECLTH               GET RECORD LENGTH IN R5  A37861  15740021
         LR    R3,R5                   AND RO                   A37861  15742021
PREC     TM    PRECOMSW,1     IS THERE AN USER PRECOMP ROUTINE     VS0H 15750017
         BZ    COML           NO, BRANCH                           VS0H 15760017
         LINK  EPLOC=PARATBLZ,PARAM=((8),(5),(7),(3))              VS0H 15780017
         CH    15,EIGHT                                                 15800000
         BNH   NOTECOCD                                                 15820000
USREQTER LA    R1,25          USER REQ. TERMINATION              A44317 15860021
         L     R15,PRINCONS                                        UV0H 15880017
         BALR  R14,R15             PRINT                           UV0H 15900017
         B     NORMEND                                                  15920000
NOTECOCD CH    15,HICONCOD                                              15940000
         BL    CKVS           BRANCH IF LOW                        VS0H 15960017
         STH   15,HICONCOD                                              15980000
CKVS     TM    VSSWT,X'03'    VS-TYPE RECORDS                      VS0H 15982017
         BM    CKL            YES, BRANCH                          VS0H 15984017
         B     DOOVER         NO                                   VS0H 15986017
CKL      LH    R5,0(R8)       GET LL FIELD OF DS1 RECORD           VS0H 15988017
         LH    R3,0(R7)       GET LL FIELD OF DS2 RECORD           VS0H 15990017
COML     CR    R5,R3          ARE LL JIELD EQ                      VS0H 15992017
         BNE   ERRL           NO, BRANCH                           VS0H 15994017
DOOVER   C     5,TWOFS             IS RECLTH GREATER THAN 256 BYTES.    16000000
         BH    COMP1                 YES                                16020000
         SH    5,ONE                 NO -PLACE NO. OF BYTES TO BE       16040000
         STC   5,COMP2+1             COMPARED IN COMPARE INSTRUCTION.   16060000
COMP2    CLC   0(1,R8),0(R7)       ARE RECORDS EQUAL               VS0H 16080017
         BNE   ERRCOMP               NO                                 16100000
         TM    KEYCOMSW,1                                               16120000
         BO    REST                SET KEY ERROR COUNT BACK TO ZERO     16140000
         SR    8,8                                                      16160000
         STH   8,ERRCO                                                  16180000
ENDCOMP  LM    R2,R8,CSAVE                                         VS0H 16190017
         B     0(R3)               BRANCH                          VS0H 16200017
COMP1    CLC   0(256,R8),0(R7)     COMPARE 256 BYTES               VS0H 16220017
         BNE   ERRCOMP               NOT EQUAL                          16240000
         S     5,TWOFS             SUBTRACT 256 FROM RECORD LENGTH      16260000
         A     8,TWOFS             ADD 256 TO ADDRESSES                 16280000
         A     R7,TWOFS            IN REG 8 AND 7                  VS0H 16300017
         B     DOOVER                                                   16320000
REST     MVI   KEYERCT+1,X'00'     SET KEY ERROR COUNT BACK TO ZERO     16340000
         B     ENDCOMP        BRANCH                               VS0H 16360017
         USING IHADCB,SYMREG1                                           16410000
         DCBD  DSORG=PS                                                 16460000
DDNAMDCB EQU   DCBDDNAM-IHADCB                                          16510000
DEVTDCB  EQU   DCBDEVT-IHADCB                                           16560000
KEYLEDCB EQU   DCBKEYLE-IHADCB                                          16610000
LRECLDCB EQU   DCBLRECL-IHADCB                                          16660000
MAIN     CSECT                                                          16710000
**                                                                   ** 16861019
**   EXIT TAKEN WHEN PERMANENT INPUT ERROR OCCURRED ON SYSUT1 OR     ** 16862019
**   SYSUT2 DATA SETS                                                ** 16863019
SYNADEX  SYNADAF    ACSMETH=BSAM   GET I/O ERROR STATUS          A27718 16864019
         MVC   MYPRTARE(120),BLANKS  CLEAR OUTPUT BUFFER         A27718 16865019
         MVC   MYPRTARE(18),IOERR  MOVE MSG. NO. INTO OUTPUT BUF A27718 16866019
         MVC   MYPRTARE+19(79),49(R1) MOVE I/O ERROR STATUS INTO A27718 16867019
*                                    OUTPUT BUFFER               A27718 16868019
         LA    R0,119                NO. OF BYTES TO BE PRINTED  A27718 16869019
         LA    R1,MYPRTARE           ADDRESS OF OUTPUT BUFFER    A27718 16870019
         L     R15,MYPRTCON          GET ADDR. OF PRINT ROUTINE  A27718 16871019
         BALR  R14,R15               GO TO PRINT MSG             A27718 16872019
         SYNADRLS                  RELEASE AREAS GOT BY SYNADAF  A27718 16873019
         B     ABNOTER1              GO TO ERROR TERMINATION     A48817 16874022
*  EXIT TAKEN DURING OPEN.  CRITICAL PARAMETERS STORED.                 16880000
DCBEXIT1 LA    SYMREG1,DASET1                                           16900000
         TM    CCADSORG,1                                               16920000
         BZ    ITISBSA1                                                 16940000
         OI    DCBMACF1,X'04'                                  @YM04833 16950002
         TM    SWFORBP1,1                                               16960000
         BO    NOTFIRS1                                                 16980000
         MVI   SWFORBP1,1                                               17000000
LLD1    NOP  LLD2                                                       17020000
       MVC  KEYLTH(1),DCBKEYLE                                          17040000
LLD2   MVI  LLD1+1,X'F0'                                                17060000
         MVI   DCBKEYLE,X'00'                                           17080000
         L     8,TWOFS                                                  17100000
         STH   8,DCBBLKSI                                               17120000
         MVI   DCBRECFM,X'88'                                           17140000
         RETURN                                                         17160000
NOTFIRS1 MVI   DCBDSORG,X'02'                                           17180000
        MVC  DCBKEYLE(1),KEYLTH                                         17200000
ITISBSA1 CLC   DCBBLKSI(2),=X'0000'    BLKSIZE SPECIFIED ?       A41765 17236021
         BNE   TESTLRE1           YES, TEST LRECL                A41765 17238021
         MVC   DCBBLKSI(2),=X'0001'    NO, SET DEFAULT BLKSIZE=1 A41765 17238421
         MVC   DCBLRECL(2),=X'0001'    NO, SET DEFAULT LRECL=1   A41765 17238521
         OI    ERRDCB,X'80'       SET ERROR BIT                  A41765 17238821
TESTLRE1 TM    DCBRECFM,X'C0'     IS RECFM. UNDEF. OR NOT DEF. ? A41765 17239221
         BC    9,DCBUND1          YES, SET LRECL EQ BLKSIZE      A41765 17239621
         CLC   DCBLRECL(2),=X'0000'    LRECL SPECIFIED ?         A41765 17239721
         BNE   SAVBLKS1           YES, END OF ERROR CHECKING     A41765 17239821
         MVC   DCBLRECL(2),=X'0001'    NO, SET DEFAULT LRECL=1   A41765 17239921
         OI    ERRDCB,X'80'       SET ERROR BIT                  A41765 17253221
         B     SAVBLKS1       END OF ERROR CHECKING              A41765 17263221
DCBUND1  MVC   DCBLRECL(2),DCBBLKSI  MOVE BLKSI IN LRECL FIELD   A41765 17265221
         OI    DCBRECFM,X'C0'        SET RECFM TO U.             A41765 17265321
SAVBLKS1 MVC   MAXBLLH1+2(2),DCBBLKSI SAVE BLKSIZE PARAMETER     A41765 17265621
         MVC   RECFM1(1),DCBRECFM                                A41765 17266721
         RETURN                                                         17280000
*  EXIT TAKEN DURING OPEN.  CRITICAL PARAMETERS STORED.                 17300000
DCBEXIT2 LA    SYMREG1,DASET2                                           17320000
         TM    CCADSORG,1                                               17340000
         BZ    ITISBSA2                                                 17360000
         OI    DCBMACF1,X'04'                                  @YM04833 17370002
         TM    SWFORBP2,1                                               17380000
         BO    NOTFIRS2                                                 17400000
         MVI   SWFORBP2,1                                               17420000
         MVI   SWFORBP1,0                                               17440000
         MVC   DCBKL2(1),DCBKEYLE                                       17460000
         MVI   DCBKEYLE,X'00'                                           17480000
         L     8,TWOFS                                                  17500000
         STH   8,DCBBLKSI                                               17520000
         MVI   DCBRECFM,X'88'                                           17540000
         RETURN                                                         17560000
NOTFIRS2 MVI   DCBDSORG,X'02'                                           17580000
         MVC   DCBKEYLE(1),DCBKL2                                       17600000
ITISBSA2 CLC   DCBBLKSI(2),=X'0000'    BLKSIZE SPECIFIED ?       A41765 17636021
         BNE   TESTLRE2           YES, TEST LRECL                A41765 17638021
         MVC   DCBBLKSI(2),=X'0001'    NO, SET DEFAULT BLKSIZE=1 A41765 17638421
         MVC   DCBLRECL(2),=X'0001'    NO, SET DEFAULT LRECL=1   A41765 17638521
         OI    ERRDCB,X'80'       SET ERROR BIT                  A41765 17638821
TESTLRE2 TM    DCBRECFM,X'C0'     IS RECFM. UNDEF. OR NOT DEF. ? A41765 17639221
         BC    9,DCBUND2          YES, SET LRECL EQ BLKSIZE      A41765 17639621
         CLC   DCBLRECL(2),=X'0000'    LRECL SPECIFIED ?         A41765 17639721
         BNE   SAVBLKS2           YES, END OF ERROR CHECKING     A41765 17639821
         MVC   DCBLRECL(2),=X'0001'    NO, SET DEFAULT LRECL=1   A41765 17639921
         OI    ERRDCB,X'80'       SET ERROR BIT                  A41765 17653221
         B     SAVBLKS2       END OF ERROR CHECKING              A41765 17663221
DCBUND2  MVC   DCBLRECL(2),DCBBLKSI  MOVE BLKSI IN LRECL FIELD   A41765 17665221
         OI    DCBRECFM,X'C0'        SET RECFM TO U.             A41765 17665321
SAVBLKS2 MVC   MAXBLLH2+2(2),DCBBLKSI SAVE BLKSIZE PARAMETER     A41765 17665621
         MVC   RECFM2(1),DCBRECFM                                A41765 17666721
         RETURN                                                         17680000
INHDEXT1 L     R2,ADULAB                                           UL0H 17710017
         MVI   LABSW,X'01'    SET LABSW TO IND. IN SYSUT1 HD PROC  UL0H 17740017
         B     0(R2)               GO TO IEBCULET                  UL0H 17770017
INHDEXT2 L     R2,ADULAB                                           UL0H 17800017
         MVI   LABSW,X'02'    SET LABSW TO IND. IN SYSUT2 HD PROC  UL0H 17830017
         B     0(R2)               GO TO IEBCULET                  UL0H 17860017
INTLEXT1 L     R2,ADULAB                                           UL0H 17890017
         MVI   LABSW,X'04'    SET LABSW TO IND. IN SYSUT1 TL PROC  UL0H 17920017
         B     0(R2)               GO TO IEBCULET                  UL0H 17950017
INTLEXT2 L     R2,ADULAB                                           UL0H 17980017
         MVI   LABSW,X'08'    SET LABSW TO IND. IN SYSUT2 TL PROC  UL0H 18010017
         B     0(R2)               GO TO IEBCULET                  UL0H 18040017
INEOD1   NI    DASET1+44,X'00'                                          18080000
         MVI   EOD1SW,1                                                 18140000
         MVI   NOEXTSW,X'00'  RE-INIT NO EXIT TO LAB PROC. RTN SW  UL0H 18150017
         TM    EOD2SW,1                                                 18160000
         BO    PICKNEX1                                                 18180000
         TM    BUFSW2,1            DOES BUFF2 HAVE RECORDS LEFT         18200000
         BZ    PRTLOG2               YES BRANCH                         18220000
READEXT2 SR    6,6                 ZERO REG6                            18240000
         L     8,BUFF2             LOAD BUFF2 ADDRESS                   18260000
         READ DECB2A,SF,DASET2,(8),'S',MF=E                             18280000
         CHECK DECB2A                                                   18300000
         TM    TERMSW,X'01'   DID USER INHDR/INTLR REQUEST TERM.   UL0H 18306017
         BO    USREQTE2       YES, BRANCH                          UL0H 18313017
         L     8,MAXBLLH2          LOAD MAXIMUM BLOCK SIZE              18320000
         LA    9,DASET2            GET DCB ADDRESS                      18340000
         TM    DEVTDCB(9),X'20'    IS THIS A DIRECT ACCESS DEVICE       18360000
         BO    INKEYEX2              YES BRANCH                         18380000
OFAG     L     9,DECB2A+16         GET IOB ADDRESS                      18400000
         LH    9,14(9)             OBTAIN CSW RESIDUAL COUNT            18420000
         SR    8,9                 GET NO. OF BYTES READ IN REG8        18440000
         STH   8,BLKLTH2           STORE ACTUAL BLOCK LENGTH            18460000
PRTLOG2  MVI   HICONCOD+1,8        PLACE RETURN CODE                    18480000
         LA    1,23                PRINT EXTRA RECORD MESSAGE           18500000
         L     15,PRINCONS         PRINT EXTRA RECORD MESSAGE           18520000
         BALR  14,15               PRINT EXTRA RECORD MESSAGE           18540000
         MVC   MYPRTARE(120),BLANKS    RIPPLE BLANKS IN PRINT AREA      18560000
         MVC   MYPRTARE+4(9),NAMEDDCN   MOVE "DDNAME = " CONSTANT       18580000
         MVC   MYPRTARE+13(8),NAMEDD2   MOVE ACTUAL DDNAME              18600000
         TM    CCADSORG,1               IS THIS A PDS                   18620000
         BZ    GO1                        NO BRANCH                     18640000
         MVC   MYPRTARE+23(14),MEMRNAME MOVE "MEMNAME = " CONSTANT      18660000
         MVC   MYPRTARE+37(8),FINDAREA  MOVE ACTUAL MEMBER NAME         18680000
GO1      LA    0,119                    PRINT LINE                      18700000
         LA    1,MYPRTARE               PRINT LINE                      18720000
         L     15,MYPRTCON              PRINT LINE                      18740000
         BALR  14,15                    PRINT LINE                      18760000
         LH    7,BLKLTH2                GET BLOCK SIZE                  18780000
         SR    7,6                      SUBTRACT LOGICAL RECS USED      18800000
         MVC   INPUTLOC(4),BUFF2        PUT ADDR FOR BLPRT SUBROUTINE   18820000
         LR    5,6                      SET RELATIVE POINTER FOR SUBROU 18840000
         BAL   4,BLPRT                  SUBROU-CONVERT AND PRINT HEX    18860000
         B     READEXT2                 ANYMORE EXTRA RECORDS           18880000
INKEYEX2 SR    15,15               CLEAR REG15                          18900000
         IC    15,DCBKL2+3         GET KEY LENGTH FOR DATA SET 2        18920000
         AR    8,15                ADD KEY LENGTH TO BLOCK SIZE         18940000
         B     OFAG                                                     18960000
PICKNEX1 TM    CCADSORG,1                                               18980000
         BZ    BEFNREND       NO, BRANCH                           UL0H 19000017
         B     GETMEMB                                                  19020000
INEOD2   NI    DASET2+44,X'00'                                          19040000
         MVI   EOD2SW,1                                                 19100000
         MVI   NOEXTSW,X'00'  RE-INIT NO EXIT TO LAB PROC. RTN SW  UL0H 19110017
         TM    EOD1SW,1                                                 19120000
         BO    PICKNEX2                                                 19140000
         TM    BUFSW1,X'10'       TEST SYSUT1 JUST READ SWITCH          19160000
         BO    PRTLOG1            YES PRINT EXTRA RECORDS        A38747 19180021
         TM    BUFSW1,1            DOES BUFF1 HAVE RECORDS LEFT         19200000
         BZ    PRTLOG1               YES BRANCH                         19220000
READEXT1 SR    4,4                 ZERO REG4                            19240000
         L     8,BUFF1             GET BUFF1 ADDRESS                    19260000
         READ  DECB1A,SF,DASET1,(8),'S',MF=E                            19280000
         CHECK DECB1A                                                   19300000
         TM    TERMSW,X'01'   DID USER INHDR/INTLR REQUEST TERM.   UL0H 19306017
         BO    USREQTE2       YES, BRANCH                          UL0H 19313017
         L     8,MAXBLLH1         LOAD MAXIMUM BLOCK SIZE               19320000
         LA    9,DASET1            LOAD DCB ADDRESS                     19340000
         TM    DEVTDCB(9),X'20'    IS THIS A DIRECT ACCESS DEVICE       19360000
         BO    INKEYEX1              YES BRANCH                         19380000
OFAGG    L     9,DECB1A+16         GET IOB ADDRESS                      19400000
         LH    9,14(9)             OBTAIN CSW RESIDUAL COUNT            19420000
         SR    8,9                 GET NO. OF BYTES READ IN REG8        19440000
         STH   8,BLKLTH1           STORE ACTUAL BLOCK LENGTH            19460000
PRTLOG1  MVI   HICONCOD+1,8        PLACE RETURN CODE                    19480000
         LA    1,24                PRINT EXTRA RECORD MESSAGE           19500000
         L     15,PRINCONS         PRINT EXTRA RECORD MESSAGE           19520000
         BALR  14,15               PRINT EXTRA RECORD MESSAGE           19540000
         MVC   MYPRTARE(120),BLANKS    RIPPLE BLANKS IN PRINT AREA      19560000
         MVC   MYPRTARE+4(9),NAMEDDCN   MOVE "DDNAME = " CONSTANT       19580000
         MVC   MYPRTARE+13(8),NAMEDD1   MOVE ACTUAL DDNAME              19600000
         TM    CCADSORG,1               IS THIS A PDS                   19620000
         BZ    GO2                   NO BRANCH                          19640000
         MVC   MYPRTARE+23(14),MEMRNAME  MOVE "MEMNAME = " CONSTANT     19660000
         MVC   MYPRTARE+37(8),FINDAREA   MOVE ACTUAL MEMBER NAME        19680000
GO2      LA    0,119                    PRINT LINE                      19700000
         LA    1,MYPRTARE               PRINT LINE                      19720000
         L     15,MYPRTCON              PRINT LINE                      19740000
         BALR  14,15                    PRINT LINE                      19760000
         LH    7,BLKLTH1                GET BLOCK SIZE                  19780000
         SR    7,4                      SUBTRACT LOGICAL RECS USED      19800000
         MVC   INPUTLOC(4),BUFF1        PUT ADDR FOR BLPRT SUBROUTINE   19820000
         LR    5,4                      SET RELATIVE PTR FOR SUBROUTINE 19840000
         BAL   4,BLPRT             SUBROU-CONVERT AND PRINT HEX         19860000
         B     READEXT1            ANYMORE EXTRA RECORDS                19880000
INKEYEX1 L     15,KEYLTH           GET KEY LENGTH                       19900000
         AR    8,15                ADD KEY LENGTH TO BLOCK SIZE         19920000
         B     OFAGG                                                    19940000
PICKNEX2 TM    CCADSORG,1                                               19960000
         BZ    BEFNREND       NO, BRANCH                           UL0H 19980017
         B     GETMEMB                                                  20000000
*********************************************************************** 20001017
*        INITIALIZATION FOR USER INPUT TRAILER LABEL COMPARISON.      * 20002017
*********************************************************************** 20003017
BEFNREND TM    UEXIT,X'01'    HAS OPEN TAKEN USER LAB EXITS        UL0H 20004017
         BZ    NORMEND        NO, BRANCH                           UL0H 20005017
         MVI   LBSW,X'01'     SET SW TO IND. WILL GO FOR INPUT TL  UL0H 20006017
*                             LABEL COMPARISON.                         20007017
         MVC   CTR1(4),INTLCT1 SET CTR1 EQ NO. OF INPUT TRAILER LABUL0H 20008017
*                              PROCESSED FOR SYSUT1                     20009017
         MVC   CTR2(4),INTLCT2 SET CTR2 EQ NO. OF INPUT TRAILER LABUL0H 20010017
*                              PROCESSED FOR SYSUT2                     20011017
         MVC   SAREA1(4),INTL1 SAREA1 HAS ADDR. OF SYSUT1 INPUT TL UL0H 20012017
*                              LABEL SAVEAREA                           20013017
         MVC   SAREA2(4),INTL2 SAREA2 HAS ADDR. OF SYSUT2 INPUT TL UL0H 20014017
*                              LABEL SAVEAREA                           20015017
         MVC   LABMSG1+6(7),TL  INITIALIZE MESSAGE                 UL0H 20016017
         BAL   R9,LABPROC     BRANCH                               UL0H 20017017
         B     NORMEND        BRANCH                               UL0H 20018017
ABNOTERM L     R15,PRINCONS            LOAD PRINT MODULE         A48817 20018400
         BALR  R14,R15                PRINT MESSAGE              A48817 20018800
ABNOTER1 MVI   HICONCOD+1,12          SET COND. CODE             A48817 20020022
NORMEND  TM    VSSWT,X'02'    VS RECORD PROCESSED BY IEBCQSAM      VS0H 20026017
         BZ    NORMEND1       NO, BRANCH                           VS0H 20032017
         L     R2,DSET1       LOAD SYSUT1 DCB ADDRESS              VS0H 20038017
         L     R3,DSET2       LOAD SYSUT2 DCB ADDRESS              VS0H 20044017
         B     CFILE          BRANCH                               VS0H 20050017
NORMEND1 LA    R2,DASET1      LOAD SYSUT1 DCB ADDRESS              VS0H 20056017
         LA    R3,DASET2      LOAD SYSUT2 DCB ADDRESS              VS0H 20062017
CFILE    CLOSE ((R2))                  CLOSE NORMAL            @YA02529 20068002
         CLOSE ((R3))                  CLOSE NORMAL            @YA02529 20073002
         TM    VSSWT,X'02'    QSAM HAS BEEN USED FOR PROCESS     A27718 20078019
         BZ    FMSG                  IF NOT, BRANCH              A27718 20082019
         FREEPOOL  (2)                YES, FREEPOOL  SYSUT1      A27718 20086000
         FREEPOOL  (3)                YES, FREEPOOL  SYSUT2      A27718 20088000
FMSG     MVC   MYPRTARE(120),BLANKS  RIPPLE BLANKS IN PRINT AREA A27718 20094019
         MVC   MYPRTARE+4(46),EOJMESS                                   20100000
         TM    VSSWT,X'01'    VS RECORD PROC.AT PHYS. RCD LEVEL    VS0H 20108017
         BO    PHSCOV         YES, BRANCH                          VS0H 20116017
         L     R1,LORECO      LOAD TOTAL NO. OF LOGICAL RCD PROC.  VS0H 20124017
         B     CVTD                                                VS0H 20132017
PHSCOV   L     R1,PHRECO1     LOAD TOTAL NO. OF PHYS. RCD PROC.    VS0H 20141017
CVTD     CVD   R1,CONVTDEC                                         VS0H 20150017
         UNPK  PTAREA(8),CONVTDEC(8)                                    20160000
         OI    PTAREA+7,X'F0'                                           20180000
         MVC   MYPRTARE+50(8),PTAREA                                    20200000
         LA    0,119                                                    20220000
         LA    1,MYPRTARE                                               20240000
         L     15,MYPRTCON                                              20260000
         BALR  14,15                                                    20280000
         LA    7,PRINTOUT                                               20300000
         CLOSE ((7))                                                    20320000
         FREEPOOL (7)               FREEPOOL SYSPRINT DCB        A50947 20320421
         TM    EXIT1SW,X'01'  IS THERE AN USER INHDR               UL0H 20321017
         BZ    DELET1         NO,BRANCH                            UL0H 20322017
         DELETE  EPLOC=PARALIST    YES, DELETE USER INHDR          UL0H 20323017
DELET1   TM    EXIT3SW,X'01'  IS THERE AN USER INTLR               UL0H 20324017
         BZ    DELET2         NO, BRANCH                           UL0H 20325017
         DELETE  EPLOC=PARALIST+8    YES,DELETE USER INTLR         UL0H 20326017
DELET2   TM    ERRORSW,X'01'  IS THERE AN USER ERROR ROUTINE       UL0H 20327017
         BZ    DELET3         NO, BRANCH                           UL0H 20328017
         DELETE  EPLOC=PARALIST+16   YES, DELETE USER ERROR RTN    UL0H 20329017
DELET3   TM    PRECOMSW,X'01' IS THERE AN USER PRECOMP ROUTINE     UL0H 20330017
         BZ    FREE1          NO, BRANCH                           UL0H 20331017
         DELETE  EPLOC=PARALIST+24   YES, DELETE USER PRECOMP      UL0H 20332017
FREE1    L     R1,INHD1       GET ADDR OF SYSUT1 INHD LAB SAVEAREA UL0H 20333017
         LTR   R1,R1          IS IT ZERO                           UL0H 20334017
         BC    8,FREE2        YES, BRANCH                          UL0H 20335017
         FREEMAIN R,LV=640,A=(R1)                                  UL0H 20336017
FREE2    L     R1,INHD2       GET ADDR OF SYSUT2 INHD LAB SAVEAREA UL0H 20337017
         LTR   R1,R1          IS IT ZERO                           UL0H 20338017
         BC    8,FREE3        YES, BRANCH                          UL0H 20339017
         FREEMAIN  R,LV=640,A=(R1)                                 UL0H 20340017
FREE3    L     R1,INTL1       GET ADDR OF SYSUT1 INTL LAB SAVEAREA UL0H 20341017
         LTR   R1,R1          IS IT ZERO                           UL0H 20342017
         BC    8,FREE4        YES, BRANCH                          UL0H 20343017
         FREEMAIN  R,LV=640,A=(R1)                                 UL0H 20344017
FREE4    L     R1,INTL2       GET ADDR OF SYSUT2 INTL LAB SAVEAREA UL0H 20345017
         LTR   R1,R1          IS IT ZERO                           UL0H 20346017
         BC    8,FREE5        YES, BRANCH                          VS0H 20347017
         FREEMAIN R,LV=640,A=(R1)                                  UL0H 20348017
FREE5    L     R1,BUFF1                                            VS0H 20349017
         LTR   R1,R1          WAS BUFFER GOTTEN FOR SYSUT1         VS0H 20350017
         BC    8,FREE6        NO, BRANCHH                          VS0H 20351017
         L     R0,LBUFF1      YES, GET THE LENGTH OF BUFFER        VS0H 20352017
         FREEMAIN  R,LV=(R0),A=(R1)                                UL0H 20353017
FREE6    L     R1,BUFF2                                            VS0H 20354017
         LTR   R1,R1          WAS BUFFER GOTTEN FOR SYSUT2         VS0H 20355017
         BC    8,GOBACK       NO, BRANCH                           VS0H 20356017
         L     R0,LBUFF2      TES, GET THE LENGTH OF BUFFER        VS0H 20357017
         FREEMAIN  R,LV=(R0),A=(R1)                                UL0H 20358017
GOBACK   LM    13,14,SAVE1315                                           20360000
         LH    R15,HICONCOD                                        UV0H 20370017
         RETURN (2,12)                                                  20380000
EOJMESS  DC    CL32'END OF JOB-TOTAL NUMBER OF RECOR'                   20400000
         DC    CL14'DS COMPARED = '                                     20420000
ERRCOMUD LA    1,5                 USER DATA COMPARISON FAILURE         20440000
         L     15,PRINCONS                                              20460000
         BALR  14,15                                                    20480000
         MVI   HICONCOD+1,8        ERROR MESSAGE HAS BEEN WRITTEN       20500000
         MVC   MYPRTARE(120),BLANKS    RIPPLE BLANKS IN PRINT AREA      20520000
         MVC   MYPRTARE+4(9),NAMEDDCN                                   20540000
         MVC   MYPRTARE+13(8),NAMEDD1                                   20560000
         MVC   MYPRTARE+23(14),MEMRNAME                                 20580000
         L     8,BUFF1                                                  20600000
         AR    8,4                                                      20620000
         MVC   MYPRTARE+37(8),0(8)                                      20640000
         LA    0,119                                                    20660000
         LA    1,MYPRTARE                                               20680000
         L     15,MYPRTCON                                              20700000
         BALR  14,15                                                    20720000
         LH    7,USERDAL                                                20740000
         LR    5,4                                                      20760000
         AH    5,TWELVE                                                 20780000
         MVC   INPUTLOC(4),BUFF1                                        20800000
         STM   2,4,SAVEREG2                                             20820000
         BAL   4,BLPRT1            BRANCH TO CONVERT USER DATA          20840000
         LM    2,4,SAVEREG2                                             20860000
         MVC   MYPRTARE(120),BLANKS    RIPPLE BLANKS IN PRINT AREA      20880000
         MVC   MYPRTARE+4(9),NAMEDDCN                                   20900000
         MVC   MYPRTARE+13(8),NAMEDD2                                   20920000
         MVC   MYPRTARE+23(14),MEMRNAME                                 20940000
         L     8,BUFF2             LOAD BUFFER2 ADDRESS                 20960000
         AR    8,6                 MOVE POINTER TO POINT AT MEMBER NAME 20980000
         MVC   MYPRTARE+37(8),0(8)                                      21000000
         LA    0,119                                                    21020000
         LA    1,MYPRTARE                                               21040000
         L     15,MYPRTCON                                              21060000
         BALR  14,15                                                    21080000
         LH    7,USERDAL2                                               21100000
         LR    5,6                                                      21120000
         AH    5,TWELVE                                                 21140000
         MVC   INPUTLOC(4),BUFF2                                        21160000
         STM   2,4,SAVEREG2                                             21180000
         BAL   4,BLPRT1            BRANCH TO CONVERT USER DATA          21200000
         LM    2,4,SAVEREG2                                             21220000
         B     RETERRCU                                                 21240000
PRNAL1   LA    1,6                 ALIAS MISSING FROM SET 2             21260000
         L     15,PRINCONS                                              21280000
         BALR  14,15                                                    21300000
         MVI   HICONCOD+1,8        ERROR MESSAGE HAS BEEN WRITTEN       21320000
         MVC   MYPRTARE(120),BLANKS    RIPPLE BLANKS IN PRINT AREA      21340000
         MVC   MYPRTARE+4(9),NAMEDDCN                                   21360000
         MVC   MYPRTARE+13(8),NAMEDD2                                   21380000
         MVC   MYPRTARE+23(14),ALIANAME                                 21400000
         MVC   MYPRTARE+37(8),0(8)                                      21420000
         LA    0,119                                                    21440000
         LA    1,MYPRTARE                                               21460000
         L     15,MYPRTCON                                              21480000
         BALR  14,15                                                    21500000
         B     RETFRPR1                                                 21520000
PRNTN1   LA    1,7                 TRUE NAME MISSING FROM SET 2         21540000
         L     15,PRINCONS                                              21560000
         BALR  14,15                                                    21580000
         MVI   HICONCOD+1,8        ERROR MESSAGE HAS BEEN WRITTEN       21600000
         MVC   MYPRTARE(120),BLANKS    RIPPLE BLANKS IN PRINT AREA      21620000
         MVC   MYPRTARE+4(9),NAMEDDCN                                   21640000
         MVC   MYPRTARE+13(8),NAMEDD2                                   21660000
         MVC   MYPRTARE+23(14),MEMRNAME                                 21680000
         L     8,BUFF1                                                  21700000
         AR    8,4                                                      21720000
         MVC   MYPRTARE+37(8),0(8)                                      21740000
         LA    0,119                                                    21760000
         LA    1,MYPRTARE                                               21780000
         L     15,MYPRTCON                                              21800000
         BALR  14,15                                                    21820000
         B     RETFRPR1                                                 21840000
PRNAL2   LA    1,8                 ALIAS MISSING FROM SET 1             21860000
         L     15,PRINCONS                                              21880000
         BALR  14,15                                                    21900000
         MVI   HICONCOD+1,8        ERROR MESSAGE HAS BEEN WRITTEN       21920000
         MVC   MYPRTARE(120),BLANKS    RIPPLE BLANKS IN PRINT AREA      21940000
         MVC   MYPRTARE+4(9),NAMEDDCN                                   21960000
         MVC   MYPRTARE+13(8),NAMEDD1                                   21980000
         MVC   MYPRTARE+23(14),ALIANAME                                 22000000
         MVC   MYPRTARE+37(8),0(8)                                      22020000
         LA    0,119                                                    22040000
         LA    1,MYPRTARE                                               22060000
         L     15,MYPRTCON                                              22080000
         BALR  14,15                                                    22100000
         B     DIRBUF2S                                                 22120000
PRNTN2   LA    1,9                 TRUE NAME MISSING FROM SET 1         22140000
         L     15,PRINCONS                                              22160000
         BALR  14,15                                                    22180000
         MVI   HICONCOD+1,8        ERROR MESSAGE HAS BEEN WRITTEN       22200000
         MVC   MYPRTARE(120),BLANKS    RIPPLE BLANKS IN PRINT AREA      22220000
         MVC   MYPRTARE+4(9),NAMEDDCN                                   22240000
         MVC   MYPRTARE+13(8),NAMEDD1                                   22260000
         MVC   MYPRTARE+23(14),MEMRNAME                                 22280000
         L     9,BUFF2                                                  22300000
         AR    9,6                                                      22320000
         MVC   MYPRTARE+37(8),0(9)                                      22340000
         LA    0,119                                                    22360000
         LA    1,MYPRTARE                                               22380000
         L     15,MYPRTCON                                              22400000
         BALR  14,15                                                    22420000
         B     DIRBUF2S                                                 22440000
BOSETTNM LA    1,10                TRUE NAMES MISSING- BOTH SETS        22460000
         B     ABNOTERM                                                 22520000
ERRKEY   LA    1,11                KEY LENGTHS ARE NOT EQUAL            22540000
         B     ABNOTERM                                                 22600000
ERRFMT   LA    1,12                ILLEGAL RECORD FORMAT                22620000
         B     ABNOTERM                                                 22680000
ERRMELEN LA    1,14                FIXED RECORD LENGTHS UNEQUAL         22780000
         B     ABNOTERM                                                 22840000
ERRFMT2  LA    1,15                SETS HAVE DIFFERENT FORMATS          22860000
         B     ABNOTERM                                                 22920000
ERRMRET1 LA    R1,17          INVALID LRECL ON V-TYPE RECORD     A26556 22980019
         B     ABNOTERM                                                 23080000
ERRMRET2 LA    1,18                ERROR RETURN FROM FIND MACRO         23100000
         B     ABNOTERM                                                 23160000
INPERR   LA    R1,19          INVALID BLKSI ON V-TYPE RECORD     A26556 23180019
         B     ABNOTERM                                                 23240000
ERRL     TM    VSSWT,X'01'    VS-TYPE RCD PROC BY BSAM             VS0H 23242017
         BO    ERRPL          YES, BRANCH                          VS0H 23244017
         LA    R1,55          CORRESP LITTLE LL NOT EQ             VS0H 23246017
         B     WRTMSG         BRANCH                               VS0H 23248017
ERRPL    LA    R1,54          CORRESP. LL NOT EQ                   VS0H 23250017
WRTMSG   L     R15,PRINCONS                                        VS0H 23252017
         BALR  R14,R15             PRINT                           VS0H 23254017
         CLI   HICONCOD+1,X'08'    RC ALREADY GT 8 ?           @ZA10944 23256000
         BH    *+8                 YES, IGNORE NEW RC          @ZA10944 23256400
         MVI   HICONCOD+1,X'08'    SET RC=08                   @ZA10944 23256800
         B     ERRECLTH       BRANCH                               VS0H 23257017
ERRLEREC LA    1,20                RECORD LENGTHS ARE UNEQUAL           23260000
         B     ABNOTERM                                                 23320000
ERRCOMP  TM    KEYCOMSW,1                                               23340000
         MVI   HICONCOD+1,8        ERROR MESSAGE HAS BEEN WRITTEN       23360000
         BO    SETBK                                                    23380000
         LA    1,21                RECORDS ARE NOT EQUAL                23400000
         L     15,PRINCONS                                              23420000
         BALR  14,15                                                    23440000
ERRECLTH MVC   MYPRTARE(120),BLANKS                                VS0H 23460017
         MVC   MYPRTARE+4(9),NAMEDDCN                                   23480000
         MVC   MYPRTARE+13(8),NAMEDD1                                   23500000
         TM    CCADSORG,1                                               23520000
         BZ    PRNBSRE1                                                 23540000
         MVC   MYPRTARE+23(14),MEMRNAME                                 23560000
         MVC   MYPRTARE+37(8),FINDAREA                                  23580000
PRNBSRE1 LA    0,119                                                    23600000
         LA    1,MYPRTARE                                               23620000
         L     15,MYPRTCON                                              23640000
         BALR  14,15                                                    23660000
         MVC   MYPRTARE(120),BLANKS    RIPPLE BLANKS IN PRINT AREA      23680000
         TM    VSSWT,X'02'    WAS DATA SET PROCESSED BY QSAM       VS0H 23686017
         BO    PRNLSER1       YES, BRANCH                          VS0H 23692017
         MVC   MYPRTARE+4(25),PHYSRENU                                  23700000
         L     1,PHRECO1                                                23720000
         CVD   1,CONVTDEC                                               23740000
         UNPK  PTAREA(8),CONVTDEC(8)                                    23760000
         OI    PTAREA+7,X'F0'                                           23780000
         MVC   MYPRTARE+29(8),PTAREA                                    23800000
         MVC   MYPRTARE+39(47),LOGWIPHY                                 23820000
         LH    1,LOREPP1                                                23840000
         CVD   1,CONVTDEC                                               23860000
         UNPK  PTAREA(8),CONVTDEC(8)                                    23880000
         OI    PTAREA+7,X'F0'                                           23900000
         MVC   MYPRTARE+86(8),PTAREA                                    23920000
         B     PRTN1          BRANCH                               VS0H 23924017
PRNLSER1 MVC   MYPRTARE+4(22),LOGWIPHY                             VS0H 23927017
         MVC   MYPRTARE+26(2),EQSIGN                               VS0H 23930017
         L     R1,LORECO                                           VS0H 23933017
         AH    R1,ONE                                              VS0H 23936017
         CVD   R1,CONVTDEC                                         VS0H 23939017
         UNPK  PTAREA(8),CONVTDEC(8)                               VS0H 23942017
         OI    PTAREA+7,X'F0'                                      VS0H 23945017
         MVC   MYPRTARE+29(8),PTAREA                               VS0H 23948017
PRTN1    LA    R0,119                                              VS0H 23951017
         LA    1,MYPRTARE                                               23960000
         L     15,MYPRTCON                                              23980000
         BALR  14,15                                                    24000000
         LH    7,RECLTH                                                 24020000
         MVC   INPUTLOC(4),BUFF1                                        24040000
         LR    5,4                                                      24100000
PRBUF1   STM   2,4,SAVEREG2                                             24120000
         BAL   4,BLPRT                                                  24140000
         LM    2,4,SAVEREG2                                             24160000
         MVC   MYPRTARE(120),BLANKS    RIPPLE BLANKS IN PRINT AREA      24180000
         MVC   MYPRTARE+4(9),NAMEDDCN                                   24200000
         MVC   MYPRTARE+13(8),NAMEDD2                                   24220000
         TM    CCADSORG,1                                               24240000
         BZ    PRNBSRE2                                                 24260000
         MVC   MYPRTARE+23(14),MEMRNAME                                 24280000
         MVC   MYPRTARE+37(8),FINDAREA                                  24300000
PRNBSRE2 LA    0,119                                                    24320000
         LA    1,MYPRTARE                                               24340000
         L     15,MYPRTCON                                              24360000
         BALR  14,15                                                    24380000
         MVC   MYPRTARE(120),BLANKS    RIPPLE BLANKS IN PRINT AREA      24400000
         TM    VSSWT,X'02'    WAS DATA SET PROCESSED BY QSAM       VS0H 24406017
         BO    PRNLSER2       YES, BRANCH                          VS0H 24412017
         MVC   MYPRTARE+4(25),PHYSRENU                                  24420000
         L     1,PHRECO2                                                24440000
         CVD   1,CONVTDEC                                               24460000
         UNPK  PTAREA(8),CONVTDEC(8)                                    24480000
         OI    PTAREA+7,X'F0'                                           24500000
         MVC   MYPRTARE+29(8),PTAREA                                    24520000
         MVC   MYPRTARE+39(47),LOGWIPHY                                 24540000
         LH    1,LOREPP2                                                24560000
         CVD   1,CONVTDEC                                               24580000
         UNPK  PTAREA(8),CONVTDEC(8)                                    24600000
         OI    PTAREA+7,X'F0'                                           24620000
         MVC   MYPRTARE+86(8),PTAREA                                    24640000
         B     PRTN2          BRANCH                               VS0H 24644017
PRNLSER2 MVC   MYPRTARE+4(22),LOGWIPHY                             VS0H 24647017
         MVC   MYPRTARE+26(2),EQSIGN                               VS0H 24650017
         L     R1,LORECO                                           VS0H 24653017
         AH    R1,ONE                                              VS0H 24656017
         CVD   R1,CONVTDEC                                         VS0H 24659017
         UNPK  PTAREA(8),CONVTDEC(8)                               VS0H 24662017
         OI    PTAREA+7,X'F0'                                      VS0H 24665017
         MVC   MYPRTARE+29(8),PTAREA                               VS0H 24668017
PRTN2    LA    R0,119                                              VS0H 24671017
         LA    1,MYPRTARE                                               24680000
         L     15,MYPRTCON                                              24700000
         BALR  14,15                                                    24720000
         LH    7,RECLH2            LOAD LOGICAL RECORD LENGTH           24740000
         MVC   INPUTLOC(4),BUFF2                                        24760000
         LR    5,6                                                      24820000
PRBUF2   STM   2,4,SAVEREG2                                             24840000
         BAL   4,BLPRT                                                  24860000
         LM    2,4,SAVEREG2                                             24880000
         TM    ERRORSW,1           IS THERE A USER ERROR ROUTINE        24900000
         BZ    ADD1ERRC              NO                                 24920000
         LINK  EPLOC=PARATBLY,PARAM=(DASET1,DASET2)                     24940000
         CH    15,EIGHT                                                 24960000
         BNH   PRNEXCOM                                                 24980000
         L     3,LORECO                                                 25000000
         AH    3,ONE                                                    25020000
         ST    3,LORECO                                                 25040000
         LA    1,25               USER REQUESTED TERMINATION       SA0I 25060018
         STH   15,HICONCOD     STORE USERS RETURN CODE                  25080000
         L     15,PRINCONS                                              25100000
         BALR  14,15                                                    25120000
         B     NORMEND                                                  25140000
PRNEXCOM CH    15,HICONCOD                                              25160000
         BL    ENDCOMP                                             VS0H 25180017
         STH   15,HICONCOD                                              25200000
         B     ENDCOMP        BRANCH                               VS0H 25220017
ADD1ERRC LH    7,ERRCO                                                  25240000
         AH    7,ONE                                                    25260000
         STH   7,ERRCO                                                  25280000
COM10    CH    7,TEN               TEN CONSECUTIVE ERRORS               25300000
         BNE   ENDCOMP                                             VS0H 25320017
         TM    CCADSORG,1                                               25340000
         BZ    TERM10                                                   25360000
         LA    1,27                TEN CONSECUTIVE ERRORS- CONTINUE     25380000
         L     15,PRINCONS                                              25400000
         BALR  14,15                                                    25420000
         MVI   ERRCO+1,0                                                25440000
         L     3,LORECO                                                 25460000
         AH    3,ONE                                                    25480000
         ST    3,LORECO                                                 25500000
         B     GETMEMB                                                  25520000
TERM10   L     3,LORECO            GET LOGICAL RECORD COUNT             25540000
         LA    3,1(3)              ADD 1 TO RECORD COUNT                25560000
         ST    3,LORECO            STORE LOGICAL RECORD COUNT           25580000
         LA    1,27               LOAD RELATIVE ADDR OF MESSAGE    SA0I 25600018
         B     ABNOTERM                                                 25660000
SETBK    LA    1,22                KEYS ARE NOT EQUAL                   25680000
         L     15,PRINCONS                                              25700000
         BALR  14,15                                                    25720000
         MVC   MYPRTARE(120),BLANKS    RIPPLE BLANKS IN PRINT AREA      25740000
         MVC   MYPRTARE+4(25),PHYSRENU   MOVE MESSAGE                   25760000
         L     1,PHRECO1                 LOAD NUMBER OF PHY. RECORDS    25780000
         CVD   1,CONVTDEC                                               25800000
         UNPK  PTAREA(8),CONVTDEC(8)                                    25820000
         OI    PTAREA+7,X'F0'                                           25840000
         MVC   MYPRTARE+29(8),PTAREA     NOW ACTUAL NUMBER IN PRINT AR. 25860000
         LA    0,119                     GO PRINT MESSAGE               25880000
         LA    1,MYPRTARE                                               25900000
         L     15,MYPRTCON                                              25920000
         BALR  14,15                                                    25940000
         LH    7,KEYERCT           ADD 1 TO COUNT OF CONSECUTIVE NON    25960000
         LA    7,1(7)                COMPARES OF KEYS                   25980000
         STH   7,KEYERCT                                                26000000
         B     COM10                                                    26020000
NOTOPEN  L     15,NODDNAM         LOAD ADDR OF MESSAGE                  26040000
         MVC   7(8,15),DDNAMDCB(1)     MOVE DDNAME INTO MESSAGE         26060000
         LA    1,29               GO PRINT MESSAGE                      26080000
         L     15,PRINCONS                                              26100000
         BALR  14,15                                                    26120000
         MVI   HICONCOD+1,X'12'     LOAD RETURN CODE OF TWELVE   A44317 26140021
         B     GOBACK             RESTORE REGS AND RETURN               26160000
STOREC2  MVC   RECLH2(2),RECLTH   MAKE SURE SME LENGTH RECORDS          26300000
         B     ACTUCOMP           GO COMPARE RECORDS                    26320000
*********************************************************************** 26340000
*   THIS ROUTINE PRINTS OUT A CHARACTER REPRESENTATION OF INTERNAL      26360000
* HEXADECIMAL DATA (I.E. 60 INTERNAL BYTES APPEAR AS 120 EBCDIC         26380000
* CHARACTERS)                                                           26400000
BLPRT1   LTR   7,7                 IS THERE ANY USER DATA               26420000
         BC    8,JUSPR               NO-BRANCH                          26440000
BLPRT    MVC   MYPRTARE(120),BLANKS    RIPPLE BLANKS IN PRINT AREA      26460000
         L     RLOC,INPUTLOC       INITIALIZE                           26480000
         AR    RLOC,5                CONVERSION                         26500000
         LA    ROUT,MYPRTARE           ROUTINE                          26520000
         C     7,SIXTY                                                  26540000
         BH    GRTHSXTY                                                 26560000
         LR    INLEN,7                                                  26580000
         B     BALTOCON                                                 26600000
GRTHSXTY L     INLEN,SIXTY                                              26620000
         MVI   CONVSW,1                                                 26640000
BALTOCON ST    6,SAVEREG6                                               26660000
         ST    R9,SAVEREG9                                         VS0H 26670017
         BAL   14,FLDCONV1                                              26680000
         L     6,SAVEREG6                                               26700000
         L     R9,SAVEREG9                                         VS0H 26710017
GOPRI    LA    0,119                                                    26720000
         LA    1,MYPRTARE                                               26740000
         L     15,MYPRTCON                                              26760000
         BALR  14,15                                                    26780000
         TM    CONVSW,1                                                 26800000
         BZ    0(4)                                                     26820000
         MVI   CONVSW,0                                                 26840000
         S     7,SIXTY                                                  26860000
         A     5,SIXTY                                                  26880000
         B     BLPRT                                                    26900000
JUSPR    MVC   MYPRTARE+4(4),MYPRTARE+3   MOVE FOUR BLANKS INTO PR AREA 26920000
         MVC   MYPRTARE+8(40),NOUSER      MOVE MESSAGE INTO AREA        26940000
         B     GOPRI                      PRINT AND GO BACK             26960000
NOUSER   DC    CL32'NO USER DATA IN PREVIOUS DIRECTO'                   26980000
         DC    CL8'RY ENTRY'                                            27000000
*********************************************************************** 27020000
*********************************************************************** 27040000
*    CONVERSION ROUTINE                                                 27060000
*        INLEN = NUMBER OF BYTES TO BE CONVERTED                        27080000
*        RLOC = INPUT LOCATION                                          27100000
*        ROUT = OUTPUT LOCATION                                         27120000
FLDCONV1 STH   INLEN,LENSAV                                             27140000
         ST    ROUT,OUTSAV                                              27160000
FC1      SR    TEMP1,TEMP1                                              27180000
         IC    TEMP1,0(RLOC)                                            27200000
         LR    TEMP2,TEMP1                                              27220000
         SRL   TEMP1,4                                                  27240000
         STC   TEMP1,0(ROUT)       SEPARATE THE 4-BIT CHARACTERS        27260000
         STC   TEMP2,1(ROUT)         IN EACH BYTE                       27280000
         BCT   INLEN,FC2                                                27300000
         B     FC3                                                      27320000
FC2      AH    ROUT,TWO                                                 27340000
         AH    RLOC,ONE                                                 27360000
         B     FC1                                                      27380000
FC3      LH    INLEN,LENSAV                                             27400000
         L     ROUT,OUTSAV                                              27420000
FC5      SLL   INLEN,1                                                  27440000
         BCTR  INLEN,0                                                  27460000
         NI    0(ROUT),X'0F'                                            27480000
         EX    INLEN,FCMZ                                               27500000
         EX    INLEN,FCTR                                               27520000
         B     0(14)                                                    27540000
FCLIST   DC    C'0123456789'                                            27560000
         DC    C'ABCDEF'                                                27580000
FCMZ     MVZ   1(1,ROUT),0(ROUT)                                        27600000
FCTR     TR    0(1,ROUT),FCLIST                                         27620000
*********************************************************************** 27640000
*     CONSTANT AREA                                                     27660000
NAMEDDCN DC    CL9'DDNAME = '                                           27680000
MEMRNAME DC    CL14'MEMBER NAME = '                                     27700000
ALIANAME DC    CL14' ALIAS NAME = '                                     27720000
PHYSRENU DC    CL25'PHYSICAL RECORD NUMBER = '                          27740000
LOGWIPHY DC    CL32'LOGICAL RECORD NUMBER WITHIN PHY'                   27760000
         DC    CL15'SICAL RECORD = '                                    27780000
PRINCONS DC    V(JPRINTRT)                                              27800000
MYPRTCON DC    V(ZZPR)                                                  27820000
NODDNAM  DC    A(DDERROR1)        WHERE UNOPENED DDNAME GOES            27840000
BUFSW1   DC    X'01'               SWITCH - IF BUFFER 1 EMPTY SET = 1   27860000
BUFSW2   DC    X'01'               SWITCH - IF BUFFER 2 EMPTY SET = 1   27880000
ONE      DC    H'1'                                                     27900000
TWO      DC    H'2'                                                     27920000
FOUR     DC    H'4'                                                     27940000
EIGHT    DC    H'8'                                                     27960000
TEN      DC    H'10'                                                    27980000
TWELVE   DC    H'12'                                                    28000000
SIXTY    DC    F'60'                                                    28020000
TWOFS    DC    F'256'                                                   28040000
MASK1    DC    F'31'                                                    28060000
MASK2    DC    F'96'               MASK FOR 'C' CHAR OF TTRC'S          28080000
OOOOFFFF DC    X'0000FFFF'      BLOCK COMPARISON CONSTANT               28100000
OOO1OOFE DC    X'000100FE'         BLOCK COMPARISON CONSTANT            28120000
ALLFS    DC    8X'FF'                                                   28140000
SYMREG1  EQU   3                                                        28160000
REG3     EQU   3                                                   9314 28165013
REG4     EQU   4                                                   9314 28170013
OUTLEN   EQU   8                                                   9314 28175013
RLOC     EQU   2                                                        28180000
ROUT     EQU   3                                                        28200000
INLEN    EQU   8                                                        28220000
TEMP1    EQU   9                                                        28240000
TEMP2    EQU   6                                                        28260000
SAVEREG2 DC    F'0'                                                     28280000
SAVEREG3 DC    F'0'                                                     28300000
SAVEREG4 DC    F'0'                                                     28320000
SAVEREG6 DC    F'0'                                                     28340000
SAVEREG9 DC    F'0'                                                VS0H 28346017
CSAVE    DS    7F                                                  VS0H 28352017
ERRDCB   DC    X'00'           BLKSI,LRECL ERROR BIT             A41765 28354021
DIROPOK  DC    X'00'              DIRECTORY BLOCK 'READ SWITCHES'       28360000
EOD1SW   DC    X'00'              SET = TO 1 WHEN EOD READ ON PDS1      28380000
         CNOP  2,4                 ALIGN TO HLFWRD FOR BL. BYTE  A41765 28390021
EOD2SW   DC    X'00'              SET = TO 1 WHEN EOD READ ON PDS2      28400000
BLANKS   DC    X'40'              USED TO RIPPLE BLANKS IN PRINT AREA   28420000
MYPRTARE DS    30F                 PRINT AREA                           28440000
PARATABL DS    0D                                                       28460000
        DC   D'0'                                                       28480000
PARATBLX DC    D'0'                                                     28500000
PARATBLY DC    D'0'                                                     28520000
PARATBLZ DC    D'0'                                                     28540000
NAMEDD1  DC    D'0'                CONTAINS DDNAME FOR SET 1            28560000
NAMEDD2  DC    D'0'                CONTAINS DDNAME FOR SET 2            28580000
PTAREA   DC    D'0'                WORK AREA- HOLDS UNPACKED NUMBER     28600000
CONVTDEC DC    D'0'                WORK AREA- USED FOR CONVERTING       28620000
FINDAREA DC    2F'0'               CONTAINS NAME FOR FIND MACRO         28640000
MAXBLLH1 DC    F'0'                MAXIMUM BLOCK SIZE - DATA SET 1      28660000
MAXBLLH2 DC    F'0'                MAXIMUM BLOCK SIZE - DATA SET 2      28680000
KEYLTH   DC    F'0'                KEY LENGTH FOR DATA SET 1            28700000
DCBKL2   DC    F'0'                KEY LENGTH FOR DATA SET 2            28720000
TNTABLEL DC    F'0'                LENGTH OF TRUE NAME TABLE            28780000
TTRTABLL DC    F'0'                LENGTH OF TTR TABLES                 28800000
NOOFTN   DC    F'0'                NUMBER OF TRUE NAMES                 28820000
NOTNREAD DC    F'0'                NO. OF TRUE NAMES READ X 8.          28840000
TNSET    DC    F'0'                CONTAINS ADDRESS OF TRUE NAME TABLE  28860000
TTRSET1  DC    F'0'                CONTAINS ADDRESS OF TTR TABLE-DS1    28880000
TTRSET2  DC    F'0'                CONTAINS ADDRESS OF TTR TABLE-DS2    28900000
PHRECO1  DC    F'0'                PHYSICAL RECORD COUNTER-DATA SET 1   28940000
PHRECO2  DC    F'0'                PHYSICAL RECORD COUNTER-DATA SET 2   28960000
OUTSAV   DC    F'0'                                                     28980000
BLKLTH1  DC    H'0'                PHYSICAL BLOCK LENGTH - DS1          29020000
BLKLTH2  DC    H'0'                PHYSICAL BLOCK LENGTH - DS2          29040000
TTRLTH   DC    H'0'                WORK AREA                            29100000
TTRLTH2  DC    H'0'                TTR LTH FOR MEMBERS OF SYSUT2        29120000
USERDAL  DC    H'0'                WORK AREA                            29140000
USERDAL2 DC    H'0'                                                     29160000
ERRCO    DC    H'0'                ERROR COUNTER                        29180000
KEYERCT  DC    H'0'                'KEY' ERROR COUNTER                  29200000
LOREPP1  DC    H'0'                LOGICAL RECORD PER PHYSICAL RECORD   29220000
LOREPP2  DC    H'0'                  COUNTERS FOR DATA SETS 1 AND 2     29240000
LENSAV   DC    H'0'                                                     29260000
SWFORBP1 DC    X'00'               SWITCH-BPAM DS1-SET DURING DCB EXIT  29280000
SWFORBP2 DC    X'00'               SWITCH-BPAM DS2-SET DURING DCB EXIT  29300000
TNMIS1SW DC    X'00'               SWITCH - IF TN MISSING FROM SET 1.=1 29320000
TNMIS2SW DC    X'00'               SWITCH - IF TN MISSING FROM SET 2.=1 29340000
TABLE1SW DC    X'00'               SWITCH -USE TTR TABLE 1 IF = 1.      29360000
TABLE2SW DC    X'00'               SWITCH -USE TTR TABLE 2 IF = 1       29380000
KSWT     DC    X'00'               SWITCH-IF KEYS PRESENT SET = 1.      29400000
VSWT     DC    X'00'               SWITCH - IF V-TYPE FORMAT SET = 1.   29420000
FSWT     DC    X'00'               SWITCH - IF F-TYPE FORMAT SET = 1.   29440000
RECFM1   DC    X'00'               CONTAINS RECORD FORMAT - DS1         29460000
RECFM2   DC    X'00'               CONTAINS RECORD FORMAT - DS2         29480000
ONETIME  DC    X'00'               SWITCH-SET = 1 AFTER FIRST FIND.     29500000
ENDMEMBS DC    X'00'               SWITCH-NO MEMBERS LEFT IF = 1.       29520000
KEYCOMSW DC    X'00'               SWITCH-SET=1 WHEN KEYS ARE COMPARED  29540000
ERRORSW  DC    X'00'                                                    29600000
PRECOMSW DC    X'00'                                                    29620000
CONVSW   DC    X'00'               SWITCH- USED FOR CONVERSION ROUTINE  29640000
EQSIGN   DC    CL2'= '                                             VS0H 29644517
EIGHTY   DC    F'80'                                               UL0H 29645417
ADQSAM   DC    V(QSAM)                                             UL0H 29646317
ADULAB   DC    V(USERLAB)                                          UL0H 29647217
SAVE9    DC    F'0'                                                UL0H 29648117
CTR1     DC    F'0'           CONTAIN NO. OF LAB ON SYSUT1 TO BE   UL0H 29649017
*                             COMPARED                             UL0H 29649917
CTR2     DC    F'0'           CONTAIN NO. OF LAB ON SYSUT2 TO BE   UL0H 29650817
*                             COMPARED                             UL0H 29651717
SAREA1   DC    F'0'           CONTAIN ADDR. OF SYSUT1 LAB SAVEAREA UL0H 29652617
SAREA2   DC    F'0'           CONTAIN ADDR. OF SYSUT2 LAB SAVEAREA UL0H 29653517
MAXLL    DC    X'7FF8'        MAX. BIG LL                          VS0H 29654417
MAXLLL   DC    X'7FF4'        MAX. LITTLE LL                     A26556 29654719
F14      DC    H'14'                                                    29655019
HD       DC    CL7'HEADER '                                        UL0H 29655317
TL       DC    CL7'TRAILER'                                        UL0H 29656217
LBSW     DC    X'00'          SET TO 00 TO IND. IN HEADER LAB COMPRUL0H 29657217
*                             SET TO 01 TO IND. IN TL LAB COMPR    UL0H 29658217
IOERR    DC    CL18'IEB267I I/O ERROR,'                          A27718 29658319
*********************************************************************** 29658517
*        THE FOLLOWING MESSAGE IS BUILT AT EXECUTION TIME             * 29658817
LABMSG   DC    CL10'IEB247I   '                                    UL0H 29659117
LABMSG1  DC    CL32'INPUT         LABELS FROM BOTH D'              UL0H 29659417
         DC    CL30'ATA SETS ARE COMPARED         '                UL0H 29659717
         DS    0F                                                  UL0H 29709900
DCALBLX1 DC    X'85'                                               UL0H 29719900
         DC    AL3(DCBEXIT1)                                            29729900
         DC    X'01'                                                    29739900
         DC    AL3(INHDEXT1)                                       UL0H 29749900
         DC    X'83'                                               UL0H 29751900
         DC    AL3(INTLEXT1)                                       UL0H 29753900
         DS    0F                                                  UL0H 29754000
DCALBLX2 DC    X'85'                                               UL0H 29754100
         DC    AL3(DCBEXIT2)                                            29754200
         DC    X'01'                                                    29754300
         DC    AL3(INHDEXT2)                                       UL0H 29754800
         DC    X'83'                                               UL0H 29755200
         DC    AL3(INTLEXT2)                                       UL0H 29755600
DASET1   DCB   DDNAME=SYSUT1,DSORG=PS,MACRF=R,NCP=1,BFALN=F,DEVD=DA,   129756302
               EODAD=INEOD1,SYNAD=SYNADEX,EXLST=DCALBLX1       @YM04833 29756902
DASET2   DCB   DDNAME=SYSUT2,DSORG=PS,MACRF=R,NCP=1,BFALN=F,DEVD=DA,   129757502
               EODAD=INEOD2,SYNAD=SYNADEX,EXLST=DCALBLX2       @YM04833 29758102
         END                                                            29859800
