1 | KMPDTU02 ;OAK/RAK - CP Tools Compile & File Daily Timing Stats ;2/17/04 09:43
|
---|
2 | ;;2.0;CAPACITY MANAGEMENT TOOLS;;Mar 22, 2002
|
---|
3 | ;
|
---|
4 | DAILY ;(KMPDST,KMPDEN);-entry point
|
---|
5 | ;-----------------------------------------------------------------------
|
---|
6 | ; KMPDST... Start date in internal fileman format.
|
---|
7 | ; KMPDEN... End date in internal fileman format.
|
---|
8 | ;
|
---|
9 | ; This API gathers Timing data from ^KMPTMP("KMPDT") and stores it in
|
---|
10 | ; file 8973.2 (CP TIMING)
|
---|
11 | ;
|
---|
12 | ;-----------------------------------------------------------------------
|
---|
13 | ;
|
---|
14 | ;Q:'$G(KMPDST)
|
---|
15 | ;Q:'$G(KMPDEN)
|
---|
16 | ; make sure end date has hours
|
---|
17 | ;S:'$P(KMPDEN,".",2) $P(KMPDEN,".",2)="99"
|
---|
18 | ;S:'$G(DT) DT=$$DT^XLFDT
|
---|
19 | ;
|
---|
20 | W:'$D(ZTQUEUED) !,"Compiling Timing data..."
|
---|
21 | D COMPILE
|
---|
22 | ;
|
---|
23 | Q
|
---|
24 | ;
|
---|
25 | COMPILE ;-- compile & file timing data
|
---|
26 | ;
|
---|
27 | Q:$O(^KMPTMP("KMPDT",""))=""
|
---|
28 | N COUNT,DATA,DATA1,ID,OK,SBSCR,TODAY
|
---|
29 | S TODAY=$P($H,",") Q:'TODAY
|
---|
30 | S SBSCR="",COUNT=0
|
---|
31 | F S SBSCR=$O(^KMPTMP("KMPDT",SBSCR)) Q:SBSCR="" S ID="" D
|
---|
32 | .F S ID=$O(^KMPTMP("KMPDT",SBSCR,ID)) Q:ID="" S DATA=^(ID) D
|
---|
33 | ..; quit if not 'previous' to DT
|
---|
34 | ..Q:$P($P(DATA,U),".")'<TODAY
|
---|
35 | ..; set up DATA1 for filing
|
---|
36 | ..; identifier
|
---|
37 | ..S $P(DATA1,U)=ID
|
---|
38 | ..; server start date/time in internal fileman format
|
---|
39 | ..S $P(DATA1,U,3)=$$HTFM^XLFDT($P(DATA,U))
|
---|
40 | ..; server delta
|
---|
41 | ..S:$P(DATA,U,2) $P(DATA1,U,4)=$$HDIFF^XLFDT($P(DATA,U,2),$P(DATA,U),2)
|
---|
42 | ..; person
|
---|
43 | ..S $P(DATA1,U,5)=$P(DATA,U,3)
|
---|
44 | ..; client name
|
---|
45 | ..S $P(DATA1,U,6)=$P(DATA,U,4)
|
---|
46 | ..; kmptmp subscript
|
---|
47 | ..S $P(DATA1,U,7)=SBSCR
|
---|
48 | ..; title
|
---|
49 | ..S $P(DATA1,U,8)=$$TITLEG(SBSCR)
|
---|
50 | ..; ip address
|
---|
51 | ..S $P(DATA1,U,9)=$P($P(ID,"-")," ",2)
|
---|
52 | ..; file data
|
---|
53 | ..D FILE(DATA1,.OK)
|
---|
54 | ..; update counter if successfully filed
|
---|
55 | ..S:OK COUNT=COUNT+1
|
---|
56 | ..; kill of old node if successfully filed
|
---|
57 | ..K:OK ^KMPTMP("KMPDT",SBSCR,ID)
|
---|
58 | ..I '$D(ZTQUEUED) W:'(COUNT#100) "."
|
---|
59 | ;
|
---|
60 | W:'$D(ZTQUEUED) !,COUNT," records filed!"
|
---|
61 | ;
|
---|
62 | Q
|
---|
63 | ;
|
---|
64 | FILE(DATA,KMPDOK) ;-- file timing data into file #8973.2
|
---|
65 | ;-----------------------------------------------------------------------
|
---|
66 | ; DATA.... Data to file in format:
|
---|
67 | ; piece "^" 1 - id
|
---|
68 | ; 3 - start date/time in internal fileman format
|
---|
69 | ; 4 - delta
|
---|
70 | ; 5 - new person
|
---|
71 | ; 6 - client name
|
---|
72 | ; 7 - kmptmp subscript
|
---|
73 | ; 8 - title
|
---|
74 | ; 9 - ip address
|
---|
75 | ;
|
---|
76 | ; KMPDOK.. Returned
|
---|
77 | ; 0 - not filed successfully
|
---|
78 | ; 1 - filed successfully
|
---|
79 | ;-----------------------------------------------------------------------
|
---|
80 | ;
|
---|
81 | S KMPDOK=0
|
---|
82 | Q:$G(DATA)=""
|
---|
83 | ; id
|
---|
84 | Q:$P(DATA,U)=""
|
---|
85 | ; start date/time
|
---|
86 | Q:$P(DATA,U,3)=""
|
---|
87 | ;
|
---|
88 | N ERROR,FDA,I,IEN,ZIEN
|
---|
89 | ; build fda() array for filing
|
---|
90 | F I=1:1:9 I $P(DATA,U,I)'="" D
|
---|
91 | .S FDA($J,8973.2,"+1,",(I*.01))=$P(DATA,U,I)
|
---|
92 | ; quit if no fda() array
|
---|
93 | Q:'$D(FDA($J))
|
---|
94 | ; file data
|
---|
95 | D UPDATE^DIE("","FDA($J)","ZIEN","ERROR")
|
---|
96 | ; if error
|
---|
97 | I $D(ERROR) D MSG^DIALOG("HA",.ERROR,60,5,"ERROR") Q
|
---|
98 | S KMPDOK=1
|
---|
99 | ;
|
---|
100 | Q
|
---|
101 | ;
|
---|
102 | TITLEG(SBSCR) ;-- extrinsic function - return title name
|
---|
103 | Q:$G(SBSCR)="" ""
|
---|
104 | N I,TITLE,X S TITLE=""
|
---|
105 | F I=1:1 S X=$T(TITLE+I) Q:X="" I $P(X,";",3)=SBSCR S TITLE=$P(X,";",4) Q
|
---|
106 | Q TITLE
|
---|
107 | ;
|
---|
108 | TITLE ;-- convert subscript to title
|
---|
109 | ;;ORWCV;CPRS Cover Sheet
|
---|