| 1 | DIU2 ;SFISC/XAK/GFT-EDIT FILE ;8:03 AM  24 Oct 2001
 | 
|---|
| 2 |  ;;22.0;VA FileMan;**82**;Mar 30, 1999
 | 
|---|
| 3 |  ;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 |  ;from DIU0
 | 
|---|
| 6 | N S X=$P(^DIC(DA,0),U,1),D=@(DIU_"0)"),^(0)=X_U_$P(D,U,2,9) K ^DD(+$P(D,U,2),0,"NM") S ^("NM",X)="" Q:$D(Y)
 | 
|---|
| 7 |  I DUZ(0)]"" F DR=1:1:6 S D=$P("DD^RD^WR^DEL^LAYGO^AUDIT",U,DR),Y=$S($D(^DIC(DA,0,D)):^(D),1:"") D RW G Q:X=U
 | 
|---|
| 8 |  S X=$G(^("AUDIT"))
 | 
|---|
| 9 |  I X]"",DUZ(0)'="@" G OK:$TR(X,DUZ(0))=X
 | 
|---|
| 10 | DDA K DIR S DIR("A")="DD AUDIT",DIR(0)="YO"
 | 
|---|
| 11 |  S:$D(^DD(DA,0,"DDA")) DIR("B")=$S(^("DDA")["Y":"YES",1:"NO")
 | 
|---|
| 12 |  S DIR("??")="^W !!?5,""Enter 'Y' (YES) if you want to audit the Data Dictionary changes"",!?5,""for this file."""
 | 
|---|
| 13 |  D ^DIR K DIR Q:$D(DTOUT)!$D(DUOUT)  S ^DD(DA,0,"DDA")=$S(Y=1:"Y",1:"N")
 | 
|---|
| 14 | OK S DIU(0)=$P(@(DIU_"0)"),U,2) K DIR
 | 
|---|
| 15 |  S %=DIU(0)'["O"+1
 | 
|---|
| 16 |  W !,"ASK 'OK' WHEN LOOKING UP AN ENTRY" D YN^DICN
 | 
|---|
| 17 |  I %>0 S $P(@(DIU_"0)"),U,2)=$P(DIU(0),"O")_$E("O",%)_$P(DIU(0),"O",2)
 | 
|---|
| 18 |  I '% W !?5,"Answer YES to cause a lookup into this file to verify the",!?5,"selection by prompting with '...OK? YES//'." G OK
 | 
|---|
| 19 |  I DUZ(0)="@",%'<0 D ^DIU21
 | 
|---|
| 20 | Q K DIR,DIRUT,DTOUT,DUOUT,DIROUT Q
 | 
|---|
| 21 |  ;
 | 
|---|
| 22 | K ; CALLED BY ^DD(1,.01,"DEL",1,0)
 | 
|---|
| 23 |  N DIKREF,DG,DIR
 | 
|---|
| 24 |  S DIKREF=$$CREF^DILF(DIU),DG=@DIKREF@(0)
 | 
|---|
| 25 |  I $P($G(^DD(+$P(DG,U,2),0,"DI")),U,2)["Y" W $C(7)," CANNOT DELETE A RESTRICTED"_$S($P($G(^("DI")),U)["Y":" (ARCHIVE)",1:"")_" FILE!" Q
 | 
|---|
| 26 |  G G:'$O(@DIKREF@(0))
 | 
|---|
| 27 | H W $C(7),!,"DO YOU WANT JUST TO DELETE THE "
 | 
|---|
| 28 |  I $P(DG,U,4)>1 W $P(DG,U,4)," FILE ENTRIES,"
 | 
|---|
| 29 |  E  W "FILE CONTENTS,"
 | 
|---|
| 30 |  S %=2 W !?9,"& KEEP THE FILE DEFINITION" D YN^DICN
 | 
|---|
| 31 |  I %=0 W !,"Answer YES if you are just looking for a fast way to get rid of Entries",!! G H
 | 
|---|
| 32 |  I %<2 D:%=1  Q  ;$T left TRUE, so FILE will not be deleted
 | 
|---|
| 33 |  .N S
 | 
|---|
| 34 |  .M S=@DIKREF@(0) K @DIKREF
 | 
|---|
| 35 |  .M @DIKREF@(0)=S ;save back the stuff hanging from zero node
 | 
|---|
| 36 |  .S $P(@DIKREF@(0),U,3,99)="",^DIC(DA,0,"GL")=DIU
 | 
|---|
| 37 | G Q:$G(DIU(0))'["D"
 | 
|---|
| 38 |  S %=1 I $O(@DIKREF@(0)) W !?3,"IS IT OK TO DELETE THE '"_DIKREF_"' GLOBAL" D YN^DICN
 | 
|---|
| 39 |  I %=0 W !,"You can abort the deletion process at this point by typing '^'",!,"Answer NO if you want to save ",DIKREF," for redefinition at a later time.",!! G G
 | 
|---|
| 40 |  S:%=1 DIKLGLBL=DIKREF
 | 
|---|
| 41 |  I %<1 ;$T true means forget it!
 | 
|---|
| 42 | SURE I $D(DDS),$D(DDACT) D
 | 
|---|
| 43 |  . F  D  Q:%Y'["?"
 | 
|---|
| 44 |  .. S %=2 W !,"SURE YOU WANT TO DELETE THE ENTIRE FILE" D YN^DICN
 | 
|---|
| 45 |  .. I %Y["?" D
 | 
|---|
| 46 |  ... W !,"We are going to ",$S($D(DIKLGLBL):"Delete data associated with File #"_DA,1:"Leave the data associated with File #"_DA)
 | 
|---|
| 47 |  ... W !,"Answer YES if want to continue with the DELETION of the DD, Templates, Forms,"
 | 
|---|
| 48 |  ...  W !,"etc. for File #"_DA
 | 
|---|
| 49 |  I %-1
 | 
|---|
| 50 |  Q
 | 
|---|
| 51 |  ;
 | 
|---|
| 52 | RW W !,$P("DATA DICTIONARY^READ^WRITE^DELETE^LAYGO^AUDIT",U,DR)," ACCESS: " G R:Y="" W Y I DUZ(0)'="@" F X=1:1:$L(Y) Q:DUZ(0)[$E(Y,X)  G Q:X=$L(Y)
 | 
|---|
| 53 |  W "// "
 | 
|---|
| 54 | R R X:DTIME S:'$T X=U,DTOUT=1 Q:X=""
 | 
|---|
| 55 |  I X["@" G V:Y="" W $C(7),"   PROTECTION ERASED!" K ^(D) Q
 | 
|---|
| 56 |  Q:X[U
 | 
|---|
| 57 |  I X["?" W !,"ENTER CODE(S) TO RESTRICT USER'S ACCESS TO THIS FILE" G RW
 | 
|---|
| 58 | V I DUZ(0)'="@" F Z=1:1:$L(X) I DUZ(0)'[$E(X,Z) W $C(7),"??" G RW
 | 
|---|
| 59 |  S ^(D)=X Q
 | 
|---|
| 60 | EN ;
 | 
|---|
| 61 |  Q:'$D(DIU)  G EN^DIU0
 | 
|---|