| 1 | DIU21 ;SFISC/XAK-EDIT FILE (PGMR PART) ;06:21 PM  2 Apr 2001
 | 
|---|
| 2 |  ;;22.0;VA FileMan;**82**;Mar 30, 1999
 | 
|---|
| 3 |  ;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  D:'$D(DISYS) OS^DII Q:$G(^DD("OS",DISYS,18))=""
 | 
|---|
| 5 | SCR K DIR S DIR(0)="FOU^3:250",DIR("A")="FILE SCREEN" S:$D(^DD(DA,0,"SCR")) DIR("B")=^("SCR")
 | 
|---|
| 6 |  S DIR("?")="IF MUMPS CODE IS ENTERED HERE, IT IS A PERMANENT 'DIC(""S"")' FOR FILE"
 | 
|---|
| 7 |  D ^DIR G:$D(DTOUT)!($D(DUOUT)) Q K DIRUT,DIROUT G:X="" ACT
 | 
|---|
| 8 |  I "@"'[X D ^DIM I $D(X) S ^DD(DA,0,"SCR")=X S:DIU(0)'["s" $P(@(DIU_"0)"),U,2)=DIU(0)_"s" G ACT
 | 
|---|
| 9 |  I $G(X)="@" K ^DD(DA,0,"SCR") S $P(@(DIU_"0)"),U,2)=$TR(DIU(0),"s") W "   "_$$EZBLD^DIALOG(8015) G ACT
 | 
|---|
| 10 |  W $C(7),"   ",$$EZBLD^DIALOG(9025) G SCR
 | 
|---|
| 11 | ACT K DIR S DIR(0)="FOU^3:250",DIR("A")=$$EZBLD^DIALOG(8013) S:$D(^DD(DA,0,"ACT")) DIR("B")=^("ACT")
 | 
|---|
| 12 |  S DIR("?",1)=$$EZBLD^DIALOG(9025),DIR("?")=$$EZBLD^DIALOG(9024)
 | 
|---|
| 13 |  D ^DIR G:$D(DTOUT)!($D(DUOUT)) Q K DIRUT,DIROUT G:X="" DIC
 | 
|---|
| 14 |  I "@"'[X D ^DIM I $D(X) S ^DD(DA,0,"ACT")=X G DIC
 | 
|---|
| 15 |  I $G(X)="@" K ^DD(DA,0,"ACT") W "   "_$$EZBLD^DIALOG(8015) G DIC
 | 
|---|
| 16 |  W $C(7),"   ",$$EZBLD^DIALOG(9025) G ACT
 | 
|---|
| 17 | DIC K DIR N Y,DIPARAM S DIR(0)="FO^3:8^K:X?1""DI"".E X",DIR("A")=$$EZBLD^DIALOG(8014) S:$G(^DD(DA,0,"DIC"))]"" DIR("B")=^("DIC")
 | 
|---|
| 18 |  S DIPARAM=9026,DIPARAM(1)=8 D H,H1
 | 
|---|
| 19 |  D ^DIR K DIRUT,DIROUT
 | 
|---|
| 20 |  G:$D(DTOUT)!($D(DUOUT)) Q G:X="" DIK
 | 
|---|
| 21 |  I X="@" K ^DD(DA,0,"DIC") W "   "_$$EZBLD^DIALOG(8015) G DIK
 | 
|---|
| 22 |  I '$$ROUEXIST^DILIBF(X) W $C(7),"   ",$$EZBLD^DIALOG(8017) G DIC
 | 
|---|
| 23 |  S ^DD(DA,0,"DIC")=X
 | 
|---|
| 24 | DIK S X=$G(^DD(DA,0,"DIKOLD")),Y=$G(^("DIK")) I X]"",X'=Y W !,"   " D BLD^DIALOG(8018,X,"","DIR") W DIR
 | 
|---|
| 25 |  K DIR S DIR(0)="FO^3:6^K:X?1""DI"".E X",DIR("A")=$$EZBLD^DIALOG(8019) S:Y]"" DIR("B")=Y
 | 
|---|
| 26 |  S DIPARAM=9027,DIPARAM(1)=6 D H,H1
 | 
|---|
| 27 |  D ^DIR I X="@" G QA
 | 
|---|
| 28 |  G:$D(DIRUT)!(X="") Q
 | 
|---|
| 29 |  I $$ROUEXIST^DILIBF(X) W $C(7),! S DIPARAM(1)=X D BLD^DIALOG(8016,.DIPARAM,"","DIR") W DIR
 | 
|---|
| 30 |  K DIR N DICMP S DICMP=0 I $G(^DD(DA,0,"DIK"))=""!($G(^("DIK"))'=X) S DICMP=1
 | 
|---|
| 31 |  N DIKPGM S DIKPGM=X
 | 
|---|
| 32 |  S DIR(0)="YO",DIR("A")=$$EZBLD^DIALOG(8020)
 | 
|---|
| 33 |  I 'DICMP S DIR("B")="NO" D BLD^DIALOG(9028,"","","DIR(""?"")")
 | 
|---|
| 34 |  I DICMP S DIR("B")="YES" D BLD^DIALOG(9029,"","","DIR(""?"")")
 | 
|---|
| 35 |  D ^DIR G Q:$D(DIRUT)
 | 
|---|
| 36 |  I 'Y G:'DICMP Q W $C(7) G QA
 | 
|---|
| 37 |  S X=DIKPGM,Y=DA,DMAX=^DD("ROU") K DIR,DICMP,DIKPGM G EN^DIKZ
 | 
|---|
| 38 |  ;
 | 
|---|
| 39 | A N DA S DA=+X N X K ^DD(DA,0,"DIK")
 | 
|---|
| 40 |  F X=0:0 S X=$O(^DD(DA,"SB",X)) Q:X'>0  D A
 | 
|---|
| 41 |  Q
 | 
|---|
| 42 | QA S X=DA D A W "   "_$$EZBLD^DIALOG(8015),!,"   ",$$EZBLD^DIALOG(8021)
 | 
|---|
| 43 | Q Q
 | 
|---|
| 44 | H ; Build help for entering routine name.
 | 
|---|
| 45 |  D BLD^DIALOG(9006,.DIPARAM,"","DIR(""?"")") Q
 | 
|---|
| 46 | H1 N I S I=$O(DIR("?",":"),-1) I I S DIR("?",I+1)=DIR("?")
 | 
|---|
| 47 |  I DIPARAM=9027 S DIR("?",I+2)=$$EZBLD^DIALOG(9030)
 | 
|---|
| 48 |  D BLD^DIALOG(DIPARAM,"","","DIR(""?"")") Q
 | 
|---|
| 49 |  ;
 | 
|---|
| 50 | DIE ;not in 20
 | 
|---|
| 51 |  I $P($G(^DD(DA,0,"DI")),U)["Y" W !,$C(7),"RESTRICT EDITING OF FILE? YES//  (UNEDITABLE) THIS IS AN ARCHIVE FILE." Q
 | 
|---|
| 52 |  N DIR,DIEYN S DIR(0)="YO",DIR("A")="RESTRICT EDITING OF FILE",DIR("B")=$S($P($G(^DD(DA,0,"DI")),U,2)["Y":"YES",1:"NO")
 | 
|---|
| 53 |  S DIR("?",1)="YES will not allow editing or deleting existing file entries or adding new file     entries",DIR("?")="NO  will place no restrictions on the file"
 | 
|---|
| 54 |  D ^DIR Q:$D(DTOUT)!$D(DUOUT)
 | 
|---|
| 55 |  S DIEYN=$S(Y:"Y",1:"N")
 | 
|---|
| 56 |  D DIE1 Q:$D(DTOUT)!($D(DUOUT))  G:'$D(DIEYN) DIE
 | 
|---|
| 57 |  S $P(^DD(DA,0,"DI"),U,2)=DIEYN
 | 
|---|
| 58 |  Q
 | 
|---|
| 59 | DIE1 Q:Y&($E(DIR("B"))="Y")  Q:'Y&($E(DIR("B"))="N")
 | 
|---|
| 60 |  I Y W !,$C(7),"WARNING- DATA IN THIS FILE IS NOW UNEDITABLE"
 | 
|---|
| 61 |  I 'Y W !,$C(7),"WARNING- DATA IN THIS FILE IS NOW EDITABLE"
 | 
|---|
| 62 |  K DIR S DIR(0)="Y",DIR("A")="ARE YOU SURE"
 | 
|---|
| 63 |  D ^DIR Q:$D(DTOUT)!$D(DUOUT)  K:'Y DIEYN
 | 
|---|
| 64 |  Q
 | 
|---|
| 65 |  ;
 | 
|---|
| 66 |  ;DIALOG #8013  'POST-SELECTION ACTION'
 | 
|---|
| 67 |  ;       #8014  'LOOK-UP PROGRAM'
 | 
|---|
| 68 |  ;       #8015  'Deleted.'
 | 
|---|
| 69 |  ;       #8016  'Note that...is already in the routine directory.'
 | 
|---|
| 70 |  ;       #8017  'This routine does not exist in the routine directory.'
 | 
|---|
| 71 |  ;       #8018  'Previously compiled under routine name...'
 | 
|---|
| 72 |  ;       #8019  'CROSS-REFERENCE ROUTINE'
 | 
|---|
| 73 |  ;       #8020  'Should the compilation run now'
 | 
|---|
| 74 |  ;       #8021  'The compiled routines will no longer be used...'
 | 
|---|
| 75 |  ;       #9006  'Enter a valid MUMPS routine name of from 3 to...'
 | 
|---|
| 76 |  ;       #9024  'This code will be executed whenever an entry is...'
 | 
|---|
| 77 |  ;       #9025  'Enter a line of standard MUMPS code'
 | 
|---|
| 78 |  ;       #9026  'This special lookup routine will be executed...'
 | 
|---|
| 79 |  ;       #9027  'if a NEW routine name is entered, but the cross-ref...'
 | 
|---|
| 80 |  ;       #9028  'It is not necessary to recompile the cross-ref...'
 | 
|---|
| 81 |  ;       #9029  'If the cross-references are not recompiled...'
 | 
|---|
| 82 |  ;       #9030  'This will become the namespace of the compiled routine'
 | 
|---|