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

KMPRPG01.m

Go to the documentation of this file.
KMPRPG01 ;OAK/RAK - RUM Data for All Nodes (Graph) ;11/19/04  08:58
 ;;2.0;CAPACITY MANAGEMENT - RUM;**1**;May 28, 2003
 ;
EN ;-- entry point.
 ;
 N DATES,DIR,ELEMENT,I,LHTIME,OPTIONS,OUT,TMP,X,Y
 ;
 ; temporary global storage for stats.
 S TMP=$NA(^TMP("KMPR HR STATS",$J))
 S OUT=0
 F  D  Q:OUT
 .D HDR^KMPDUTL4(" Data for All Nodes (Graph) ") W !!
 .D GRPHMSG^KMPRUTL
 .; select element for display.
 .D ELEMENT^KMPRUTL(.Y) I 'Y S OUT=1 Q
 .S ELEMENT=Y_"^"_Y(0)
 .; get date range.
 .D RUMDATES^KMPRUTL(.DATES) Q:'DATES
 .; determine number of nodes.
 .S I=0,X=""
 .F  S X=$O(^KMPR(8971.1,"ANODE",X)) Q:X=""  S I=I+1
 .S OPTIONS="G" S:I<8 OPTIONS=OPTIONS_"D"
 .K @TMP
 .W !!?3,"compiling data for: "
 .; get data - display graph - cleanup.
 .D DATA,GRAPH,EXIT
 .K @TMP
 ;
 Q
 ;
DATA ;-- compile rum stats per node for selected element.
 Q:$G(TMP)=""
 Q:'$G(ELEMENT)
 Q:'$G(DATES)
 ;
 N DAYS,DOTS,I,J,KMPRAR,NODES
 ;
 ; determine if dots should be printed to screen while gathering data.
 S DOTS=$S($E(IOST,1,2)="C-":0,1:1)
 ; set nodes into NODES() array.
 D NODEARRY^KMPRUTL("NODES") Q:'$D(NODES)
 ; get RUM data.
 D ELEMDATA^KMPRUTL2(+ELEMENT,$P(DATES,U),$P(DATES,U,2),.NODES,"KMPRAR",DOTS)
 Q:'$D(KMPRAR)
 ;
 ; format data into TMP array.
 S I="",DAYS=$$FMDIFF^XLFDT($P(DATES,U,2),$P(DATES,U))+1
 F  S I=$O(KMPRAR(I)) Q:I=""  S J=0 D 
 .F  S J=$O(KMPRAR(I,J)) Q:J=""  D 
 ..S $P(@TMP@(I,0),U)=I
 ..S $P(@TMP@(I,0),U,2)=$P(@TMP@(I,0),U,2)+KMPRAR(I,J)
 .S $P(@TMP@(I,0),U,2)=$FN($P(@TMP@(I,0),U,2)/DAYS,"",2)
 ;
 Q
 ;
GRAPH ;-- display data in graph.
 Q:$G(TMP)=""
 Q:'$G(ELEMENT)
 ;
 N TITLES
 ; graph titles.
 S $P(TITLES,U)="RUM Data for All Nodes"
 S $P(TITLES,U,2)="From "_$P($G(DATES),U,3)_" to "_$P($G(DATES),U,4)
 S $P(TITLES,U,3)=$P(ELEMENT,U,2)_"/per "_$S(+ELEMENT=1!(+ELEMENT=7):"occurrence",1:"sec")
 S $P(TITLES,U,4)="Node"
 ; call graphics routine.
 D EN^KMPDUG(TMP,TITLES,$G(OPTIONS))
 Q
 ;
EXIT ;
 D ^%ZISC
 Q