Annotation of freem_fileman/DICA3.m, revision 1.1.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>