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>