VistA-WorldVistAEHR/r/CAPACITY_MANAGEMENT_TOOLS-K.../KMPDUTL.m

136 lines
3.8 KiB
Mathematica

KMPDUTL ;OAK/RAK - CM Tools Utility ;5/1/07 15:08
;;2.0;CAPACITY MANAGEMENT TOOLS;**1,2,3,4,5,6**;Mar 22, 2002;Build 3
;
QUEBKG(KMPDOPT,KMPDTIME,KMPDFREQ,KMPDDEL) ;-- queue background job
;-----------------------------------------------------------------------
; KMPDOPT.... Option name to queue (free text name in .01 field of
; OPTION file)
; KMPDTIME... Date/time to queue option (T@1400, etc)
; KMPDFREQ... Scheduling frequency (1D, etc)
; KMPDDEL.... Delete option if it already exists in file 19.2
; 0 - do not delete (quit if already scheduled)
; 1 - delete if already in file 19.2
;
; This API will queue an option from file #19 (OPTION) to run in file
; 19.2 (OPTION SCHEDULE).
;-----------------------------------------------------------------------
Q:$G(KMPDOPT)=""
Q:$G(KMPDTIME)=""
Q:$G(KMPDFREQ)=""
S KMPDDEL=+$G(KMPDDEL)
N DA,DIFROM,DIK,FDA,ERROR,IEN,IEN1,IENZ,TEXT,X,Y,Z
; Newing DIFROM will force reschedule when installing from KIDS
S:'$G(DT) DT=$$DT^XLFDT
; change to internal format
D FMDTI^KMPDU(.Z,KMPDTIME)
Q:Z(0)="^"!(Z(0)="")
S KMPDTIME=Z(0) K Z
S TEXT=KMPDOPT
; quit if not in file 19
S IEN=$O(^DIC(19,"B",TEXT,0)) Q:'IEN
S IEN1=$O(^DIC(19.2,"B",IEN,0))
; quit if already in file 19.2 and not KMPDDEL
Q:IEN1&('KMPDDEL)
; delete if in file 19.2
I IEN1 S DIK="^DIC(19.2,",DA=IEN1 D ^DIK
; add entry
S FDA($J,19.2,"+1,",.01)=IEN
; queued to run at what time
S FDA($J,19.2,"+1,",2)=KMPDTIME
; rescheduling frequency.
S FDA($J,19.2,"+1,",6)=KMPDFREQ
D UPDATE^DIE("","FDA($J)",.IENZ,"ERROR")
I $D(ERROR) D MSG^DIALOG("W","",60,10,"ERROR")
S IEN1=$O(^DIC(19.2,"B",IEN,0))
I '$G(^DIC(19.2,+IEN1,1)) D
.D MES^XPDUTL(" ERROR - Not able to reschedule "_KMPDOPT)
.D MES^XPDUTL(" Use 'Schedule/Unschedule Options' [XUTM SCHEDULE] to reschedule.")
;
Q
;
VERSION() ;-- extrinsic - return current version.
Q $P($T(+2^KMPDUTL),";",3)_"^"_$P($T(+2^KMPDUTL),";",5)
;
VRSNGET(KMPDAPPL) ;-- extrinsic function - get version^patches
;-----------------------------------------------------------------------
; KMPDAPPL... application:
; 0 - CM Tools
; 1 - SAGG
; 2 - RUM
;
; Return: Version^Patch^VersionInstallDate^PatchInstallDate
; null = no application
;-----------------------------------------------------------------------
;
Q:$G(KMPDAPPL)="" ""
Q:KMPDAPPL<0!(KMPDAPPL>2) ""
;
N DATA,VERSION S VERSION=""
;
; cm tools
I KMPDAPPL=0 D
.S DATA=$G(^KMPD(8973,1,KMPDAPPL))
.S VERSION=$P(DATA,U,2)_U_$P(DATA,U,4)_U_$P(DATA,U,3)_U_$P(DATA,U,5)
;
; all other applications
E D
.S DATA=$G(^KMPD(8973,1,KMPDAPPL))
.S VERSION=$P(DATA,U)_U_$P(DATA,U,3)_U_$P(DATA,U,2)_U_$P(DATA,U,4)
;
Q VERSION
;
PTCHINFO ; -- patch information: routine name ^ current version ^ current patch(es)
;;KMPDBD01^2.0^**2**
;;KMPDECH^2.0^**5**
;;KMPDHU01^2.0^**4**
;;KMPDHU02^2.0
;;KMPDHU03^2.0
;;KMPDHUA^2.0
;;KMPDPOST^2.0^**1,2,5**
;;KMPDSS^2.0^**3**
;;KMPDSS1^2.0^**3**
;;KMPDSSD^2.0^**3**
;;KMPDSSD1^2.0^**3,6**
;;KMPDSSR^2.0^**3**
;;KMPDSSS^2.0^**3,6**
;;KMPDTM^2.0^**1,4**
;;KMPDTP1^2.0^**4**
;;KMPDTP2^2.0^**4**
;;KMPDTP3^2.0^**4**
;;KMPDTP4^2.0^**4**
;;KMPDTP5^2.0^**4**
;;KMPDTP6^2.0^**4**
;;KMPDTP7^2.0^**4**
;;KMPDTU01^2.0^**4,5**
;;KMPDTU02^2.0
;;KMPDTU10^2.0^**4**
;;KMPDTU11^2.0^**6**
;;KMPDU^2.0^**2**
;;KMPDU1^2.0
;;KMPDU2^2.0^**2**
;;KMPDU3^2.0^**2**
;;KMPDU4^2.0
;;KMPDU5^2.0^**2**
;;KMPDU11^2.0
;;KMPDUG^2.0
;;KMPDUG1^2.0
;;KMPDUG2^2.0
;;KMPDUGV^2.0
;;KMPDUT^2.0
;;KMPDUT1^2.0^**4**
;;KMPDUT2^2.0
;;KMPDUT4^2.0
;;KMPDUT4A^2.0
;;KMPDUT4B^2.0
;;KMPDUT4C^2.0
;;KMPDUT5^2.0
;;KMPDUTL^2.0^**1,2,3,4,5,6**
;;KMPDUTL1^2.0^**3**
;;KMPDUTL2^2.0^**4**
;;KMPDUTL3^2.0
;;KMPDUTL4^2.0
;;KMPDUTL5^2.0
;;KMPDUTL6^2.0
;;KMPDUTL7^2.0^**2,5**
;;KMPDUTL8^2.0^**2**