GMTSXPS2 ; SLC/KER - Health Summary Status ; 08/27/2002
;;2.7;Health Summary;**35,56**;Oct 20, 1995
;
; External References
; DBIA 10048 ^DIC(9.4,
; DBIA 10006 IX^DIC
; DBIA 2056 $$GET1^DIQ (file 9.4)
;
Q
INS ; Get Installations
N GMTS0,GMTSDT,GMTSEQ,GMTSI,GMTSIENS,GMTSIN,GMTSN,GMTSNM,GMTSP
N GMTSPAT,GMTSPD,GMTSPDE,GMTSPI,GMTSST,GMTSTDT,GMTSTN,GMTSTNM
N GMTSV,GMTSVD,GMTSVDE,GMTSVDS,GMTSVI,GMTSNX,X,DIC,X,Y,DTOUT
N DUOUT,DLAYGO,DINUM S GMTSI=$$PKGI Q:+GMTSI=0 S GMTSV=2.7
S GMTSVI=$$VERI(GMTSI,GMTSV) Q:GMTSVI=0
S GMTSIENS=GMTSVI_","_GMTSI_","
S GMTSVDE=$$GET1^DIQ(9.49,GMTSIENS,2,"I")
S GMTSVDS=$$GET1^DIQ(9.49,GMTSIENS,1,"I")
S GMTSVD="" S:+GMTSVDE>0 GMTSVD=+GMTSVDE
S:+GMTSVD=0&(+GMTSVDS>0) GMTSVD=+GMTSVDS S:+GMTSVD>0&(+GMTSVDE>+GMTSVD) GMTSVD=+GMTSVDE Q:+GMTSVD=0
S GMTSVDE=$$EDT^GMTSXPS1($P(GMTSVD,".",1)) K GMTSVDS S GMTSIN(1,1)="Health Summary "_GMTSV_"^"_GMTSVDE
S GMTSPI=0 F S GMTSPI=$O(^DIC(9.4,GMTSI,22,GMTSVI,"PAH",GMTSPI)) Q:+GMTSPI=0 D
. S GMTSIENS=GMTSPI_","_GMTSVI_","_GMTSI_","
. S GMTSP=$$GET1^DIQ(9.4901,GMTSIENS,.01) Q:'$L(GMTSP) Q:+GMTSP=0
. S GMTSPD=$$GET1^DIQ(9.4901,GMTSIENS,.02,"I") Q:+GMTSPD=0
. S GMTSEQ="Test" S:GMTSP["SEQ #" GMTSEQ=+($P(GMTSP,"SEQ #",2)) S:+($G(GMTSEQ))=0 GMTSEQ="Test"
. S GMTSPAT=+GMTSP,GMTSPDE=$$EDT^GMTSXPS1(GMTSPD) Q:'$L(GMTSPDE)
. S GMTSIN(2,GMTSPAT,GMTSEQ)="GMTS*"_GMTSV_"*"_GMTSP_"^"_GMTSPDE
. S:$L(GMTSEQ)&(+GMTSEQ>0) GMTSIN(2,"SEQ",GMTSEQ,GMTSPAT)="GMTS*"_GMTSV_"*"_GMTSP_"^"_GMTSPDE
. S:$L(GMTSEQ)&(GMTSEQ["Test") GMTSIN(2,"SEQT",GMTSEQ,GMTSPAT)="GMTS*"_GMTSV_"*"_GMTSP_"^"_GMTSPDE
; Package
S GMTSN=GMTSIN(1,1),GMTSNM=$P(GMTSN,"^",1),GMTSDT=$P(GMTSN,"^",2),GMTSST="" D HD,SI
; Patches Installed in Sequence
S GMTSEQ=0 F S GMTSEQ=$O(GMTSIN(2,"SEQ",GMTSEQ)) Q:+GMTSEQ=0 D
. S GMTSP=0 F S GMTSP=$O(GMTSIN(2,"SEQ",GMTSEQ,GMTSP)) Q:+GMTSP=0 D
. . S GMTSN=$G(GMTSIN(2,GMTSP,GMTSEQ)) Q:'$L(GMTSN)
. . S GMTSNM=$P(GMTSN,"^",1) Q:'$L(GMTSNM)
. . S GMTSDT=$P(GMTSN,"^",2) Q:'$L(GMTSDT)
. . S GMTSST=""
. . I $D(GMTSIN(2,"SEQT","Test",GMTSP)) D
. . . N GMTSTN,GMTSTNM,GMTSTDT S GMTSTN=$G(GMTSIN(2,GMTSP,"Test")) I '$L(GMTSTN) K GMTSIN(2,"SEQT","Test",GMTSP) Q
. . . S GMTSTNM=$P(GMTSTN,"^",1) I '$L(GMTSTNM) K GMTSIN(2,"SEQT","Test",GMTSP) Q
. . . S GMTSTDT=$P(GMTSTN,"^",2) I '$L(GMTSTDT) K GMTSIN(2,"SEQT","Test",GMTSP) Q
. . . N GMTSNM,GMTSDT,GMTSST S GMTSNM=GMTSTNM,GMTSDT=GMTSTDT,GMTSST="Test"
. . . D SI K GMTSIN(2,"SEQT","Test",GMTSP)
. . D SI
; Other Patches Installed (test patches)
I $D(GMTSIN(2,"SEQT")) D
. N GMTSP,GMTSTN,GMTSTNM,GMTSTDT
. S GMTSP=0 F S GMTSP=$O(GMTSIN(2,"SEQT","Test",GMTSP)) Q:+GMTSP=0 D
. . S GMTSTN=$G(GMTSIN(2,GMTSP,"Test")) I '$L(GMTSTN) K GMTSIN(2,"SEQT","Test",GMTSP) Q
. . S GMTSTNM=$P(GMTSTN,"^",1) I '$L(GMTSTNM) K GMTSIN(2,"SEQT","Test",GMTSP) Q
. . S GMTSTDT=$P(GMTSTN,"^",2) I '$L(GMTSTDT) K GMTSIN(2,"SEQT","Test",GMTSP) Q
. . S GMTSNM=GMTSTNM,GMTSDT=GMTSTDT,GMTSST="Test"
. . D SI K GMTSIN(2,"SEQT","Test",GMTSP)
D BL^GMTSXPS1
Q
PKGI(X) ; Package
N D,Y,DIC,DTOUT,DUOUT S DIC(0)="I",D="C"
S X="GMTS",DIC="^DIC(9.4,"
D IX^DIC S X=0 S:+Y>0 X=+Y Q X
VERI(X,Y) ; Version
N DA,D,DIC,DTOUT,DUOUT S DIC(0)="I",D="B" S DA(1)=+($G(X))
Q:DA(1)=0 0 S X=+($G(Y)) Q:X=0 0 S DIC="^DIC(9.4,"_DA(1)_",22,"
D IX^DIC S X=0 S:+Y>0 X=+Y Q X
; Report
HD ; Header
N X S X=" Install Name",X=X_$J("",28-$L(X))_"Date" D TL^GMTSXPS1(X) S X="" S $P(X,"-",42)="-",X=" "_X D TL^GMTSXPS1(X)
Q
SI ; Site Installs
S GMTSNM=$G(GMTSNM) Q:'$L(GMTSNM) S GMTSDT=$G(GMTSDT) Q:'$L(GMTSDT) S GMTSST=$G(GMTSST)
N X S X=" "_GMTSNM,X=X_$J("",28-$L(X))_GMTSDT S:$L(GMTSST) X=X_$J("",40-$L(X))_GMTSST D TL^GMTSXPS1(X)
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HGMTSXPS2 3769 printed Dec 13, 2024@02:01:02 Page 2
GMTSXPS2 ; SLC/KER - Health Summary Status ; 08/27/2002
+1 ;;2.7;Health Summary;**35,56**;Oct 20, 1995
+2 ;
+3 ; External References
+4 ; DBIA 10048 ^DIC(9.4,
+5 ; DBIA 10006 IX^DIC
+6 ; DBIA 2056 $$GET1^DIQ (file 9.4)
+7 ;
+8 QUIT
INS ; Get Installations
+1 NEW GMTS0,GMTSDT,GMTSEQ,GMTSI,GMTSIENS,GMTSIN,GMTSN,GMTSNM,GMTSP
+2 NEW GMTSPAT,GMTSPD,GMTSPDE,GMTSPI,GMTSST,GMTSTDT,GMTSTN,GMTSTNM
+3 NEW GMTSV,GMTSVD,GMTSVDE,GMTSVDS,GMTSVI,GMTSNX,X,DIC,X,Y,DTOUT
+4 NEW DUOUT,DLAYGO,DINUM
SET GMTSI=$$PKGI
if +GMTSI=0
QUIT
SET GMTSV=2.7
+5 SET GMTSVI=$$VERI(GMTSI,GMTSV)
if GMTSVI=0
QUIT
+6 SET GMTSIENS=GMTSVI_","_GMTSI_","
+7 SET GMTSVDE=$$GET1^DIQ(9.49,GMTSIENS,2,"I")
+8 SET GMTSVDS=$$GET1^DIQ(9.49,GMTSIENS,1,"I")
+9 SET GMTSVD=""
if +GMTSVDE>0
SET GMTSVD=+GMTSVDE
+10 if +GMTSVD=0&(+GMTSVDS>0)
SET GMTSVD=+GMTSVDS
if +GMTSVD>0&(+GMTSVDE>+GMTSVD)
SET GMTSVD=+GMTSVDE
if +GMTSVD=0
QUIT
+11 SET GMTSVDE=$$EDT^GMTSXPS1($PIECE(GMTSVD,".",1))
KILL GMTSVDS
SET GMTSIN(1,1)="Health Summary "_GMTSV_"^"_GMTSVDE
+12 SET GMTSPI=0
FOR
SET GMTSPI=$ORDER(^DIC(9.4,GMTSI,22,GMTSVI,"PAH",GMTSPI))
if +GMTSPI=0
QUIT
Begin DoDot:1
+13 SET GMTSIENS=GMTSPI_","_GMTSVI_","_GMTSI_","
+14 SET GMTSP=$$GET1^DIQ(9.4901,GMTSIENS,.01)
if '$LENGTH(GMTSP)
QUIT
if +GMTSP=0
QUIT
+15 SET GMTSPD=$$GET1^DIQ(9.4901,GMTSIENS,.02,"I")
if +GMTSPD=0
QUIT
+16 SET GMTSEQ="Test"
if GMTSP["SEQ #"
SET GMTSEQ=+($PIECE(GMTSP,"SEQ #",2))
if +($GET(GMTSEQ))=0
SET GMTSEQ="Test"
+17 SET GMTSPAT=+GMTSP
SET GMTSPDE=$$EDT^GMTSXPS1(GMTSPD)
if '$LENGTH(GMTSPDE)
QUIT
+18 SET GMTSIN(2,GMTSPAT,GMTSEQ)="GMTS*"_GMTSV_"*"_GMTSP_"^"_GMTSPDE
+19 if $LENGTH(GMTSEQ)&(+GMTSEQ>0)
SET GMTSIN(2,"SEQ",GMTSEQ,GMTSPAT)="GMTS*"_GMTSV_"*"_GMTSP_"^"_GMTSPDE
+20 if $LENGTH(GMTSEQ)&(GMTSEQ["Test")
SET GMTSIN(2,"SEQT",GMTSEQ,GMTSPAT)="GMTS*"_GMTSV_"*"_GMTSP_"^"_GMTSPDE
End DoDot:1
+21 ; Package
+22 SET GMTSN=GMTSIN(1,1)
SET GMTSNM=$PIECE(GMTSN,"^",1)
SET GMTSDT=$PIECE(GMTSN,"^",2)
SET GMTSST=""
DO HD
DO SI
+23 ; Patches Installed in Sequence
+24 SET GMTSEQ=0
FOR
SET GMTSEQ=$ORDER(GMTSIN(2,"SEQ",GMTSEQ))
if +GMTSEQ=0
QUIT
Begin DoDot:1
+25 SET GMTSP=0
FOR
SET GMTSP=$ORDER(GMTSIN(2,"SEQ",GMTSEQ,GMTSP))
if +GMTSP=0
QUIT
Begin DoDot:2
+26 SET GMTSN=$GET(GMTSIN(2,GMTSP,GMTSEQ))
if '$LENGTH(GMTSN)
QUIT
+27 SET GMTSNM=$PIECE(GMTSN,"^",1)
if '$LENGTH(GMTSNM)
QUIT
+28 SET GMTSDT=$PIECE(GMTSN,"^",2)
if '$LENGTH(GMTSDT)
QUIT
+29 SET GMTSST=""
+30 IF $DATA(GMTSIN(2,"SEQT","Test",GMTSP))
Begin DoDot:3
+31 NEW GMTSTN,GMTSTNM,GMTSTDT
SET GMTSTN=$GET(GMTSIN(2,GMTSP,"Test"))
IF '$LENGTH(GMTSTN)
KILL GMTSIN(2,"SEQT","Test",GMTSP)
QUIT
+32 SET GMTSTNM=$PIECE(GMTSTN,"^",1)
IF '$LENGTH(GMTSTNM)
KILL GMTSIN(2,"SEQT","Test",GMTSP)
QUIT
+33 SET GMTSTDT=$PIECE(GMTSTN,"^",2)
IF '$LENGTH(GMTSTDT)
KILL GMTSIN(2,"SEQT","Test",GMTSP)
QUIT
+34 NEW GMTSNM,GMTSDT,GMTSST
SET GMTSNM=GMTSTNM
SET GMTSDT=GMTSTDT
SET GMTSST="Test"
+35 DO SI
KILL GMTSIN(2,"SEQT","Test",GMTSP)
End DoDot:3
+36 DO SI
End DoDot:2
End DoDot:1
+37 ; Other Patches Installed (test patches)
+38 IF $DATA(GMTSIN(2,"SEQT"))
Begin DoDot:1
+39 NEW GMTSP,GMTSTN,GMTSTNM,GMTSTDT
+40 SET GMTSP=0
FOR
SET GMTSP=$ORDER(GMTSIN(2,"SEQT","Test",GMTSP))
if +GMTSP=0
QUIT
Begin DoDot:2
+41 SET GMTSTN=$GET(GMTSIN(2,GMTSP,"Test"))
IF '$LENGTH(GMTSTN)
KILL GMTSIN(2,"SEQT","Test",GMTSP)
QUIT
+42 SET GMTSTNM=$PIECE(GMTSTN,"^",1)
IF '$LENGTH(GMTSTNM)
KILL GMTSIN(2,"SEQT","Test",GMTSP)
QUIT
+43 SET GMTSTDT=$PIECE(GMTSTN,"^",2)
IF '$LENGTH(GMTSTDT)
KILL GMTSIN(2,"SEQT","Test",GMTSP)
QUIT
+44 SET GMTSNM=GMTSTNM
SET GMTSDT=GMTSTDT
SET GMTSST="Test"
+45 DO SI
KILL GMTSIN(2,"SEQT","Test",GMTSP)
End DoDot:2
End DoDot:1
+46 DO BL^GMTSXPS1
+47 QUIT
PKGI(X) ; Package
+1 NEW D,Y,DIC,DTOUT,DUOUT
SET DIC(0)="I"
SET D="C"
+2 SET X="GMTS"
SET DIC="^DIC(9.4,"
+3 DO IX^DIC
SET X=0
if +Y>0
SET X=+Y
QUIT X
VERI(X,Y) ; Version
+1 NEW DA,D,DIC,DTOUT,DUOUT
SET DIC(0)="I"
SET D="B"
SET DA(1)=+($GET(X))
+2 if DA(1)=0
QUIT 0
SET X=+($GET(Y))
if X=0
QUIT 0
SET DIC="^DIC(9.4,"_DA(1)_",22,"
+3 DO IX^DIC
SET X=0
if +Y>0
SET X=+Y
QUIT X
+4 ; Report
HD ; Header
+1 NEW X
SET X=" Install Name"
SET X=X_$JUSTIFY("",28-$LENGTH(X))_"Date"
DO TL^GMTSXPS1(X)
SET X=""
SET $PIECE(X,"-",42)="-"
SET X=" "_X
DO TL^GMTSXPS1(X)
+2 QUIT
SI ; Site Installs
+1 SET GMTSNM=$GET(GMTSNM)
if '$LENGTH(GMTSNM)
QUIT
SET GMTSDT=$GET(GMTSDT)
if '$LENGTH(GMTSDT)
QUIT
SET GMTSST=$GET(GMTSST)
+2 NEW X
SET X=" "_GMTSNM
SET X=X_$JUSTIFY("",28-$LENGTH(X))_GMTSDT
if $LENGTH(GMTSST)
SET X=X_$JUSTIFY("",40-$LENGTH(X))_GMTSST
DO TL^GMTSXPS1(X)
+3 QUIT