[613] | 1 | DIEKMSG ;SFISC/MKO-PRINT MESSAGE ABOUT BAD KEYS ;12:47 PM 18 Feb 1998
|
---|
| 2 | ;;22.0;VA FileMan;;Mar 30, 1999
|
---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | MSG(DIEBADK,DIEREST) ;Print message
|
---|
| 5 | Q:$D(DIEBADK)<2
|
---|
| 6 | ;
|
---|
| 7 | N ANS,FIL,FINFO,FLD,KEY,LEV,MSG,NEW,OLD,REC,RFIL,TXT,DIERR
|
---|
| 8 | K ^TMP("DIEMSG",$J)
|
---|
| 9 | ;
|
---|
| 10 | D PROMPT(DIEREST,.ANS) Q:'ANS
|
---|
| 11 | ;
|
---|
| 12 | W !
|
---|
| 13 | I DIEREST D
|
---|
| 14 | . D L("The following field(s) have been restored to their pre-edited values:")
|
---|
| 15 | E D L("The following field values are not valid:")
|
---|
| 16 | D L("")
|
---|
| 17 | ;
|
---|
| 18 | ;Loop through root files
|
---|
| 19 | S RFIL=0 F S RFIL=$O(DIEBADK(RFIL)) Q:'RFIL D
|
---|
| 20 | . D FILENAME^DIKCU1(RFIL,.TXT,.FINFO) Q:'$D(FINFO)
|
---|
| 21 | . D FILELN(.TXT,FINFO)
|
---|
| 22 | . ;
|
---|
| 23 | . ;Loop through keys
|
---|
| 24 | . S KEY=0 F S KEY=$O(DIEBADK(RFIL,KEY)) Q:'KEY D
|
---|
| 25 | .. D L(" Key: "_$P(^DD("KEY",KEY,0),U,2))
|
---|
| 26 | .. ;
|
---|
| 27 | .. ;Loop through files
|
---|
| 28 | .. S FIL=0 F S FIL=$O(DIEBADK(RFIL,KEY,FIL)) Q:'FIL D
|
---|
| 29 | ... ;
|
---|
| 30 | ... ;Loop through records
|
---|
| 31 | ... S REC=0 F S REC=$O(DIEBADK(RFIL,KEY,FIL,REC)) Q:'REC D
|
---|
| 32 | .... D RECNAME^DIKCU1("",REC,.TXT,.FINFO)
|
---|
| 33 | .... D RECLN(.TXT,FINFO)
|
---|
| 34 | .... ;
|
---|
| 35 | .... ;Loop through fields
|
---|
| 36 | .... S FLD=0 F S FLD=$O(DIEBADK(RFIL,KEY,FIL,REC,FLD)) Q:'FLD D
|
---|
| 37 | ..... S OLD=$G(DIEBADK(RFIL,KEY,FIL,REC,FLD,"O"))
|
---|
| 38 | ..... S NEW=$G(DIEBADK(RFIL,KEY,FIL,REC,FLD,"N"))
|
---|
| 39 | ..... S OLD=$S(OLD]"":$$EXTERNAL^DILFD(FIL,FLD,"",OLD,"MSG"),1:"<null>")
|
---|
| 40 | ..... S NEW=$S(NEW]"":$$EXTERNAL^DILFD(FIL,FLD,"",NEW,"MSG"),1:"<null>")
|
---|
| 41 | ..... I $G(DIERR) K DIERR,MSG Q
|
---|
| 42 | ..... D L("")
|
---|
| 43 | ..... D L($J("",14)_"Field: "_$P(^DD(FIL,FLD,0),U)_" (#"_FLD_")")
|
---|
| 44 | ..... D L($J("",6)_"Invalid value: "),L(NEW,1,21)
|
---|
| 45 | ..... D:$G(DIEREST) L($J("",8)_"Restored to: "),L(OLD,1,21)
|
---|
| 46 | .... D L("")
|
---|
| 47 | ;
|
---|
| 48 | I $D(^TMP("DIEMSG",$J)) D PRINT
|
---|
| 49 | K ^TMP("DIEMSG",$J)
|
---|
| 50 | Q
|
---|
| 51 | ;
|
---|
| 52 | FILELN(TXT,LEV) ;
|
---|
| 53 | N I,MAR
|
---|
| 54 | S MAR=$S($G(IOM)<40:80,1:IOM)-1
|
---|
| 55 | ;
|
---|
| 56 | S TXT=$S(LEV:"Subfile",1:"File")_": "_TXT
|
---|
| 57 | D WRAP^DIKCU2(.TXT,MAR-9,MAR)
|
---|
| 58 | D L(TXT) F I=1:1 Q:'$D(TXT(I)) D L($J("",9)_TXT(I))
|
---|
| 59 | Q
|
---|
| 60 | ;
|
---|
| 61 | RECLN(TXT,LEV) ;
|
---|
| 62 | N I,MAR
|
---|
| 63 | S MAR=$S($G(IOM)<40:80,1:IOM)-1
|
---|
| 64 | ;
|
---|
| 65 | S TXT=" Record: "_TXT
|
---|
| 66 | D WRAP^DIKCU2(.TXT,MAR-12,MAR)
|
---|
| 67 | D L(TXT) F I=1:1 Q:'$D(TXT(I)) D L($J("",12)_TXT(I))
|
---|
| 68 | Q
|
---|
| 69 | ;
|
---|
| 70 | L(X,A,LM) ;Add X to the DIEMSG array
|
---|
| 71 | N LC
|
---|
| 72 | S LC=$O(^TMP("DIEMSG",$J,""),-1)
|
---|
| 73 | ;
|
---|
| 74 | I '$G(LM) D Q
|
---|
| 75 | . I '$G(A) S ^TMP("DIEMSG",$J,LC+1)=X
|
---|
| 76 | . E S ^(LC)=^TMP("DIEMSG",$J,LC)_X
|
---|
| 77 | ;
|
---|
| 78 | N I,M,T
|
---|
| 79 | S M=$S($G(IOM)<40:80,1:IOM)-1 S:M'>LM LM=0
|
---|
| 80 | F I=1:1 D Q:X=""
|
---|
| 81 | . S T=$E(X,1,M-LM),X=$E(X,M-LM+1,999)
|
---|
| 82 | . I I=1,$G(A) S ^(LC)=^TMP("DIEMSG",$J,LC)_T
|
---|
| 83 | . E S LC=LC+1,^TMP("DIEMSG",$J,LC)=$J("",LM)_T
|
---|
| 84 | Q
|
---|
| 85 | ;
|
---|
| 86 | PRINT ;Print lines stored in ^TMP("DIEMSG",$J)
|
---|
| 87 | N I,LC,SL
|
---|
| 88 | S SL=$S($G(IOSL)<4:24,1:IOSL)
|
---|
| 89 | S (I,LC)=0 F S I=$O(^TMP("DIEMSG",$J,I)) Q:'I D
|
---|
| 90 | . S LC=LC+1
|
---|
| 91 | . W ^TMP("DIEMSG",$J,I),!
|
---|
| 92 | . I LC'<(SL-2) D
|
---|
| 93 | .. N DIR,DUOUT,DTOUT,DIRUT,DIROUT,X,Y
|
---|
| 94 | .. S DIR(0)="E" D ^DIR W !!
|
---|
| 95 | .. S LC=0
|
---|
| 96 | Q
|
---|
| 97 | ;
|
---|
| 98 | PROMPT(DIEREST,ANS) ;Ask user whether to print report
|
---|
| 99 | N DIR,X,Y,DTOUT,DUOUT,DIROUT,DIRUT
|
---|
| 100 | W !!,$C(7)_"***** NOTE *****"
|
---|
| 101 | W !!,"Some of the previous edits are not valid because they create one or more"
|
---|
| 102 | W !,"duplicate keys."
|
---|
| 103 | I $G(DIEREST) D
|
---|
| 104 | . W " Some fields have been restored to their pre-edited"
|
---|
| 105 | . W !,"values."
|
---|
| 106 | W !
|
---|
| 107 | ;
|
---|
| 108 | S DIR(0)="Y",DIR("B")="YES"
|
---|
| 109 | S DIR("A")="Do you want to see a list of those fields"
|
---|
| 110 | D ^DIR W !
|
---|
| 111 | S ANS=Y=1
|
---|
| 112 | Q
|
---|