Changeset 1041 for Scheduling/trunk/m/BSDX29.m
- Timestamp:
- Dec 12, 2010, 11:11:57 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Scheduling/trunk/m/BSDX29.m
r1036 r1041 1 BSDX29 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 12/6/10 6:05am2 ;;1.42;BSDX;; Sep 29, 20101 BSDX29 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 12/6/10 12:39pm 2 ;;1.42;BSDX;;Dec 07, 2010 3 3 ; 4 4 ; Change Log: 5 5 ; v1.3 by WV/SMH on 3100713 6 6 ; - Beginning and Ending dates passed as FM Dates 7 8 9 10 7 ; v1.42 by WV/SMH on 3101023 8 ; - Transaction moved; now restartable too. 9 ; --> Thanks to Zach Gonzalez and Rick Marshall. 10 ; - Refactoring of major portions of routine 11 11 ; 12 12 BSDXCPD(BSDXY,BSDXRES,BSDX44,BSDXBEG,BSDXEND) ;EP … … 19 19 ;Copy appointments from HOSPITAL LOCATION entry BSDX44 to BSDX RESOURCE entry BSDXRES 20 20 ;Beginning with appointments on day BSDXBEG and ending on BSDXEND, inclusive 21 22 ; 23 24 25 26 27 28 29 21 ;Called by RPC: BSDX COPY APPOINTMENTS 22 ; 23 ; Parameters: 24 ; - BSDXY: Global Return 25 ; - BSDXRES: BSDX RESOURCE to copy appointments to 26 ; - BSDX44: Hospital Location IEN to copy appointments from 27 ; - BSDXBEG: Beginning Date in FM Format 28 ; - BSDXEND: End Date in FM Format 29 ; 30 30 ;Returns ADO Recordset containing TASK_NUMBER and ERRORID 31 31 ; 32 32 ; Return Array 33 33 S BSDXY=$NA(^BSDXTMP($J)) 34 35 36 34 K ^BSDXTMP($J) 35 ; $ET 36 N $ET S $ET="G ETRAP^BSDX29" 37 37 ; Counter 38 39 40 S ^BSDXTMP($J,0)="T00010TASK_NUMBER^T00 020ERRORID"_$C(30)41 ; 42 43 38 N BSDXI S BSDXI=0 39 ; Header Node 40 S ^BSDXTMP($J,0)="T00010TASK_NUMBER^T00100ERRORID"_$C(30) 41 ; 42 ; Make dates inclusive; add 1 to FM dates 43 S BSDXBEG=BSDXBEG-1 44 44 S BSDXEND=BSDXEND+1 45 45 ; 46 47 46 ; Taskman variables 47 N ZTSK,ZTRTN,ZTDTH,ZTDESC,ZTSAVE 48 48 ; Task Load 49 49 S ZTRTN="ZTM^BSDX29",ZTDTH=$H,ZTDESC="COPY PATIENT APPTS" … … 61 61 ; 62 62 ZTM ;EP - Taskman entry point 63 64 63 ; Variables set up in ZTSAVE above 64 ; 65 65 Q:'$D(ZTSK) 66 67 66 ; $ET 67 N $ET S $ET="G ZTMERR^BSDX29" 68 68 ; Txn 69 69 TSTART (BSDXBEG,BSDXEND,BSDX44,BSDXRES):T="BSDX COPY APPOINTMENT^BSDX29" 70 70 ;$O through ^SC(BSDX44,"S", 71 71 N BSDXCNT S BSDXCNT=0 ; Count of Copied Appointments 72 72 N BSDXQUIT S BSDXQUIT=0 ; Quit Flag to be retrieved from an external proc 73 73 ; Set Count 74 74 S ^BSDXTMP("BSDXCOPY",ZTSK)=BSDXCNT 75 75 ; Loop through dates here. 76 77 78 79 76 F S BSDXBEG=$O(^SC(BSDX44,"S",BSDXBEG)) Q:'+BSDXBEG Q:BSDXBEG>BSDXEND Q:BSDXQUIT D 77 . ; Loop through Entries in each date in the subsubfile. 78 . ; Quit if we are at the end or if a remote process requests a quit. 79 . N BSDXIEN S BSDXIEN=0 80 80 . F S BSDXIEN=$O(^SC(BSDX44,"S",BSDXBEG,1,BSDXIEN)) Q:'+BSDXIEN Q:BSDXQUIT D 81 81 . . N BSDXNOD S BSDXNOD=$G(^SC(BSDX44,"S",BSDXBEG,1,BSDXIEN,0)) ; Node … … 83 83 . . N BSDXCAN S BSDXCAN=$P(BSDXNOD,U,9) ; Cancel flag 84 84 . . Q:BSDXCAN="C" ; Quit if appt cancelled 85 86 85 . . N BSDXPAT S BSDXPAT=$P(BSDXNOD,U) ; Patient 86 . . N BSDXLEN S BSDXLEN=$P(BSDXNOD,U,2) ;duration in minutes 87 87 . . N BSDXCLRK S BSDXCLRK=$P(BSDXNOD,U,6) ;appt made by (clerk) 88 88 . . N BSDXMADE S BSDXMADE=$P(BSDXNOD,U,7) ;date appt made … … 100 100 ZTMERR ; For now, error from TM is only in trap; not returned to client. 101 101 N $ET S $ET="D ^%ZTER HALT" ; Emergency Error Trap 102 103 102 ; Rollback before logging the error 103 I $TL>0 TROLLBACK 104 104 D ^%ZTER 105 105 S $EC="" ; Clear Error 106 106 QUIT 107 107 ; … … 148 148 ERR(BSDXI,BSDXCNT,BSDXERR) ;Error processing 149 149 S BSDXI=BSDXI+1 150 150 S BSDXERR=$TR(BSDXERR,"^","~") 151 151 S ^BSDXTMP($J,BSDXI)=BSDXCNT_"^"_BSDXERR_$C(30) 152 152 S BSDXI=BSDXI+1 … … 156 156 ETRAP ;EP Error trap entry 157 157 ; No Txn here. So don't rollback anything 158 159 160 158 N $ET S $ET="D ^%ZTER HALT" ; Emergency Error Trap 159 D ^%ZTER 160 S $EC="" ; Clear error 161 161 I '$D(BSDXI) N BSDXI S BSDXI=0 162 162 D ERR(BSDXI,$G(BSDXCNT),"~100~BSDX29, Error: "_$G(%ZTERZE))
Note:
See TracChangeset
for help on using the changeset viewer.