1 | DITMGM2C ;SFISC/EDE(OHPRD)TKW-CONTINUATION OF DITMGM2 ;10/7/98 10:38
|
---|
2 | ;;22.0;VA FileMan;;Mar 30, 1999
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | ENTRY ; PROCESS ONE FILE/SUBFILE ENTRY
|
---|
6 | ;
|
---|
7 | W:'$D(DITMGM2("NOTALK")) "."
|
---|
8 | I DITMGMDI D DINUM Q ; merge dinum entries
|
---|
9 | ;
|
---|
10 | ; ----- Transform DITMGMT
|
---|
11 | S DITMGM("DITMGMT")=DITMGMT
|
---|
12 | I 'DITMGMV S DITMGMT=$S(DITMGMFD=.01:"`",1:"/")_DITMGMT I 1
|
---|
13 | E S X=$P(DITMGMT,";",2),DITMGMT=$P(DITMGMT,";",1),X=+$P(@("^"_X_"0)"),U,2) D Q:X="" S DITMGMT=X_".`"_DITMGMT
|
---|
14 | . S X=$O(^DD(DITMGMFL,DITMGMFD,"V","B",X,0))
|
---|
15 | . Q:X=""
|
---|
16 | . S X=$P(^DD(DITMGMFL,DITMGMFD,"V",X,0),U,4)
|
---|
17 | . Q
|
---|
18 | ; -----
|
---|
19 | ;
|
---|
20 | I DITMGMMU D ENTRYM I 1
|
---|
21 | E D ENTRYS
|
---|
22 | S DITMGMT=DITMGM("DITMGMT") K DITMGM("DITMGMT")
|
---|
23 | Q
|
---|
24 | ;
|
---|
25 | ENTRYS ;
|
---|
26 | ;
|
---|
27 | S DITC="",DA=DITMGMN,D0=DA,DIE=DITMGMG,DR=DITMGMFD_"///"_DITMGMT
|
---|
28 | D ^DIE K DA,DIE,DITC,DR,D0
|
---|
29 | I $D(Y) S DITMGMEC=DITMGMEC+1,DITMGMRG("ERROR",DITMGMEC)="DIE"_U_DITMGMFL_U_DITMGMFD_U_DITMGMN_U_DITMGMF_U_DITMGMT
|
---|
30 | Q
|
---|
31 | ;
|
---|
32 | ENTRYM ; PROCESS ONE SUBFILE ENTRY
|
---|
33 | S DITC="",DIE=DITMGMGM,DA=DITMGMN,DR=DITMGMFD_"///"_DITMGMT
|
---|
34 | D ^DITMU1 ; Set D0, D1, etc.
|
---|
35 | D ^DIE K DA,DIE,DITC,DR
|
---|
36 | D KILL^DITMU1 ; Kill D0, D1, etc.
|
---|
37 | I $D(Y) S DITMGMEC=DITMGMEC+1,DITMGMRG("ERROR",DITMGMEC)="DIE"_U_DITMGMFL_U_DITMGMFD_U_DITMGMN_U_DITMGMF_U_DITMGMT
|
---|
38 | Q
|
---|
39 | ;
|
---|
40 | DINUM ; DINUM FILE
|
---|
41 | ; Move the 'from' entry to it's new IEN location. Do a merge
|
---|
42 | ; if there is already a record at that location.
|
---|
43 | ;
|
---|
44 | N DIDA,DIK,DITMFROM S DITMFROM=$S(DITMGMMU:DITMGMGM,1:DITMGMG)
|
---|
45 | S $P(@(DITMFROM_DITMGMF_",0)"),U)=DITMGMT
|
---|
46 | I '$D(@(DITMFROM_DITMGMT_",0)")) D
|
---|
47 | . S @(DITMFROM_DITMGMT_",0)")=DITMGMT
|
---|
48 | . S $P(@(DITMFROM_"0)"),U,3,4)=DITMGMT_"^"_($P(@(DITMFROM_"0)"),U,4)+1)
|
---|
49 | . Q
|
---|
50 | S DIDA=$S('DITMGMMU:",",1:$$IEN^DIEFU(.DA)),DIDA("F")=DITMGMF_DIDA,DIDA("T")=DITMGMT_DIDA
|
---|
51 | D TRNMRG^DIT("M",DITMGMFL,"",DIDA("F"),DIDA("T"))
|
---|
52 | S $P(@(DITMFROM_DITMGMF_",0)"),U)=DITMGMF
|
---|
53 | D
|
---|
54 | . N DA D DA^DIEFU(DIDA("T"),.DA) Q:$D(DIERR)
|
---|
55 | . K DIK S DIK=$$ROOT^DIQGU(DITMGMFL,DIDA("T")) Q:$D(DIERR)
|
---|
56 | . N DIDA D IX1^DIK Q
|
---|
57 | D
|
---|
58 | . N DA D DA^DIEFU(DIDA("F"),.DA) Q:$D(DIERR)
|
---|
59 | . K DIK S DIK=$$ROOT^DIQGU(DITMGMFL,DIDA("F")) Q:$D(DIERR)
|
---|
60 | . N DIDA D ^DIK Q
|
---|
61 | Q
|
---|