VistA-FOIAVistA/r/KERNEL-XU-A4A7-USC-XG-XLF-X.../XUINPCH.m

98 lines
3.8 KiB
Mathematica

XUINPCH ;SF/RWF - RE-INDEX NEW X-REF ON FILE 200 ;01/13/99 09:40
;;8.0;KERNEL;**20,36,49,63,65,69,96,91,111**;Feb. 9, 1996
Q
POST1 ;Post init for patch XU*8*20 to reindex new X-ref on file 200.
N XU,DA,DIK
F XU=0:0 S XU=$O(^VA(200,XU)) Q:XU'>0 I $D(^VA(200,XU,203,0)) D
. S DA(1)=XU,DIK="^VA(200,"_XU_",203,",DIK(1)=".01^4"
. D ENALL^DIK
. Q
Q
POST14 ;Post INIT for patch XU*8*14 to seed the E-sig last changed date.
N DA,%,%H,LT S DA=.5,%H=$H,LT=$$KSP^XUPARAM("LIFETIME")
F S DA=$O(^VA(200,DA)) Q:DA'>0 S %=$G(^VA(200,DA,20)) I $L(%) D
. Q:'$L($P(%,U,4))!$P(%,U,1)
. S $P(^VA(200,DA,20),U,1)=+$$HADD^XLFDT(%H,($R(LT)+30),0,0,0)
. Q
Q
;
POST36 ;Post INIT for patch XU*8*36
N I,X
;Cleanup some old data in file 4.
F I=0:0 S I=$O(^DIC(4,I)) Q:I'>0 I $D(^DIC(4,I,1,"B"))>2 K ^DIC(4,I,1,"B")
;See that we have the current ID nodes for file 200
F I=1,2,3 S X=$T(ID200+I) I $P(X,";",3)]"" S ^DD(200,0,"ID",$P(X,";",3))=$P(X,";",4,99)
Q
ID200 ;;
;;1;D EN^DDIOL(" "_$P(^(0),U,2),"","?0")
;;28;D:$D(^(5)) EN^DDIOL(" "_$P(^(5),U,2),"","?0")
;;W8;D:$P(^(0),U,9) EN^DDIOL(" "_$$EXTERNAL^DILFD(200,8,"",$P(^(0),U,9)),"","?0")
;
POST49 ;Post INIT for patch XU*8*49
N I,X
;See that we have the current ID nodes for file 3.2 and 3.5
F I=1:1:4 S X=$T(ID49+I) I $P(X,";",3)]"" S ^DD($P(X,";",3),0,"ID",$P(X,";",4))=$P(X,";",5,99)
Q
ID49 ;;
;;3.2;W99;N % S %=$P($G(^(9)),U,1) D:$L(%) EN^DDIOL(" "_%,"",$S($S($X>30:$X,1:30)+$L(%)>76:"!?8",1:"?30"))
;;3.5;.02;N % S %=$P($G(^(1)),U) D:$L(%) EN^DDIOL(" "_%,"",$S($X+$L(%)>76:"!?"_(77-$L(%)),1:"?0"))
;;3.5;1;D EN^DDIOL(" "_$P(^(0),U,2),"","?0")
;;3.5;1.9;D EN^DDIOL(" "_$P(^(0),U,9),"","?0")
;
POST63 ;Post INIT for patch xu*8*63
;Move taskman screens to error message file.
N X1,X2,X3,ZDF,ZDA,DIE,DR,DA S X1=""
F X3=1:1 S X1=$O(^%ZTSCH("ES",X1)) Q:X1="" D
. S X2=$O(^%ZTER(2,"B",X1,0)) I X2 S DA=X2,DR=".03////2",DIE="3.076" D ^DIE Q
. S ZDA="?+1,",ZDF(3.076,ZDA,.01)="LOCAL_"_X3,ZDF(3.076,ZDA,.02)="L",ZDF(3.076,ZDA,.03)=2,ZDF(3.076,ZDA,2)=X1
. D UPDATE^DIE("","ZDF","") K ZDF Q
. Q
K ^%ZTSCH("ES")
Q
;
POST65 ;Post INIT for patch XU*8*65
;Remove extra CPU field from sign-on file.
I $D(^DD(3.081,60,0)) S DIK="^DD(3.081,",DA=60,DA(1)=3.081 D ^DIK
Q
POST69 ;Post init for patch XU*8*69
;Remove extra node from Option file set by patch 49
N DA,DIK,DF,X,Y,Z,N
K ^DD(19,.01,7.5),^DD(19,.01,4)
;Delete extra data from the device file
F DF=0:0 S DF=$O(^%ZIS(1,DF)) Q:DF'>0 S X=$G(^%ZIS(1,DF,91)),Y=+$G(^("SUBTYPE")) D
. S Z=$G(^%ZIS(2,Y,1)),N=""
. I X>0,$P(X,U,1,4)'=$P(Z,U,1,4) S:X>0 N=+X S:$P(X,U,3)]"" $P(N,U,3)=$P(X,U,3)
. K ^%ZIS(1,DF,91) S:N]"" ^(91)=N
. Q
;Remove fields 10 and 12 from file 3.5
F DA=10,12 S DIK="^DD(3.5,",DA(1)=3.5 D ^DIK
;Remove X-ref from SUBTYPE field.
I $D(^DD(3.5,3,1,1,0)) S DIK="^DD(3.5,3,1,",DA=1,DA(1)=3,DA(2)=3.5 D ^DIK
;Cleanup Resource file
K ^%ZIS(3.54) ;Been setting wrong global
S DA=" "
F S DA=$O(^%ZISL(3.54,DA),-1) Q:DA'>0 S Z=$P(^%ZISL(3.54,DA,0),U) D
. I $D(^%ZISL(3.54,DA,1,0))#2,$P(^(0),U,2)'="3.542" S $P(^(0),U,2)=3.542
. S Z(1)=$O(^%ZISL(3.54,"B",Z,0)) Q:Z(1)'<DA D
. . S DIK="^%ZISL(3.54," D ^DIK
;See that the FF field has data.
S DA=0
F S DA=$O(^%ZIS(2,DA)) Q:DA'>0 I "PC"[$E(^(DA,0)) S Z=$G(^%ZIS(2,DA,1)) I $P(Z,U,2)="" S $P(^%ZIS(2,DA,1),U,2)="#" W !,DA
Q
;
POST91 ;Fix SCR on file 3.5 for printing.
;;I 1 Q:$G(D)'="LSYN" Q:'$D(^%ZOSF("VOL")) I $P(^%ZIS(1,Y,0),U,9)=^%ZOSF("VOL")!($P(^%ZIS(1,Y,0),U,9)="")
S ^DD(3.5,0,"SCR")=$P($T(POST91+1),";;",2,99)
Q
POST96 ;Run the new X-ref
N IX,DIK,DA
F DA=0:0 S DA=$O(^DIC(4,DA)) Q:DA'>0 I '$D(^AUTTLOC(DA,0)) D
. S DIK="^DIC(4,",DIK(1)=".01" D EN1^DIK
. Q
Q
POST111 ;Delete file 49 subfiles that point to file 3.
N DIU
I $G(^DD(49.01,0))["*" S DIU=49.01,DIU(0)="SD" D EN^DIU2
I $G(^DD(49.02,0))["*" S DIU=49.02,DIU(0)="SD" D EN^DIU2
Q