1 | DIU ;SFISC/GFT-UTILITY FUNCTIONS ;1:01 PM 29 Dec 1998
|
---|
2 | ;;22.0;VA FileMan;;Mar 30, 1999
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | K DIU
|
---|
5 | 0 S DIC="^DOPT(""DIU"","
|
---|
6 | G OPT:$D(^DOPT("DIU",11)) S ^(0)="UTILITY OPTION^1.01" K ^("B")
|
---|
7 | F X=1:1:11 S ^DOPT("DIU",X,0)=$P($T(@X),";;",2)
|
---|
8 | S DIK=DIC D IXALL^DIK S ^DOPT("DICR",0)="TYPE OF INDEXING^1.01"
|
---|
9 | F X=1:1:7 S ^DOPT("DICR",X,0)=$P("REGULAR^KWIC^MNEMONIC^MUMPS^SOUNDEX^TRIGGER^BULLETIN",U,X)
|
---|
10 | S DIK="^DOPT(""DICR""," D IXALL^DIK G 0
|
---|
11 | OPT ;
|
---|
12 | S DIC(0)="AEQIZ" S:DUZ(0)'="@" DIC("S")="I Y-5"
|
---|
13 | D ^DIC G Q:Y<0 S DI=Y D EN G 0
|
---|
14 | ;
|
---|
15 | EN ;
|
---|
16 | I +DI=2 D G:'$D(DI) Q
|
---|
17 | . W ! S Y=$$TYPE^DIKCUTL2 Q:Y=1
|
---|
18 | . D:Y=2 MOD^DIKCUTL
|
---|
19 | . K DI
|
---|
20 | D D^DICRW G Q:Y<0 I '$D(DIC) D DIE^DIB G Q:'$D(DG) S DIC=DG
|
---|
21 | S DIU=DIC,DIU(0)="EDT" K DICS
|
---|
22 | K DIC,I,J S Y=DI,N=0,DI=+$P($G(@(DIU_"0)")),U,2),J(0)=DI,I(0)=DIU
|
---|
23 | I 'DI W $C(7),!,"Missing or incomplete global node "_DIU_"0)",! G Q
|
---|
24 | K DDA I $D(^DD(DI,0,"DDA")),^("DDA")["Y" S DDA=""
|
---|
25 | D @+Y W !!
|
---|
26 | Q K %,DIUF,DG,DGG,DIC,DIU,DJJ,DIK,DI,DA,I,J,X,Y,DICD,DICDF,DDA,DIFLD,DTOUT,DUOUT,DR Q
|
---|
27 | ;
|
---|
28 | 1 ;;VERIFY FIELDS
|
---|
29 | G ^DIV
|
---|
30 | ;
|
---|
31 | 2 ;;CROSS-REFERENCE A FIELD OR FILE
|
---|
32 | S X="CW" D DI Q:Y<.002 G ^DICD
|
---|
33 | ;
|
---|
34 | 3 ;;IDENTIFIER
|
---|
35 | S X="CW.01" D DIAX Q:'$T D DI Q:Y<0 G 3^DIU3
|
---|
36 | ;
|
---|
37 | 4 ;;RE-INDEX FILE
|
---|
38 | G 4^DIU1
|
---|
39 | ;
|
---|
40 | 5 ;;INPUT TRANSFORM (SYNTAX)
|
---|
41 | S X="W" D DIAX Q:'$T D DI Q:Y<0 G 5^DIU31
|
---|
42 | ;
|
---|
43 | 6 ;;EDIT FILE
|
---|
44 | G 6^DIU0
|
---|
45 | ;
|
---|
46 | 7 ;;OUTPUT TRANSFORM
|
---|
47 | S X="CW" D DI Q:Y<0 G O^DIU31
|
---|
48 | ;
|
---|
49 | 8 ;;TEMPLATE EDIT
|
---|
50 | G 0^DIBT
|
---|
51 | ;
|
---|
52 | 9 ;;UNEDITABLE DATA
|
---|
53 | S X="WC" D DIAX Q:'$T D DI Q:Y<0 G 9^DIU31
|
---|
54 | ;
|
---|
55 | 10 ;;MANDATORY/REQUIRED FIELD CHECK
|
---|
56 | G ^DIVRE
|
---|
57 | ;
|
---|
58 | 11 ;;KEY DEFINITION
|
---|
59 | G MOD^DIKKUTL
|
---|
60 | ;
|
---|
61 | 99 ;;SPECIFIER
|
---|
62 | S X="CW",N=0 D DI Q:Y<0 G ^DIU4
|
---|
63 | ;
|
---|
64 | DI ;
|
---|
65 | S DIC(0)="ZQEAI"
|
---|
66 | D ;
|
---|
67 | S DIC="^DD("_DI_",",DIC("W")="S %=$P(^(0),U,2) I % W $S($P(^DD(+%,.01,0),U,2)[""W"":"" (word-processing)"",1:"" (multiple)"")"
|
---|
68 | S DIC("S")="S %=$P(^(0),U,2) I 1"_$P(",%'[""C""",U,X["C")_$P(",$P(^DD(+%,.01,0),U,2)'[""W""",9,X["W")_$P(",Y-.01",U,X[.01),DA=X
|
---|
69 | D ^DIC K DIC("S") I Y>0,$P(Y(0),U,2) S N=N+1,X=$P($P(Y(0),U,4),";",1),DI=$E("""",+X'=X),I(N)=DI_X_DI,(DI,J(N))=+$P(Y(0),U,2),X=DA G DI
|
---|
70 | Q
|
---|
71 | DIAX I '$D(^DD(DI,0,"DI"))!($P($G(^("DI")),U)'["Y")!($P($G(^("DI")),U)["Y"&'$P(@(^DIC(DI,0,"GL")_"0)"),U,4))
|
---|
72 | W:'$T !!,$C(7),"THIS DATA DICTIONARY CHANGE IS NOT ALLOWED ON AN ARCHIVE FILE!"
|
---|
73 | Q
|
---|