Annotation of freem_fileman/DITM2.m, revision 1.1.1.1
1.1 snw 1: DITM2 ;SFISC/JCM(OHPRD)-DOES COMPARE AND MERGE ;11/18/94 15:42
2: ;;21.0;VA FileMan;;Dec 28, 1994
3: ;Per VHA Directive 10-93-142, this routine should not be modified.
4: ;
5: ; See DITMDOC for documentation
6: ; Subfiles are not currently supported by the call to EN^DITM2
7: ; until DITC can handle them.
8: ;-------------------------------------------------------------------
9: START ;
10: EN ; Entry point
11: L +@(DITM("DIC")_$P(DITM("DIT(1)"),",",1)_")")
12: L +@(DITM("DIC")_$P(DITM("DIT(2)"),",",1)_")")
13: K DMSG,DIRUT
14: D:'$D(DITM("NON-INTERACTIVE")) DITC ; --->Sets up and calls DITC
15: I $D(DMSG)!($D(DIRUT)) S DITM("QFLG")="" G END
16: G:'$D(DITM("DIMERGE")) END
17: D:'$D(DITM("SUB FILE")) DIT0 ; --->Sets up and calls DIT0
18: D:$D(DITM("REPOINT"))&('$D(DITM("SUB FILE"))) REPOINT ;---->Merges
19: ;---------------->other files that affect patient merge
20: G:$D(DITM("QFLG")) END
21: D:$D(DITM("DELETE")) DELETE ;----->Deletes MERGED entry
22: END L -@(DITM("DIC")_$P(DITM("DIT(1)"),",",1)_")")
23: L -@(DITM("DIC")_$P(DITM("DIT(2)"),",",1)_")")
24: D EOJ ;----------->Cleanup
25: Q ;-------------->End of routine
26: ;----------------------------------------------------------------------
27: DITC ;
28: ;***Will need to add set up for subfiles when it works******
29: ;
30: K DFF,DIT,DIMERGE,DDIF,DDEF,DDSP
31: S DFF=DITM("DFF"),DIT(1)=DITM("DIT(1)"),DIT(2)=DITM("DIT(2)"),DIC=DITM("DIC")
32: S:$D(DITM("DIMERGE")) DIMERGE=1
33: S:$D(DITM("DDIF")) DDIF=DITM("DDIF")
34: S:$D(DITM("DDEF")) DDEF=DITM("DDEF")
35: S:$D(DITM("DDSP")) DDSP=1
36: D EN^DITC
37: K DFF,DIT,DIMERGE,DDIF,DDEF,DDSP
38: Q
39: DIT0 ;
40: W:'$D(DITM("NOTALK")) !!,"I will now merge all subfiles in this file ...",!,"This may take some time, please be patient."
41: K DA
42: S (DIT("T"),DIT("F"))=DITM("DIC")
43: S (D0,DA("T"))=DITM("DIT(2)"),DA("F")=DITM("DIT(1)")
44: D EN^DIT0 K D0,DA,DIC,DIK,DIT
45: Q
46: REPOINT ;
47: S DITMGMQF=0
48: S:$D(DITM("NON-INTERACTIVE")) DITMGMRG("NOTALK")=1
49: S:$D(DITM("PACKAGE")) DITMGMRG("PACKAGE")=DITM("PACKAGE")
50: W:'$D(DITM("NOTALK")) !!,"I will now repoint all files that point to this entry ...",!,"This may take some time, please be patient."
51: S DITMGMRG("FILE")=DITM("DFF"),DITMGMRG("FR")=DITM("DIT(1)"),DITMGMRG("TO")=DITM("DIT(2)")
52: S:$D(DITM("NOTALK")) DITMGMRG("NOTALK")=""
53: I $D(DITM("EXCLUDE")) F DITMI=0:0 S DITMI=$O(DITM("EXCLUDE",DITMI)) Q:'DITMI S DITMGMRG("EXCLUDE",DITMI)=""
54: D EN^DITMGMRG
55: K DITMGMRG,DITMGMQF,DITMI
56: Q
57: DELETE ;
58: W:'$D(DITM("NOTALK")) !,"Deleting From entry"
59: I $D(DITM("SUB FILE")) D DELSUB G DELETEX
60: S DIK=DITM("DIC"),DA=DITM("DIT(1)") D ^DIK K DA,DIK
61: DELETEX Q
62: ;
63: DELSUB ;
64: S DA(1)=$P(DITM("DIT(1)"),",",1),DA=$P(DITM("DIT(1)"),",",2)
65: S DIK=DITM("DIC")_DA(1)_","_DITM("DSUB1")_"," D ^DIK K DA,DIK
66: Q
67: EOJ ;
68: K DITM2,APMMD,DIC,X,Y
69: Q
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>