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

ZTLOAD2.m

Go to the documentation of this file.
  1. %ZTLOAD2 ;SEA/RDS-TaskMan: Queue, Part 2 ;12/10/08 07:23
  1. ;;8.0;KERNEL;**1,67,118,275,339,446**;Jul 10, 1995;Build 35
  1. ;
  1. REJECT(MSG) ;GET--reject bad task
  1. I '$D(ZTQUEUED) W !,"QUEUE INFORMATION MISSING - NOT QUEUED",!,MSG
  1. G EXIT
  1. ;
  1. BADDEV(MSG) ;GET--Reject task because of device issue.
  1. I '$D(ZTQUEUED) W !,"Queueing not allowed to device -- NOT QUEUED",!,MSG
  1. EXIT ;Report back to app.
  1. S %ZTLOAD("ERROR")=MSG
  1. Q
  1. ;
  1. RESTRCT ;GET--flag tasks with output restricted from certain times; check.
  1. I $D(ZTQUEUED) Q
  1. S ZTNOGO=0
  1. I ZTDTH="@" Q
  1. I ZTDTH'?1.5N1","1.5N Q
  1. S X=$$HTFM^%ZTLOAD7(ZTDTH) D ^XQ92 I X="" S ZTDTH="" W !,"Sorry--that time is restricted!",!,$C(7)
  1. Q
  1. ;
  1. ASK ;GET--ask for start time
  1. N %DT,Y
  1. I $D(ZTQUEUED) D:ZTDTH]"" Q
  1. . S %DT="FRS",X=ZTDTH D ^%DT
  1. . S ZTDTH=$$FMTH^%ZTLOAD7(+Y) I Y'>0 S ZTDTH=""
  1. . Q
  1. S ZTDTH="",%DT="AERSX",%DT("A")="Requested Start Time: ",%DT("B")="NOW",%DT(0)="NOW"
  1. I $D(ZTNOGO) D I X="" Q
  1. . S Y=+XQY D NEXT^XQ92 I X="" W !,"Output is never allowed from this option!",$C(7),$C(7) Q
  1. . S %DT("B")=$$FMTE^%ZTLOAD7(X),%DT="AERSX"
  1. . Q
  1. I $D(ZTNOGO),'$D(XQNOGO) W !,"Output from this option is restricted during certain times."
  1. F ZT=0:0 D ^%DT Q:(Y<0)!'$D(ZTNOGO) S ZT=Y,X=Y D ^XQ92 S Y=ZT Q:X]"" W !!,"That is a restricted time!",!,$C(7)
  1. S:Y>0 ZTDTH=$$FMTH^%ZTLOAD7(+Y)
  1. K %DT,%T,X5,ZT
  1. Q
  1. ;
  1. OPTION ;GET--get option data
  1. S ZTA4=$G(ZTSAVE("XQY")) I 'ZTA4 S ZTA4=$G(XQY) I 'ZTA4 S ZTA4=""
  1. S ZTA1="O" I 'ZTA4 S ZTA1="" Q
  1. S ZTA5=$P($G(^DIC(19,ZTA4,0)),U)
  1. Q
  1. ;
  1. ZTKIL ;GET--convert forget time
  1. S ZTKIL=$S(ZTKIL?5N:ZTKIL,ZTKIL?5N1","1.5N:ZTKIL,ZTKIL?7N.".".N:$$FMTH^%ZTLOAD7(ZTKIL),1:"")
  1. Q
  1. ;
  1. SPOOL ;DEVICE--for predefined ZTIO spool device, pick up IO("DOC") if missing
  1. I $G(IO("DOC"))="" Q
  1. I ZTIO[IO("DOC") Q
  1. I $P(ZTIO,";",2)?.N D
  1. .S ZTIO=$P(ZTIO,";")_";"_IO("DOC")_";"_$P(ZTIO,";",2,999)
  1. E I $P(ZTIO,";",2)?1.2A1"-"1.ANP,$P(ZTIO,";",3)?.N D
  1. .S ZTIO=$P(ZTIO,";",1,2)_";"_IO("DOC")_";"_$P(ZTIO,";",3,999)
  1. Q
  1. ;
  1. ASKSTOP ;e.f. Called from ASKSTOP^%ZTLOAD
  1. ;Ask a task to stop. Unschedule if not started.
  1. N % S ZTSK=+$G(ZTSK) I ZTSK<1 Q "0^BAD TASK NUMBER"
  1. L +^%ZTSK(ZTSK):10 I '$T Q "0^Busy"
  1. S %=$$AKS
  1. L -^%ZTSK(ZTSK)
  1. Q %
  1. ;
  1. AKS() ;Locked before called
  1. N ZT1,ZT2,ZTDTH,%ZTIO
  1. S ZTSK(0)=$G(^%ZTSK(ZTSK,0)),ZTSK(.1)=$G(^(.1))
  1. I ZTSK(0)="" Q "1^Task missing"
  1. S $P(^%ZTSK(ZTSK,.1),U,10)=$S($D(ZTNAME)#2:ZTNAME,1:$G(DUZ,.5))
  1. I +ZTSK(.1)=6 Q "1^Finished running"
  1. I +ZTSK(.1)=5 Q "2^Asked to stop"
  1. S ZTDTH=$$H3^%ZTM($P(ZTSK(0),U,6))
  1. K ^%ZTSCH(ZTDTH,ZTSK) ;Remove from schedule
  1. S %ZTIO=$O(^%ZTSK(ZTSK,.26,"")) I %ZTIO]"" D DQ^%ZTM4 ;Remove from device lists.
  1. Q "2^Unscheduled"