| 1 | SDRPA02 ;bp-oifo/swo pait utils ; 9/10/04 9:33am
 | 
|---|
| 2 |  ;;5.3;Scheduling;**349,376**;AUG 13, 1993
 | 
|---|
| 3 |  Q       ;no entry from top
 | 
|---|
| 4 | DUP(RUNIEN,BATCHIDO) ;check for duplicate ACK response
 | 
|---|
| 5 |  ;RUNIEN     :  the ien in file 409.6 of the run
 | 
|---|
| 6 |  ;BATCHIDO   :  batchid pulled from the ACK message
 | 
|---|
| 7 |  ;V3         :  returns 0 if dup ACK or error and 1 new ACK
 | 
|---|
| 8 |  N V1,V2,V3,VNODE
 | 
|---|
| 9 |  S V3=0
 | 
|---|
| 10 |  I $G(RUNIEN)="" Q V3
 | 
|---|
| 11 |  I $G(BATCHIDO)="" Q V3
 | 
|---|
| 12 |  I $G(^SDWL(409.6,RUNIEN,2,0))="" Q V3
 | 
|---|
| 13 |  S V1=$O(^SDWL(409.6,RUNIEN,2,"B",BATCHIDO,"")) I V1="" Q V3
 | 
|---|
| 14 |  S VNODE=$G(^SDWL(409.6,RUNIEN,2,V1,0))
 | 
|---|
| 15 |  I $P(VNODE,"^")'=BATCHIDO Q V3
 | 
|---|
| 16 |  I $P(VNODE,"^",4)="" S V3=1
 | 
|---|
| 17 |  Q V3
 | 
|---|
| 18 | RSTAT ;check the status of the last run
 | 
|---|
| 19 |  ;V1     :  last run ien
 | 
|---|
| 20 |  ;VNODE  :  zero node of the run
 | 
|---|
| 21 |  ;ZTSK   :  the task number
 | 
|---|
| 22 |  N V1,V2,V3,VNODE,ZTSK
 | 
|---|
| 23 |  S V1=$O(^SDWL(409.6,999999999),-1) Q:'V1
 | 
|---|
| 24 |  S VNODE=$G(^SDWL(409.6,V1,0)) Q:VNODE=""
 | 
|---|
| 25 |  I $P(VNODE,"^",7) Q  ;the run has finished
 | 
|---|
| 26 |  S ZTSK=$P(VNODE,"^",2) Q:'ZTSK
 | 
|---|
| 27 |  D STAT^%ZTLOAD
 | 
|---|
| 28 |  I ZTSK(1)=1!(ZTSK(1)=2) Q  ;still running
 | 
|---|
| 29 |  ;S V2=$$RPAIT^SDRPA03(V1) ADD MESSAGE TO HELP DESK THAT TASK ERRORED
 | 
|---|
| 30 |  Q
 | 
|---|
| 31 | RUNCK() ;date check for run start
 | 
|---|
| 32 |  ;V1     :  ien file 19.2
 | 
|---|
| 33 |  ;V2     :  returns 0=do not run, 1=okay to run
 | 
|---|
| 34 |  ;V3     :  1st day of scheduling pattern
 | 
|---|
| 35 |  ;V4     :  2nd day of scheduling pattern
 | 
|---|
| 36 |  ;VNODE  :  zero node of 19.2
 | 
|---|
| 37 |  ;VDAY   :  current day plussed
 | 
|---|
| 38 |  ;run may be started on the 1st or 15th with a 3 day grace window
 | 
|---|
| 39 |  ;if no entry in 19.2 allow to run anytime
 | 
|---|
| 40 |  ;if scheduling pattern is not 1M(1,15) allow to run anytime
 | 
|---|
| 41 |  N V1,V2,V3,V4,VNODE,VDAY
 | 
|---|
| 42 |  S V2=0
 | 
|---|
| 43 |  S V1=$O(^DIC(19,"B","SD-PAIT TASKED TRANSMISSION","")) ;is the option scheduled?
 | 
|---|
| 44 |  S V1=$O(^DIC(19.2,"B",V1,""))
 | 
|---|
| 45 |  I V1="" S V2=1 D NSMSG Q V2  ;not scheduled, allow to run anytime
 | 
|---|
| 46 |  S VNODE=$G(^DIC(19.2,V1,0))
 | 
|---|
| 47 |  I VNODE="" S V2=1 Q V2  ;b xref, but no entry, allow to run anytime
 | 
|---|
| 48 |  I $P(VNODE,"^",6)'?1"1M("1.2N1","1.2N1")" S V2=1 D NSMSG Q V2  ;not our scheduling pattern, allow to run anytime
 | 
|---|
| 49 |  S V3=+$P($P($P(VNODE,"^",6),"(",2),",") ;1st date in month to run
 | 
|---|
| 50 |  S V4=+$P($P($P(VNODE,"^",6),",",2),")") ;2nd date in month to run
 | 
|---|
| 51 |  S VDAY=+$E($$DT^XLFDT(),6,7)
 | 
|---|
| 52 |  I VDAY'=V3,VDAY'=(V3+1),VDAY'=(V3+2),VDAY'=(V3+3),VDAY'=V4,VDAY'=(V4+1),VDAY'=(V4+2),VDAY'=(V4+3) D NRMSG Q V2
 | 
|---|
| 53 |  S V2=1
 | 
|---|
| 54 |  Q V2
 | 
|---|
| 55 | NRMSG ;no run message
 | 
|---|
| 56 |  N XMSUB,XMY,XMTEXT,XMDUZ,SDAMX,SDNOW,SDNAM
 | 
|---|
| 57 |  S XMSUB="PAIT Transmission"
 | 
|---|
| 58 |  S XMY("G.SD-PAIT")=""
 | 
|---|
| 59 |  S XMTEXT="SDAMX("
 | 
|---|
| 60 |  S XMDUZ="POSTMASTER"
 | 
|---|
| 61 |  S SDNOW=$$HTE^XLFDT($H,)
 | 
|---|
| 62 |  S SDNAM=$$GET1^DIQ(200,+$G(DUZ)_",",.01,"I")
 | 
|---|
| 63 |  S SDAMX(1)=SDNAM_" (DUZ="_DUZ_") attempted to start the PAIT transmission"
 | 
|---|
| 64 |  S SDAMX(2)="on "_SDNOW_", outside the authorized transmission dates."
 | 
|---|
| 65 |  S SDAMX(3)="The job has been cancelled"
 | 
|---|
| 66 |  D ^XMD
 | 
|---|
| 67 |  Q
 | 
|---|
| 68 | NSMSG ;non scheduled start-up
 | 
|---|
| 69 |  N XMSUB,XMY,XMTEXT,XMDUZ,SDAMX,SDNOW,SDNAM
 | 
|---|
| 70 |  S XMSUB="PAIT Transmission"
 | 
|---|
| 71 |  S XMY("G.SD-PAIT")=""
 | 
|---|
| 72 |  ;S XMY("VHACIONHD@MED.VA.GOV")
 | 
|---|
| 73 |  S XMTEXT="SDAMX("
 | 
|---|
| 74 |  S XMDUZ="POSTMASTER"
 | 
|---|
| 75 |  S SDNOW=$$HTE^XLFDT($H,)
 | 
|---|
| 76 |  S SDNAM=$$GET1^DIQ(200,+$G(DUZ)_",",.01,"I")
 | 
|---|
| 77 |  S SDAMX(1)=SDNAM_" (DUZ="_DUZ_") started the PAIT transmission "
 | 
|---|
| 78 |  S SDAMX(2)="on "_SDNOW_".  Option SD-PAIT TASKED TRANSMISSION has no "
 | 
|---|
| 79 |  S SDAMX(3)="entry or an incorrect entry for scheduling frequency.  The correct frequency "
 | 
|---|
| 80 |  S SDAMX(4)="is 1M(1,15).  The National Help Desk has been notified to initiate a NOIS"
 | 
|---|
| 81 |  D ^XMD
 | 
|---|
| 82 |  Q
 | 
|---|