Annotation of freem_fileman/DICA3.m, revision 1.1

1.1     ! snw         1: DICA3  ;SEA/TOAD-VA FileMan: Updater, Adder ;10/21/94  10:07 ;
        !             2:        ;;21.0;VA FileMan;;Dec 28, 1994
        !             3:        ;Per VHA Directive 10-93-142, this routine should not be modified.
        !             4:        
        !             5: CREATE(DIFILE,DIEN,DIROOT,DIVALUE)     
        !             6:        N DIENP S DIENP=","_$P(DIEN,",",2,999)
        !             7:        S DIEN=$P(DIEN,",")
        !             8:        L +@(DIROOT_"0)"):1 E  S DIEN="" D ERR(111,DIFILE) Q
        !             9:        I $D(@(DIROOT_"0)"))[0 D  I $G(DIERR) S DIEN="" Q
        !            10:        . N DIHEADER S DIHEADER=$$HEADER^DIDU2(.DIFILE,DIENP)
        !            11:        . I '$G(DIERR) S @(DIROOT_"0)")=DIHEADER
        !            12: GETNUM 
        !            13:        N DINUM S DINUM=DIEN'=""
        !            14:        N DIFAIL,DIOUT S DIFAIL=0,DIOUT=0 F  D  I DIOUT!DIFAIL Q
        !            15:        . I 'DINUM S DIEN=$$NXTNO^DICLIB(DIROOT)
        !            16:        . L +@(DIROOT_"DIEN)"):1
        !            17:        . I '$T S DIFAIL=DINUM Q:'DIFAIL  D ERR(110,DIFILE,DIEN_DIENP) Q
        !            18:        . I $D(@(DIROOT_"DIEN)")) L -@(DIROOT_"DIEN)") D  Q
        !            19:        . . S DIFAIL=DINUM I 'DIFAIL Q
        !            20:        . . D ERR(302,DIFILE,DIEN_DIENP)
        !            21:        . S DIOUT=1
        !            22:        I DIFAIL L -@(DIROOT_"0)") S DIEN="" Q
        !            23: SETREC 
        !            24:        S @(DIROOT_"DIEN,0)")=DIVALUE
        !            25:        S $P(^(0),U,3,4)=DIEN_U_($P(@(DIROOT_"0)"),U,4)+1)
        !            26:        L -@(DIROOT_"0)")
        !            27:        S DIEN=DIEN_DIENP
        !            28:        D XA^DIEFU(DIFILE,DIEN,.01,DIVALUE,"")
        !            29:        Q
        !            30:        
        !            31: PROOT(DIFILE,DIEN)     
        !            32:        ; ENTRY POINT--return the global root of a subfile's parent
        !            33:        ; extrinsic function, all passed by value
        !            34:        N DIENP S DIENP=$P(DIEN,",",2,999)
        !            35:        Q $NA(@$$ROOT^DILFD($$PARENT(DIFILE),DIENP,1)@(+DIENP))
        !            36:        
        !            37: PARENT(DIFILE) 
        !            38:        ; ENTRY POINT--return the file number of a subfile's parent
        !            39:        ; extrinsic function, all passed by value
        !            40:        Q $G(^DD(DIFILE,0,"UP"))
        !            41:        
        !            42: SUBFILE(DIFILE)        
        !            43:        ; ENTRY POINT--return whether the file is a subfile
        !            44:        ; extrinsic function, passed by value
        !            45:        Q $D(^DD(DIFILE,0,"UP"))#2
        !            46:        
        !            47: ERR(DIERN,DIFILE,DIIENS,DIFIELD,DI1,DI2,DI3)   
        !            48:        ; error logging procedure
        !            49:        N DIPE
        !            50:        N DI F DI="FILE","IENS","FIELD",1:1:3 S DIPE(DI)=$G(@("DI"_DI))
        !            51:        D BLD^DIALOG(DIERN,.DIPE,.DIPE)
        !            52:        Q

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>