*DECK RLSYNG
PROC RLSYNG 
*CALL SCSYNCOM
+ 
DBIINIT                , INITIALIZE STORAGE FOR INDIVIDUAL DBI HASHING
DBISINIT               , INITIALIZE STORAGE FOR DBI PROCESSING
DIAGROUT1              , CALLS CERTAIN DIAGNOSTICS TO DIFFERENTIATE 
                         BETWEEN SOURCE AND TARGET DBIS 
DIAGROUT2              , CALLS CERTAIN DIAGNOSTICS TO DIFFERENTIATE 
                         BETWEEN SOURCE AND TARGET DBIS 
ENDREL                 , TERMINATE JOB AND CLOSE FILES
HASHITRL               , CALL HASH FOR RELATION NAME HASHID AND STORE 
                         NAME IN SYMBOL TABLE 
HASHRLDBI              , CALL HASH FOR DBI REFERENCE
DBIVALID               , DBI VALIDATION SUCH AS, IF DBI DEFINED,SUBSCR- 
                         IPTS CHECKED AND BCP,BWP CALCULATED,ETC AS 
                         PER CONDITIONS SET FORTH IN ERS. 
RELINIT                , INITIALIZES ENTIRE RELATION SECTION
RESETPTR               , POINTERS AND BUFFERS REINITIALIZED,IN THE
                         CASE OF A SERIOUS ERROR DURING RELATION ENTRY
                         PROCESSING.
RESTORLNNBR            , RESTORES SOURCE LINE NUMBER OF CURRENT INPUT 
                         RECORD. RETURN IS TO STDNO.
SAVDBI                 , DBI NAME AND LENGTH ARE SET FOR CALL TO HASH 
                         ROUTINE. 
SAVRELNM               , ON RETURN FROM HASH ROUTINE, THE DEFINE FLAG 
                         IS CHECKED.IF DEFINED,RETURN IS TO STDNO.ALSO
                         NAME LENGTH IS CHECKED AND NAME STORED IN RST. 
                         RETURN IS TO STDYES. 
SAVRECNAM              , IF DBI IS QUALIFIED, QUALIFIER NAME AND LENGTH 
                         IS SET FOR CALL TO HASH ROUTINE
SAVSUBS                , CHECKS FOR VALID SUBSCRIPTS.IF INVALID,ISSUE 
                         DIAGNOSTICS AND RETURN IS TO STDNO. STORE
                         SUBSCRIPTS AND COUNT. RETURN IS TO STDYES. 
SETANY                 , IF ANY IS SUBSCRIPT ON SUBJECT DBI, THEN 
                         CHECKS IF DBI IS SOURCE DBI. IF SO, ISSUE
                         DIAGNOSTIC,ELSE SET A FLAG. RETURN IS TO 
                         STDYES.
SETSRCDBI              , SETS A FLAG TO INDICATE SUBJECT DBI IS A 
                         SOURCE DBI. RETURN IS TO STDNO 
SETTRGDBI              , SETS A FLAG TO INDICATE SUBJECT DBI IS A 
                         TARGET DBI RETURN IS TO STDNO. 
STLINENBR              , TEMPORARILY STORES SOURCE LINE NUMBER FOR
                         DIAGNOSTIC CALLS. RETURN IS TO STDNO.
WRITERST               , THE RST IS WRITTEN TO SCHEMA DIRECTORY AND 
                         POINTERS ADJUSTED ALSO NEXT RST POINTER AND
                         MAXIMUM RANK IS STORED IN THE RST RETURN 
                         IS TO STDNO. 
+ 
:START :05  *RELINIT    15
       :10  $RELATION    15 
         /  20
       :15  +EOT    +EOF    20
         /  *ENDREL 
       :20  -NAME 
            -IS 
            +NAME    D400    SKIPF    30
         /  *HASHITRL 
         /  *SAVRELNM    D400 
       :25  $JOIN    D402    SKIPF    30
         /  -WHERE
            RELDBIS    30 
         /  *WRITERST    10 
       :30  *RESETPTR    10 
:RELDBIS :05  *DBISINIT 
       :10  *SETSRCDBI
            DBINAME    NO 
         /  *DBIVALID    SKIPF1    NO 
         /  $EQ    D414   SKIPF     NO
         /  *STLINENBR
            *SETTRGDBI
            DBINAME    NO 
         /  *DBIVALID    *RESTORLNNBR    SKIPF1    NO 
         /  *RESTORLNNBR
            $.    10
         /  YES 
:DBINAME :05  *DBIINIT
            +NAME    *DIAGROUT1    SKIPF    NO
         /  *SAVDBI 
            $(    25
         /  +INT    15
       :10  *SAVSUBS    SKIPF1    NO
         /  +INT    20
         /  10
       :15  $ANY    *DIAGROUT2    SKIPF    NO 
         /  *SETANY 
       :20  $)    *DIAGROUT2    SKIPF    NO 
       :25  $OF    $IN    30
         /  +NAME    *DIAGROUT1    SKIPF    NO
         /  *SAVRECNAM
       :30  *HASHRLDBI
            YES 
:SKIPF :05  +EOT   D200   15
         /  *ENDREL 
       :10  +EOT    15
         /  *ENDREL 
       :15  $.    +SNW    10
         /       D195    NO 
:SKIPF1 :05   D415
       :10  +EOT    15
         /  *ENDREL 
       :15  $.    +SNW    10
         /   D195    NO 
END 
