DIKK ;SFISC/MKO-CHECK KEY INTEGRITY ;9:14 AM 23 Feb 1999
Source file <DIKK.m>
| Package | Total | Caller Graph |
|---|---|---|
| VA Fileman | 4 | DICN1 DIKK2 DIKKUTL DIKKUTL3 |
| Name | Comments | DBIA/ICR reference |
|---|---|---|
| UICHK(FILE,DA,OUT,DIKKQUIT) | ;Walk through uniqueness index and check for duplicates
|
|
| INTEG(DIFILE,DIREC,DIFLD,DIKKEY,DICTRL,DIKPROC) | ;
|
|
| DUPL(KEY,UI,UIFIL,UIRFIL,DA,IX1,IX2,IXV,NS,SS,DIKKQUIT) | ;Process duplicate
|
|
| NULLCHK(KFIL,DA,DITAR,DIKKQUIT) | ;Check whether any of the key fields at
|
|
| IENS(DA) | ;Return IENS from DA array
|
|
| SETN(DIFIL,DIIENS,DIFLD,DITAR,DIKKQUIT) | ;
|
|
| CHECKSUB(DIFILE,DA,DIROOT,DIMF,DITAR,DIKKQUIT) | ;Process all records in subfiles
|
|
| MOVE | ;Move error messages if necessary
|
|
| CHECK(DIFILE,DA,DIROOT,DIMF,DITAR,DIKKQUIT) | ;Check one record
|
|
| SETK(DIRFIL,DIIENS,DIKEY,DITAR,DIKKQUIT) | ;
|
|
| DLOOP | ;Compare IX1 with IX2 and subsequent indexes
|
|
| EXIT | ;Cleanup ^TMP and quit
|
|
| CHECKALL(DIFILE,DA,DIROOT,DIMF,DITAR,DIKKQUIT) | ;Check all records
|
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^TMP("DIKK" | INTEG+16!, INTEG+22, EXIT+1!, CHECK+1, CHECKALL+1, CHECKALL+2, CHECKALL+6, NULLCHK+4, NULLCHK+5, NULLCHK+6 , NULLCHK+7, UICHK+3, UICHK+5, UICHK+8, UICHK+16, UICHK+20*, UICHK+21* |
| Name | Line Occurrences |
|---|---|
| $$IENS | NULLCHK+8, DLOOP+6, DLOOP+15 |
| CHECK | INTEG+27 |
| CHECKALL | INTEG+28, CHECKSUB+9 |
| CHECKSUB | CHECK+2, CHECKALL+7 |
| DLOOP | DLOOP+30 |
| DUPL | UICHK+31 |
| EXIT | INTEG+22 |
| MOVE | INTEG+12 |
| NULLCHK | CHECKALL+6 |
| SETK | DLOOP+18, DLOOP+24, DLOOP+26 |
| SETN | NULLCHK+10 |
| UICHK | CHECKALL+1 |
| Name | Field # of Occurrence |
|---|---|
| ^( | UICHK+20* |
| ^("SS" | UICHK+8 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| DA | INTEG+1~, INTEG+26, INTEG+27, INTEG+28, CHECK~, CHECK+1, CHECK+2, CHECKALL~, CHECKALL+1, CHECKALL+5* , CHECKALL+6, CHECKALL+7, CHECKSUB~, CHECKSUB+2, CHECKSUB+9, CHECKSUB+11, NULLCHK~, NULLCHK+8, UICHK~, UICHK+24 , UICHK+31, UICHK+35, DUPL~, DLOOP+5*, DLOOP+6, DLOOP+14*, DLOOP+15, IENS~, IENS+2 |
| DA( | DLOOP+5*, DLOOP+14*, IENS+2 |
| DA(" " | IENS+2 |
| DA(1 | CHECKSUB+7 |
| DICTRL | INTEG~, INTEG+5, INTEG+7, INTEG+13*, INTEG+20, MOVE+2!* |
| DICTRL("MSG" | MOVE+1 |
| DICTRL("TAR" | INTEG+5* |
| DICTRL1 | INTEG+5~*, MOVE+2 |
| >> DIERR | MOVE+1 |
| DIF | INTEG+1~, INTEG+7*, INTEG+8, INTEG+9, MOVE+1 |
| DIFIL | SETN~, SETN+1 |
| DIFILE | INTEG~, INTEG+23, INTEG+27, INTEG+28, CHECK~, CHECK+1, CHECK+2, CHECKALL~, CHECKALL+1, CHECKALL+2 , CHECKALL+6, CHECKALL+7, CHECKSUB~, CHECKSUB+6, CHECKSUB+7, CHECKSUB+8 |
| DIFLD | INTEG~, INTEG+18, INTEG+19, SETN~, SETN+1 |
| DIFM | INTEG+9~* |
| DIIENS | SETN~, SETN+1, SETK~, SETK+1 |
| DIKERR | INTEG+1~, INTEG+12, MOVE+2 |
| DIKEY | SETK~, SETK+1 |
| DIKFIL | INTEG+1~, INTEG+19, INTEG+20, INTEG+23 |
| DIKKEY | INTEG~, INTEG+17, INTEG+21 |
| DIKKQUIT | INTEG+1~, INTEG+27, INTEG+28, CHECK~, CHECK+1, CHECK+2, CHECKALL~, CHECKALL+1, CHECKALL+5, CHECKALL+6 , CHECKALL+7, CHECKSUB~, CHECKSUB+6, CHECKSUB+9, NULLCHK~, NULLCHK+4, NULLCHK+6, NULLCHK+10, UICHK~, UICHK+3 , UICHK+28, UICHK+31, DUPL~, DLOOP+11, DLOOP+18, DLOOP+24, DLOOP+26, SETN~, SETN+3*, SETK~ , SETK+3* |
| DIKKTAR | INTEG+5~, MOVE+2 |
| DIKPROC | INTEG~, INTEG+4*, INTEG+5, INTEG+13, MOVE+2 |
| DIMF | INTEG+1~, INTEG+20, INTEG+23, INTEG+27, INTEG+28, CHECK~, CHECK+2, CHECKALL~, CHECKALL+7, CHECKSUB~ , CHECKSUB+9 |
| DIMF( | CHECK+2, CHECKALL+2, CHECKALL+7, CHECKSUB+6, CHECKSUB+7, CHECKSUB+8 |
| DIMULTF | CHECKSUB+1~, CHECKSUB+6*, CHECKSUB+7, CHECKSUB+8 |
| DIQUIET | INTEG+8~* |
| DIREC | INTEG~ |
| DIRFIL | SETK~, SETK+1 |
| DIROOT | INTEG+1~, INTEG+27, INTEG+28, CHECK~, CHECK+2, CHECKALL~, CHECKALL+5, CHECKALL+7, CHECKSUB~, CHECKSUB+7 |
| DISBFILE | CHECKSUB+1~, CHECKSUB+8*, CHECKSUB+9 |
| DISBROOT | CHECKSUB+1~, CHECKSUB+7*, CHECKSUB+9 |
| DITAR | INTEG+1~, INTEG+27, INTEG+28, CHECK~, CHECK+1, CHECK+2, CHECKALL~, CHECKALL+1, CHECKALL+6, CHECKALL+7 , CHECKSUB~, CHECKSUB+9, NULLCHK~, NULLCHK+10, DLOOP+18, DLOOP+24, DLOOP+26, SETN~, SETN+1, SETK~ , SETK+1 |
| DUPL | DUPL+2~, DLOOP+18*, DLOOP+24*, DLOOP+26 |
| FIL | NULLCHK+2~, NULLCHK+4*, NULLCHK+5, NULLCHK+6, NULLCHK+7, NULLCHK+10 |
| FILE | UICHK~, UICHK+3, UICHK+5, UICHK+8, UICHK+20, UICHK+21, UICHK+31 |
| FLD | NULLCHK+2~, NULLCHK+6*, NULLCHK+7, NULLCHK+10 |
| I | DUPL+2~, DLOOP+5*, DLOOP+14*, IENS+1~, IENS+2* |
| IENS | NULLCHK+2~, NULLCHK+8*, NULLCHK+9*, NULLCHK+10, IENS+1~, IENS+2*, IENS+3 |
| IENS1 | DUPL+2~, DLOOP+4*, DLOOP+5, DLOOP+6*, DLOOP+26 |
| IENS2 | DUPL+2~, DLOOP+13*, DLOOP+14, DLOOP+15*, DLOOP+18, DLOOP+21, DLOOP+24 |
| IENSDONE | DUPL+2~ |
| IENSDONE( | DLOOP+21, DLOOP+24* |
| IX0 | UICHK+1~, UICHK+8*, UICHK+10, UICHK+20, UICHK+27*, UICHK+28 |
| IX1 | UICHK+1~, UICHK+27*, UICHK+29, UICHK+30*, UICHK+31, UICHK+32*, DUPL~, DLOOP+4, DLOOP+29*, DLOOP+30 |
| IX2 | UICHK+1~, UICHK+27*, UICHK+28*, UICHK+29, UICHK+30, UICHK+31, UICHK+32*, DUPL~, DLOOP+11*, DLOOP+13 , DLOOP+23, DLOOP+29*, DLOOP+30 |
| IXV | DUPL~, DUPL+6, DLOOP+4, DLOOP+11, DLOOP+13 |
| IXV1 | UICHK+1~, UICHK+29*, UICHK+30, UICHK+31, UICHK+32 |
| IXV2 | UICHK+1~, UICHK+29*, UICHK+30 |
| KEY | UICHK+1~, UICHK+5*, UICHK+6, UICHK+7*, UICHK+19*, UICHK+20, UICHK+31, DUPL~, DLOOP+18, DLOOP+24 , DLOOP+26 |
| KFIL | NULLCHK~, NULLCHK+4, NULLCHK+5, NULLCHK+6, NULLCHK+7, UICHK+1~, UICHK+7*, UICHK+10, UICHK+16, UICHK+20 , UICHK+31 |
| L | DUPL+2~, DLOOP+4*, DLOOP+5, DLOOP+13*, DLOOP+14 |
| LDIF | NULLCHK+2~, NULLCHK+5*, NULLCHK+9, UICHK+1~, UICHK+7*, UICHK+10, UICHK+20, UICHK+24, UICHK+35 |
| ML | DUPL+2~, DLOOP+9, DLOOP+18 |
| ML( | DUPL+6*, DLOOP+9, DLOOP+22 |
| NEXTIX1 | DUPL+2~, DLOOP+1!, DLOOP+23*, DLOOP+27, DLOOP+29 |
| NS | UICHK+1~, UICHK+27*, UICHK+28, UICHK+29, UICHK+31, DUPL~, DUPL+6, DLOOP+11, DLOOP+30 |
| OUT | UICHK~ |
| S | UICHK+1~, UICHK+14*, UICHK+15, UICHK+16, DUPL+2~, DUPL+5*, DUPL+6*, DLOOP+9*, DLOOP+22*, DLOOP+23 |
| SS | UICHK+1~, UICHK+8*, UICHK+10, UICHK+21, UICHK+29, UICHK+31, DUPL~, DLOOP+11, DLOOP+30 |
| SS( | UICHK+14, UICHK+15!, UICHK+16*, DUPL+6 |
| U | UICHK+6, UICHK+7, UICHK+15, UICHK+16, UICHK+20, DUPL+6 |
| UI | UICHK+1~, UICHK+3*, UICHK+5, UICHK+8, UICHK+10, UICHK+20, UICHK+21, UICHK+31, DUPL~ |
| UIFIL | DUPL~ |
| UIRFIL | DUPL~, DLOOP+18, DLOOP+24, DLOOP+26 |
| V1 | DUPL+2~, DLOOP+9! |
| V1( | DLOOP+9*, DLOOP+22 |
| X | NULLCHK+2~, NULLCHK+7, DUPL+2~, DLOOP+9, DLOOP+22 |