*DECK CKSUBIO                                                           004140
          IDENT  CKSUBIO                                                004150
                                                                        004160
 CKSUBIO  TITLE  CKSUBIO - CHECK SUBSCHEMA CHECKSUMS I/O ROUTINES       004170
                                                                        004180
          ENTRY  CLSESB            CLOSE SUBSCHEMA LIBRARY FILE         004190
          ENTRY  DDLRDSB           READ SUBSCHEMA LIBRARY FILE          004200
          ENTRY  NEWFILE           LENGTH OF SUBSCHEMA LIBRARY FILE     004210
          ENTRY  OPENSB            OPEN SUBSCHEMA LIBRARY FILE          004220
                                                                        004230
          EXT    CKEOF             CKECK FOR END OF FILE                004240
          EXT    SBLFN             SUBSCHEMA LIBRARY FILE LFN           004250
                                                                        004260
          B1=1                                                          004270
 OPENSB   SPACE  6,10                                                   004280
************************************************************************004290
*                                                                      *004300
*                * O P E N S B *                                       *004310
*                                                                      *004320
*         OPEN SUBSCHEMA LIBRARY FILE                                  *004330
*                                                                      *004340
************************************************************************004350
                                                                        004360
 OPENSB   EQ   *+1S17             ENTRY/EXIT                            004370
                                                                        004380
          SB1    1                                                      004390
          SA3    =XSBLFN          GET SUB-SCHEMA LFN                    004400
          BX6    X3                                                     004410
          SA6    DIRSUB            STORE LFN IN FIT                     004420
          SA6    NAMSTOR           STORE LFN IN STS PARAMETER BLOCK     004430
          OPENM  DIRSUB,INPUT,R    OPEN SUBSCHEMA FILE FOR INPUT ONLY   004440
                                                                        004450
          SA2    STSPAR            CHECK STATUS OF FILE                 004460
          MX6    36                                                     004470
          BX6    X6*X2                                                  004480
          SA6    A2                ZERO THE RECALL BIT                  004490
          SYSTEM STS,RECALL,STSPAR,3S6    CALL STS, FUNCTION 3          004500
                                                                        004510
          SA1    STSPAR+2          PICK UP PRU COUNT                    004520
          LX1    6                 MULTIPLY BY 64                       004530
          BX6    X1                STORE SIZE IN WORDS OF FILE          004540
          SA6    NEWFILE                                                004550
          EQ   OPENSB              EXIT                                 004560
 DDLRDSB  SPACE  6,10                                                   004570
************************************************************************004580
*                * D D L R D S B *                                     *004590
*                                                                      *004600
*  DDLRDSB ( WORKING STORAGE AREA, NBR WORDS, WORD ADDRESS)             004610
*  ENTRY CONDITIONS:                                                   *004620
*         THE ADDRESS OF THE WORKING STORAGE AREA WHERE THE RECORD IS  *004630
*         TO BE PLACED, THE NUMBER OF WORDS TO BE READ AND THE WORD    *004640
*         ADDRESS OF THE SUBSCHEMA LIBRARY FILE WHERE THE READING IS   *004650
*         TO START IS PASSED IN THE PARAMETER LIST.                    *004660
*                                                                      *004670
*  EXIT CONDITIONS:                                                    *004680
*         A RECORD IS READ FROM THE SUB-SCHEMA FILE AND STORED IN THE  *004690
*         WORKING STORAGE AREA THAT WAS PASSED TO DDLRDSB.             *004700
*                                                                      *004710
*  EXTERNAL REFERENCE:                                                 *004720
*         CRM MACRO GET.                                               *004730
*                                                                      *004740
*  DESCRIPTION:                                                        *004750
*         READS A RECORD FROM THE SUB-SCHEMA FILE AND STORES IT IN THE *004760
*         WORKING STORAGE AREA WHOSE ADDRESS WAS PASSED IN THE PARA-   *004770
*         METER LIST.                                                  *004780
*                                                                      *004790
************************************************************************004800
                                                                        004810
 DDLRDSB  EQ   *+1S17              ENTRY/EXIT                           004820
                                                                        004830
          SX7    A1                                                     004840
          SA7    PARMADR           SAVE THE PARAMETER ADDRESS           004850
 RDSB     SA3    PARMADR                                                004860
          SB1    1                                                      004870
          SA1    X3                STORE ADDRESS OF THE WSA             004880
          SA2    A1+B1                                                  004890
          SA4    A2+B1                                                  004900
          SA2    X2                STORE THE WA                         004910
          SA3    X4                                                     004920
          SA1    X1                                                     004930
          SX5    X2                                                     004940
          LX2    3                                                      004950
          LX5    1                                                      004960
          IX2    X5+X2                                                  004970
          GET    DIRSUB,X1,X2,,X3                                       004980
                                                                        004990
          EQ   DDLRDSB             EXIT                                 005000
 CLSESB   SPACE  6,10                                                   005010
************************************************************************005020
*                                                                      *005030
*                * C L S E S B *                                       *005040
*                                                                      *005050
*         CLOSE SUBSCHEMA LIBRARY FILE                                 *005060
*                                                                      *005070
************************************************************************005080
                                                                        005090
 CLSESB   EQ   *+1S17              ENTRY/EXIT                           005100
                                                                        005110
          SB1    1                                                      005120
          CLOSEM DIRSUB,N          CLOSE THE SUB-SCHEMA FILE            005130
                                                                        005140
          EQ     CLSESB            EXIT                                 005150
 ERRCKSB  SPACE  6,10                                                   005160
************************************************************************005170
*                                                                      *005180
*                * E R R C K S B *                                     *005190
*                                                                      *005200
*         CHECK FOR CRM ERRORS ON SUBSCHEMA I/O                        *005210
*                                                                      *005220
************************************************************************005230
                                                                        005240
ERRCKSB   EQ   *+1S17              ENTRY/EXIT                           005250
                                                                        005260
          SX2    DIRSUB                                                 005270
          FETCH  X2,ES,X1          FETCH ERROR STATUS                   005280
                                                                        005290
          SX3    X1-143B           CHECK IF INSUFFICIENT DATA           005300
          ZR   X3,ALTER                                                 005310
          SX4    X1-142B           CHECK IF EXCESS DATA                 005320
          NZ   X4,ERRCKSB          EXIT IF NOT 142B                     005330
                                                                        005340
 ALTER    FETCH  X2,ECT,X1         FETCH ERROR COUNT                    005350
                                                                        005360
          SX3    X1-1              DECREMENT ERROR COUNT                005370
          STORE  X2,ECT=X3         STORE NEW ERROR COUNT                005380
                                                                        005390
          EQ   ERRCKSB             EXIT                                 005400
 SBEOF    SPACE  6,10                                                   005410
************************************************************************005420
*                * S B E O F *                                         *005430
*                                                                      *005440
*         CHECK FOR END OF FILE ON THE SUBSCHEMA LIBRARY FILE          *005450
*                                                                      *005460
************************************************************************005470
                                                                        005480
 SBEOF    SX1    DIRSUB            GET ADDRESS OF SUBSCHEMA LFN FIT     005490
          RJ   =XCKEOF             CHECK FOR END OF FILE                005500
                                                                        005510
          ZR   X7,RDSB             IF NO END OF FILE CONTINUE PROCESSING005520
          EQ   DDLRDSB             OTHERWISE RETURN TO CALLING ROUTINE  005530
 MISC     SPACE  10,10                                                  005540
 DIRSUB   FILE   LFN=DIRSUB,LT=UL,RT=U,FO=WA,ERL=2,DX=SBEOF,FWB=SBBUF,BF005550
,S=195,MRL=100000,EX=ERRCKSB                                            005560
                                                                        005570
                                                                        005580
 SBBUF    BSSZ   195               SUBSCHEMA BUFFER                     005590
 PARMADR  BSSZ   1                                                      005600
 NEWFILE  BSSZ   1                                                      005610
 STSPAR   VFD    24/3,12/5555B,24/0                                     005620
 NAMSTOR  DATA   0                                                      005630
          DATA   0                                                      005640
          END                                                           005650
