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

KMPDTU11.m

Go to the documentation of this file.
  1. KMPDTU11 ;OAK/RAK/JML - CP Tools Timing Utility ;9/1/2015
  1. ;;3.0;Capacity Management Tools;**3**;Jan 15, 2013;Build 42
  1. ;
  1. RLTMHR(KMPDQIET,KMPDASK,KMPDEF) ;-- extrinsic function - real time hours
  1. ;-----------------------------------------------------------------------
  1. ; KMPDQIET... Display output
  1. ; 0 - display output (not quiet)
  1. ; 1 - do not display output (quiet)
  1. ; KMPDASK.... Ask user to select hours
  1. ; 0 - do not ask user to select
  1. ; 1 - ask user to select
  1. ; KMPDEF..... Default
  1. ; 0 - do not use default
  1. ; 1 - use time range as default
  1. ;
  1. ; Return: List of hours (ie, 1,2,5,6,7...)
  1. ; "" - no selection made
  1. ;-----------------------------------------------------------------------
  1. ;
  1. S KMPDQIET=+$G(KMPDQIET),KMPDASK=+$G(KMPDASK),KMPDEF=+$G(KMPDEF)
  1. N DATA,DIR,DOT,HOURS,HR,I,QUEUED,X,Y,KMPDSUB
  1. W:'KMPDQIET !," ==> building Hours list..."
  1. F KMPDSUB="ORWCV","ORWCV-FT" D
  1. .S I="",DOT=0
  1. .F S I=$O(^KMPTMP("KMPDT",KMPDSUB,I)) Q:I="" S DATA=^(I) I DATA]"" D
  1. ..S DOT=DOT+1 W:'(DOT#1000)&('KMPDQIET) "."
  1. ..; change $h to fileman format and get hour
  1. ..S HR=$E($P($$HTFM^XLFDT($P(DATA,U)),".",2),1,2) S:HR>23 HR="0"
  1. ..; create HOURS() array
  1. ..S:HR'="" HOURS(+HR)=""
  1. ;
  1. ; if no HOURS() array
  1. Q:'$D(HOURS) ""
  1. ;
  1. ; do not ask user to select hours
  1. I 'KMPDASK D Q X
  1. .S (I,X)="" F S I=$O(HOURS(I)) Q:I="" S X=X_I_","
  1. ;
  1. ; ask user to select hour(s)
  1. S DIR(0)="LO^"_$O(HOURS(""))_":"_$O(HOURS("A"),-1)
  1. S DIR("A")="Select Hour(s)"
  1. S:KMPDEF DIR("B")=$O(HOURS(""))_"-"_$O(HOURS("A"),-1)
  1. W ! D ^DIR
  1. Q $S(Y=""!(Y="^"):"",1:$G(Y(0)))
  1. ;
  1. TIMING(KMPDSS,KMPDNODE,KMPDST,KMPDHTM,KMPDUZ,KMPDCL) ;-- start/stop timing stats
  1. ;--------------------------------------------------------------------
  1. ; KMPDSS... subscript (free text)
  1. ; KMPDNODE. node name (free text)
  1. ; KMPDST... start/stop
  1. ; 1 - start
  1. ; 2 - stop
  1. ; KMPDHTM.. (optional - if not defined the current $h will be used)
  1. ; time in $h format
  1. ; KMPDUZ... (optional -if not defined the current duz will be used)
  1. ; user duz
  1. ; KMPDCL... (optional - if not defined the current IO("CLNM")) will be used)
  1. ; client name (free text)
  1. ;
  1. ;--------------------------------------------------------------------
  1. ; quit if timing stats not turned on
  1. Q:'$G(^KMPTMP("KMPD-CPRS"))
  1. ; quit if no subscript
  1. Q:$G(KMPDSS)=""
  1. ; quit if no node
  1. Q:$G(KMPDNODE)=""
  1. ; start/stop
  1. S KMPDST=+$G(KMPDST)
  1. Q:KMPDST<1!(KMPDST>2)
  1. S:'$G(KMPDHTM) KMPDHTM=$H
  1. S:'$G(KMPDUZ) KMPDUZ=$G(DUZ)
  1. S:$G(KMPDCL)="" KMPDCL=$G(IO("CLNM"))
  1. ;
  1. ; start timing
  1. S:KMPDST=1 ^KMPTMP("KMPDT",KMPDSS,KMPDNODE)=KMPDHTM_"^^"_KMPDUZ_"^"_KMPDCL
  1. ; stop timing
  1. S:KMPDST=2 $P(^KMPTMP("KMPDT",KMPDSS,KMPDNODE),"^",2)=KMPDHTM
  1. ;
  1. Q