| 1 | DIPR11 ;SFISC/MKO-PRE INSTALL ROUTINE FOR PATCH DI*22.0*11 ;2/15/00  10:22 | 
|---|
| 2 | ;;22.0;VA FileMan;**11**;Mar 30, 1999 | 
|---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | ; | 
|---|
| 5 | ;Modify the trigger logic of fields that trigger fields with | 
|---|
| 6 | ;New-Style Indexes, so that they call ^DICR unconditionally, | 
|---|
| 7 | ;This ensures that New-Style Indexes on the triggered fields are | 
|---|
| 8 | ;are fired when the trigger logic is executed. | 
|---|
| 9 | ;Also, recompile any input templates that contain fields that trigger | 
|---|
| 10 | ;fields with new-style indexes. | 
|---|
| 11 | TRIG N FIL,FLD,NAM,OUT,TEM | 
|---|
| 12 | K ^TMP("DIPR11",$J) | 
|---|
| 13 | S FIL=.9999 F  S FIL=$O(^DD("IX","F",FIL)) Q:'FIL  D | 
|---|
| 14 | . S FLD=0 F  S FLD=$O(^DD("IX","F",FIL,FLD)) Q:'FLD  D | 
|---|
| 15 | .. Q:$D(^TMP("DIPR11",$J,FIL,FLD))  S ^(FLD)="" | 
|---|
| 16 | .. K OUT D TRMOD^DICR(FIL,FLD,.OUT) Q:'$D(OUT) | 
|---|
| 17 | .. M ^TMP("DIPR11",$J)=OUT | 
|---|
| 18 | ; | 
|---|
| 19 | S FIL=0 F  S FIL=$O(^TMP("DIPR11",$J,FIL)) Q:'FIL  D | 
|---|
| 20 | . S FLD=$O(^TMP("DIPR11",$J,FIL,FLD)) Q:'FLD  D | 
|---|
| 21 | .. S TEM=0 F  S TEM=$O(^DIE("AF",FIL,FLD,TEM)) Q:'TEM  D | 
|---|
| 22 | ... Q:$D(^TMP("DIPR11",$J,"TEM",TEM))  S ^(TEM)="" | 
|---|
| 23 | ... S NAM=$G(^DIE(TEM,"ROUOLD")) Q:NAM="" | 
|---|
| 24 | ... D EN2^DIEZ(TEM,"",NAM) | 
|---|
| 25 | K ^TMP("DIPR11",$J) | 
|---|
| 26 | ; | 
|---|
| 27 | NODE0 ; Repair 0 node of INDEX and KEY files | 
|---|
| 28 | N I,DICNT,DILAST S DICNT=0,DILAST="",I=0 | 
|---|
| 29 | F  S I=$O(^DD("IX",I)) Q:'I  I $D(^DD("IX",I,0))#2 S DICNT=DICNT+1,DILAST=I | 
|---|
| 30 | S $P(^DD("IX",0),"^",3,4)=DILAST_"^"_DICNT | 
|---|
| 31 | S DICNT=0,DILAST="",I=0 | 
|---|
| 32 | F  S I=$O(^DD("KEY",I)) Q:'I  I $D(^DD("KEY",I,0))#2 S DICNT=DICNT+1,DILAST=I | 
|---|
| 33 | S $P(^DD("KEY",0),"^",3,4)=DILAST_"^"_DICNT | 
|---|
| 34 | Q | 
|---|
| 35 | ; | 
|---|