Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: KMPSLK

KMPSLK.m

Go to the documentation of this file.
KMPSLK ;OAK/KAK - Thru The Looking Glass ;9/1/2015
 ;;2.0;SAGG PROJECT;**1**;Jul 02, 2007;Build 67
 ;
EN(SESSNUM,SITENUM) ;
 ;---------------------------------------------------------------------
 ; SESSNUM..  +$Horolog number of session
 ; SITENUM..  site number
 ;---------------------------------------------------------------------
 ;
ZER ;-- collect zeroth node information
 ;
 N FNUM,GNAM
 ;
 S ^XTMP("KMPS",SITENUM,SESSNUM,"@ZER",0)=$P(^DIC(0),U)_U_$P(^DIC(0),U,4)_"^DIC(^"
 S ^XTMP("KMPS",SITENUM,SESSNUM,"@ZER","TM")=$S($D(^%ZTSK(-1)):^(-1),1:^%ZTSK(0))
 S FNUM=0 F  S FNUM=$O(^DIC(FNUM)) Q:'+FNUM  D
 .Q:$G(^DIC(FNUM,0))=""
 .Q:'$D(^DIC(FNUM,0,"GL"))
 .S GNAM=$G(^DIC(FNUM,0,"GL")) Q:GNAM=""
 .;
 .; file# = ^ piece 1: file_name
 .;                 2: # of entries
 .;                 3: global_name
 .;                 4: file_version
 .;                 5: last id number
 .;                 6: global_name (GNAM) has embedded '^' - no extra 'U' needed
 .S ^XTMP("KMPS",SITENUM,SESSNUM,"@ZER",FNUM)=$P(^DIC(FNUM,0),U)_U_$P($G(@(GNAM_"0)")),U,4)_GNAM_U_$G(^DD(+$P(^DIC(FNUM,0),U,2),0,"VR"))_U_$P($G(@(GNAM_"0)")),U,3)
 ;
PKG ;-- collect package file information
 ;
 N PKNUM
 ;
 S PKNUM=0
 F  S PKNUM=$O(^DIC(9.4,PKNUM)) Q:'+PKNUM  I $D(^DIC(9.4,PKNUM,0)) S KMPSD=$P($G(^DIC(9.4,PKNUM,0)),U,2) D
 .I $E(KMPSD)="A" I ($A($E(KMPSD,2))>64)&($A($E(KMPSD,2))<88) I (($A($E(KMPSD,3))>64)&($A($E(KMPSD,3))<89)) Q
 .S KMPSV=0,(KMPSVL,KMPSD)=""
 .F  S KMPSV=$O(^DIC(9.4,PKNUM,22,KMPSV)) Q:'+KMPSV  S KMPSVL=KMPSV
 .I +KMPSVL S KMPSV=$G(^DIC(9.4,PKNUM,22,KMPSVL,0)),KMPSD=$P(KMPSV,U,3),KMPSV=$P(KMPSV,U)
 .;
 .; pkg_name = pkg_prefix^current version^last version^install date
 .S ^XTMP("KMPS",SITENUM,SESSNUM,"@PKG",$P(^DIC(9.4,PKNUM,0),U))=$P($G(^DIC(9.4,PKNUM,0)),U,2)_U_$G(^("VERSION"))_U_KMPSV_U_KMPSD
 ;
SYS ;  Collect volume set (@VOL) and system (@SYS) information
 ;
 D EN^%ZOSVKSD(SITENUM,SESSNUM,OS),@OS
 ;
 K KMPSD,KMPSNM,KMPSV,KMPSVL
 Q
 ;
CUNIX ;-- Cache for Unix/Linux
CVMS ;-- Cache for VMS platform
 S ^XTMP("KMPS",SITENUM,SESSNUM,"@SYS")=$ZV_U
 Q
 ;
CWINNT ;-- for Cache for NT platform
 S ^XTMP("KMPS",SITENUM,SESSNUM,"@SYS")=$ZV_U_$S($ZU(100)=0:"Windows NT",$ZU(100)=1:"Windows 95",1:$ZU(100))
 Q
 ;        
OUT(NOWDT,OS,SESSNUM,SITENUM,XMZSENT,TEXT) ;
 ;---------------------------------------------------------------------
 ;   Create 'successful' end-game message text
 ; NOWDT....   FM date and time that SAGG started
 ; OS.......   type of operating system
 ; SESSNUM..   +$Horolog number of session
 ; SITENUM..   site number
 ; XMZSENT..   mailman message number created by SAGG
 ;---------------------------------------------------------------------
 ;
 N DOW,GBL,I,J,JEND,UCIVOL,VOLS,X
 ;
 ; check to see if SAGG not started over weekend (Fri - Sun)
 S DOW=$$DOW^XLFDT(NOWDT,1)
 I (DOW>0)&(DOW<5) D
 .S TEXT(1)=" *** It is STRONGLY recommended that the 'SAGG Master Background Task' ***"
 .S TEXT(2)=" *** [KMPS SAGG REPORT] be rescheduled to run over the weekend hours.  ***"
 .S TEXT(3)=""
 ;
 S TEXT(4)=" The SAGG Project collection routines monitored the following:"
 S TEXT(5)=""
 K VOLS
 S GBL=""
 F  S GBL=$O(^XTMP("KMPS",SITENUM,SESSNUM,NOWDT,GBL)) Q:GBL=""  D
 .S UCIVOL=""
 .F  S UCIVOL=$O(^XTMP("KMPS",SITENUM,SESSNUM,NOWDT,GBL,UCIVOL)) Q:UCIVOL=""  S VOLS(UCIVOL)=""
 S X=0,UCIVOL="",JEND=$S(OS="CVMS":2,OS="CWINNT":4,1:5)
 F I=6:1 Q:X  D
 .S TEXT(I)="          "
 .F J=1:1:JEND S UCIVOL=$O(VOLS(UCIVOL)) S:UCIVOL="" X=1 Q:UCIVOL=""  S TEXT(I)=TEXT(I)_UCIVOL_"   "
 S TEXT(I)=""
 S TEXT(I+1)=" Please ensure that this list concurs with your present volume set"
 S TEXT(I+2)=" configuration.",TEXT(I+3)=""
 S TEXT(I+4)=" A local e-mail message #"_XMZSENT_" was created by the collection"
 S TEXT(I+5)=" routines.  Check the FO-ALBANY.DOMAIN.EXT NetMail Queue to ensure"
 S TEXT(I+6)=" transmission delivery."
 ;
 Q ""
 ;
MSG(STRTDT,SESSNUM,TEXT,COMPDT)       ;-- send e-mail message to local KMP-CAPMAN mailgroup
 ;---------------------------------------------------------------------
 ; Send e-mail message to local KMP-CAPMAN mailgroup
 ;
 ; STRTDT...  SAGG start date and time
 ; SESSNUM..  +$Horolog number of session
 ; TEXT.....  text of message
 ; COMPDT...  (optional) SAGG completion date and time
 ;---------------------------------------------------------------------
 N XMSUB,XMTEXT,XMY
 ;
 S COMPDT=+$G(COMPDT)
 ;
 S:'$D(XMDUZ) XMDUZ=.5
 S:'$D(DUZ) DUZ=.5 S U="^"
 ;
 S TEXT(.1)=" SAGG Session: "_SESSNUM
 S TEXT(.2)=" Started:      "_$$FMTE^XLFDT(STRTDT,"P")_" ("_$$DOW^XLFDT(STRTDT)_")"
 S:+COMPDT TEXT(.3)=" Completed:    "_$$FMTE^XLFDT(COMPDT,"P")_" ("_$$DOW^XLFDT(COMPDT)_")"
 S TEXT(.4)=""
 S XMSUB="SAGG Project Message (Session #"_SESSNUM_")",XMTEXT="TEXT("
 I $D(^XMB(3.8,"B","KMP-CAPMAN")) S XMY("G.KMP-CAPMAN")=""
 D:$D(XMY) ^XMD
 Q
 ;
END ;
 K ^XTMP("KMPS",SITENUM),^XTMP("KMPS","ERROR")
 K ^XTMP("KMPS","START"),^XTMP("KMPS","STOP"),^XTMP("KMPS",0)
 K X,XMDUZ
 S ZTREQ="@"
 L -^XTMP("KMPS")
 Q