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

KMPRBD05.m

Go to the documentation of this file.
  1. KMPRBD05 ;OAK/RAK - RUM Data Compression for Test Lab ;1/30/13 08:30
  1. ;;2.0;CAPACITY MANAGEMENT - RUM;**2**;May 28, 2003;Build 12
  1. ;
  1. ; Background Driver (cont.)
  1. ;
  1. DAILY(KMPRTDAY) ;-- daily data compression and storage
  1. ;----------------------------------------------------------------------
  1. ; KMPRTDAY.. Day in $H format (+$H). This represents the
  1. ; ending point for compression. Only dates LESS than
  1. ; KMPRTDAY will be compressed.
  1. ;
  1. ; At midnight compress hourly info into daily stats. Daily stats are
  1. ; stored in file #8971.1. Hourly data is killed.
  1. ;----------------------------------------------------------------------
  1. ;
  1. Q:'$G(KMPRTDAY)
  1. ;
  1. N CNT,DATA,FMHDATE,HDATE,HR,I,JOB,LAB,MINUTES,NODE,OPTION,QUIET
  1. ;
  1. K ^TMP($J)
  1. ;
  1. ; make sure DT is defined.
  1. S:'$G(DT) DT=$$DT^XLFDT
  1. ;
  1. ; if not queued output dots
  1. S QUIET=$D(ZTQUEUED)
  1. W:'QUIET !,"Compiling stats..."
  1. ;
  1. K ^KMPTMP("KMPR-TESTLAB"),^TMP($J)
  1. S NODE=""
  1. F S NODE=$O(^KMPTMP("KMPR","DLY",NODE)) Q:NODE="" D
  1. .S HDATE=""
  1. .F S HDATE=$O(^KMPTMP("KMPR","DLY",NODE,HDATE)) Q:HDATE=""!(HDATE'<KMPRTDAY) D
  1. ..;
  1. ..S FMHDATE=+$$HTFM^XLFDT(HDATE,1)
  1. ..;
  1. ..S HR=""
  1. ..F S HR=$O(^KMPTMP("KMPR","DLY",NODE,HDATE,HR)) Q:HR="" D
  1. ...S OPTION=""
  1. ...F S OPTION=$O(^KMPTMP("KMPR","DLY",NODE,HDATE,HR,OPTION)) Q:OPTION="" D
  1. ....S JOB=0
  1. ....F S JOB=$O(^KMPTMP("KMPR","DLY",NODE,HDATE,HR,OPTION,JOB)) Q:'JOB D
  1. .....;
  1. .....S DATA=^KMPTMP("KMPR","DLY",NODE,HDATE,HR,OPTION,JOB)
  1. .....S MINUTES=$P(DATA,U,10,999)
  1. .....;
  1. .....S LAB=""
  1. .....; if current data is negative
  1. .....I $P(LAB,U,5)<0 D
  1. ......S $P(^KMPTMP("KMPR","NEG","DLY",OPTION,"C"),U,5)=$P(LAB,U,5)
  1. .....;
  1. .....; if new data is negative
  1. .....I ($P(DATA,U,5)<0) D
  1. ......S $P(^KMPTMP("KMPR","NEG","DLY",OPTION,"N"),U,5)=$P(DATA,U,5)
  1. .....;
  1. .....; if sum of pieces are negative
  1. .....I ($P(LAB,U,5)+$P(DATA,U,5))<0 D
  1. ......S $P(^KMPTMP("KMPR","NEG","DLY",OPTION,"T"),U,5)=($P(LAB,U,5))_"+"_($P(DATA,U,5))_"="_($P(LAB,U,5)+$P(DATA,U,5))
  1. .....;
  1. .....; accumulate totals
  1. .....; data elements - pieces 1 - 8
  1. .....F I=1:1:8 S $P(LAB,U,I)=$P($G(LAB),U,I)+$P(DATA,U,I)
  1. .....;
  1. .....; CNT(1) = minutes 0 = 29
  1. .....; CNT(2) = minutes 30 = 59
  1. .....F I=1:1:30 S $P(CNT(1),U,I)=$P(MINUTES,U,I)
  1. .....F I=31:1:60 S $P(CNT(2),U,(I-30))=$P(MINUTES,U,I)
  1. .....;
  1. .....S ^TMP($J,HDATE,NODE,OPTION,HR)=LAB
  1. .....F I=1:1:30 S $P(^TMP($J,HDATE,NODE,OPTION,HR,1),U,I)=$P($G(^TMP($J,HDATE,NODE,OPTION,HR,1)),U,I)+$P(CNT(1),U,I)
  1. .....F I=1:1:30 S $P(^TMP($J,HDATE,NODE,OPTION,HR,2),U,I)=$P($G(^TMP($J,HDATE,NODE,OPTION,HR,2)),U,I)+$P(CNT(2),U,I)
  1. .....; remove data from array
  1. .....K ^KMPTMP("KMPR","DLY",NODE,HDATE,HR,OPTION,JOB)
  1. .....W:'QUIET "."
  1. ;
  1. ;
  1. ; compile into daily stats
  1. S HDATE=0
  1. F S HDATE=$O(^TMP($J,HDATE)) Q:'HDATE S NODE="" D
  1. .S FMHDATE=$$HTFM^XLFDT(HDATE) Q:'FMHDATE
  1. .F S NODE=$O(^TMP($J,HDATE,NODE)) Q:NODE="" S OPTION="" D
  1. ..F S OPTION=$O(^TMP($J,HDATE,NODE,OPTION)) Q:OPTION="" S HR=0 D
  1. ...F S HR=$O(^TMP($J,HDATE,NODE,OPTION,HR)) Q:'HR D
  1. ....S ^KMPTMP("KMPR-TESTLAB",FMHDATE,NODE,OPTION)=FMHDATE_"^^"_NODE_"^"_$P(OPTION,"***")_"^"_$P(OPTION,"***",2)_"^"_$$RUMDESIG^KMPRBD03(OPTION)
  1. ....S ^KMPTMP("KMPR-TESTLAB",FMHDATE,NODE,OPTION,HR,1)=$G(^TMP($J,HDATE,NODE,OPTION,HR,1))
  1. ....S ^KMPTMP("KMPR-TESTLAB",FMHDATE,NODE,OPTION,HR,2)=$G(^TMP($J,HDATE,NODE,OPTION,HR,2))
  1. ....W:'QUIET "."
  1. ;
  1. K ^TMP($J)
  1. ;
  1. W:'QUIET " done!"
  1. ;
  1. Q