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

SCCVU1.m

Go to the documentation of this file.
  1. SCCVU1 ;ALB/RMO,TMP - SCHED VISITS CONVERT/ARCHIVE UTILITIES; [ 10/10/95 2:39 PM ]
  1. ;;5.3;Scheduling;**211**;Aug 13, 1993
  1. ;
  1. CHKDT(SCRESULT,SC,SCCVTYP) ; -- Check date range
  1. ; Input -- SC Array:
  1. ; SC("STARTDT") Start date
  1. ; ("ENDDT") End date
  1. ; -- SCCVTYP "CST" for convert function
  1. ; "AST" for archive function
  1. ; Output -- SCRESULT (#=Error number | 0=No Error)^Message
  1. ;
  1. N SCENDT,SCERRMSG,SCERRNB,SCSTDT
  1. ;
  1. S SCERRNB=0
  1. ;
  1. S SCSTDT=$G(SC("STARTDT"))
  1. S SCENDT=$G(SC("ENDDT"))
  1. ;
  1. ;Check if start date or end date not defined
  1. I 'SCSTDT,'SCENDT D
  1. . S SCERRNB=4049006.005
  1. . D GETERR^SCCVLOG1(SCERRNB,"","","",1,.SCERRMSG)
  1. ;
  1. ;Verify date range
  1. I 'SCERRNB S SCERRNB=$$VERDT^SCCVU2(SCSTDT,SCENDT,"",.SCERRMSG)
  1. ;
  1. S SCRESULT=SCERRNB
  1. I SCERRNB S SCRESULT=SCRESULT_U_$$BLDSTR(.SCERRMSG)
  1. ;
  1. CHKDTQ Q
  1. ;
  1. CHKDUP(SCRESULT,SC,SCCVT) ; -- Check duplicate log entries
  1. ; Input -- SC Array:
  1. ; SC("TYPE") Conversion type
  1. ; ("STARTDT") Start date
  1. ; ("ENDDT") End date
  1. ; ("TEMPLNO") Template number ien
  1. ; -- SCCVT "CST" for convert function
  1. ; "AST" for archive function
  1. ; Output -- SCRESULT (#=Error number | 0=No Error)^Message
  1. ;
  1. N SCCVTYP,SCENDT,SCERRMSG,SCERRNB,SCLOG,SCSTDT
  1. ;
  1. S SCERRNB=0
  1. ;
  1. S SCCVTYP=$G(SC("TYPE"))
  1. S SCSTDT=$G(SC("STARTDT"))
  1. S SCENDT=$G(SC("ENDDT"))
  1. S SCLOG=$G(SC("TEMPLNO"))
  1. ;
  1. ;Check if type, date range and Template number ien are defined
  1. I 'SCCVTYP!('SCSTDT)!('SCENDT)!('SCLOG) D
  1. . S SCERRNB=4049006.002
  1. . D GETERR^SCCVLOG1(SCERRNB,"","","",1,.SCERRMSG)
  1. ;
  1. ;Check duplicate log entries
  1. I 'SCERRNB S SCERRNB=$$CHKDUP^SCCVU2(SCCVTYP,SCSTDT,SCENDT,SCLOG,.SCERRMSG)
  1. ;
  1. S SCRESULT=SCERRNB
  1. I SCERRNB S SCRESULT=SCRESULT_U_$$BLDSTR(.SCERRMSG)
  1. ;
  1. CHKDUPQ Q
  1. ;
  1. PROCREQ(SCRESULT,SC) ; -- Process conversion/estimate request
  1. ; Input -- SC Array:
  1. ; SC("TEMPLNO") Template number ien
  1. ; ("REQNUM") Request number ien
  1. ; Output -- SCRESULT (#=Error number | 0=No Error)^Message
  1. ;
  1. N SCERRMSG,SCERRNB,SCLOG,SCREQ,SCREQACT,SCREQEVT
  1. S SCERRNB=0
  1. ;
  1. S SCLOG=$G(SC("TEMPLNO"))
  1. S SCREQ=$G(SC("REQNUM"))
  1. ;
  1. ;Quit if Template number ien or request ien are not defined
  1. I 'SCLOG!('SCREQ) D
  1. . S SCERRNB=4049006.003
  1. . D GETERR^SCCVLOG1(SCERRNB,"","","",1,.SCERRMSG)
  1. ;
  1. S SCRESULT=$S('SCERRNB:0,1:SCERRNB_U_$$BLDSTR(.SCERRMSG))
  1. ;
  1. G:SCERRNB PROCREQQ
  1. ;
  1. ; Set request action
  1. S SCREQACT=$P($G(^SD(404.98,SCLOG,"R",SCREQ,0)),U,2)
  1. S SCREQEVT=$P($G(^SD(404.98,SCLOG,"R",SCREQ,0)),U,3)
  1. ;
  1. ; Queue conversion request to start or re-start
  1. I "^1^3^"[(U_SCREQACT_U) D
  1. . D QUE^SCCVE(SCLOG,SCREQ)
  1. . IF SCREQEVT D JOURNAL(SCLOG)
  1. ;
  1. ; Process conversion request to stop
  1. I SCREQACT=2 D STOP^SCCVE(SCLOG,SCREQ)
  1. ;
  1. PROCREQQ Q
  1. ;
  1. TASKSTA(SCRESULT,SCLOG) ; -- Retrieve task status description
  1. ; Input -- SCLOG Template number ien
  1. ; Output --
  1. ; SCRESULT (0^Task status description^status code or Error #^Message)
  1. ;
  1. N SCERRNB,SCTSKD,ZTCPU
  1. ;
  1. S SCERRNB=0
  1. S SCTSKD="Unknown"
  1. ;
  1. ;Quit if Template number ien is not defined
  1. I '$G(SCLOG) D G TASKSTAQ
  1. . S SCERRNB=4049006.004
  1. . D GETERR^SCCVLOG1(SCERRNB,"","","",0,.SCERRMSG)
  1. ;
  1. ;Get task status description
  1. I 'SCERRNB D
  1. . S ZTSK=$P($G(^SD(404.98,SCLOG,1)),U,3),ZTCPU=$P($G(^(1)),U,4)
  1. . I ZTSK D
  1. . . D STAT^%ZTLOAD
  1. . . S SCTSKD=ZTSK(2)_U_ZTSK(1)
  1. ;
  1. S SCRESULT=SCERRNB_U_SCTSKD
  1. ;
  1. TASKSTAQ Q
  1. ;
  1. BLDSTR(E) ; -- Build error message string
  1. ; Input -- E Error message array
  1. ; Output -- Error message string for display purposes
  1. N I,Y,STOP
  1. S Y=""
  1. S (I,STOP)=0
  1. F S I=$O(E(I)) Q:'I D Q:STOP
  1. . I ($L(Y)+$L(E(I)))<240 S Y=Y_" "_E(I) Q
  1. . S STOP=1
  1. Q $G(Y)
  1. DTOK(SC) ; -- Verify that date range is OK
  1. N SCERR,SCOK
  1. S SCOK=1
  1. D CHKDT(.SCERR,.SC)
  1. G:$G(SCERR) DTOKQ
  1. S SC("TEMPLNO")=DA,SC("TYPE")=1
  1. D CHKDUP(.SCERR,.SC,"CST")
  1. ;
  1. DTOKQ ;
  1. I +$G(SCERR) W !!,*7,$P(SCERR,U,2),!! S SCOK=0
  1. Q SCOK
  1. ;
  1. CNVTSCH(SCLOG) ; -- Function determines if any convert was scheduled
  1. ; Returns 0 if none scheduled, 1 if any ever scheduled
  1. N SCSCH,Z
  1. S SCSCH=0
  1. S Z=0 F S Z=$O(^SD(404.98,SCLOG,"R",Z)) Q:'Z I $P($G(^(Z,0)),U,3) S SCSCH=1 Q
  1. Q SCSCH
  1. ;
  1. JOURNAL(SCLOG) ; -- display journal message and global growth estimates
  1. N DIC,DR,DIQ,DA,SCDATA,SCTOT,FLD
  1. S DIC="404.98",DA=SCLOG,DR="207:211",DIQ="SCDATA",DIQ(0)="E"
  1. D EN^DIQ1
  1. S SCTOT=0
  1. F FLD=207:1:211 S SCTOT=SCTOT+$G(SCDATA(404.98,SCLOG,FLD,"E"))
  1. ;
  1. W !
  1. W !,">>> The estimated global growth profile for this template is the following:"
  1. W !
  1. W !,?10,"Global",?25,"Blocks",?40,"[Block Size: ",$$BLKSIZE^SCCVEGU1()," bytes]"
  1. W !,?10,"---------",?25,"-----------"
  1. W !,?10,"^SCE",?25,$J($FN($G(SCDATA(404.98,SCLOG,207,"E")),","),11)
  1. W !,?10,"^AUPNVSIT",?25,$J($FN($G(SCDATA(404.98,SCLOG,208,"E")),","),11)
  1. W !,?10,"^AUPNVPRV",?25,$J($FN($G(SCDATA(404.98,SCLOG,209,"E")),","),11)
  1. W !,?10,"^AUPNVPOV",?25,$J($FN($G(SCDATA(404.98,SCLOG,210,"E")),","),11)
  1. W !,?10,"^AUPNVCPT",?25,$J($FN($G(SCDATA(404.98,SCLOG,211,"E")),","),11)
  1. W !,?10,"---------",?25,"-----------"
  1. W !,?10,"Total",?25,$J($FN(SCTOT,","),11)
  1. ;
  1. W !
  1. W !,">>> Please verify that enough global disk space and journal space"
  1. W !," are available for these anticipated increases."
  1. W !
  1. W !,">>> Also, please verify that system backup is not scheduled to"
  1. W !," run within the start and stop times of this conversion job."
  1. W !
  1. D PAUSE^SCCVU
  1. Q
  1. ;