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

LRTASK.m

Go to the documentation of this file.
  1. LRTASK ;SLC/RWF- QUEUE A TASK TO RUN ; 2/24/87 8:17 PM ;
  1. ;;V~4.08~
  1. ;CALL WITH LRPGM, LRTIME, LRIO WILL RETURN ZTSK
  1. ;IF LRTIME=0 THEN ^%ZTSCH(LRTIME,ZTSK)=LRIO WILL NOT BE SET
  1. SET S U="^" X ^%ZOSF("UCI")
  1. TSK L ^%ZTSK(0) S (^%ZTSK(0),ZTSK)=^%ZTSK(0)+1 G TSK:$D(^%ZTSK(ZTSK))
  1. S ^%ZTSK(ZTSK,0)=LRPGM_U_DUZ_U_Y_U_$H_U_LRTIME_U
  1. LOCK I LRTIME S ^%ZTSCH(LRTIME,ZTSK)=LRIO K LRIO,LRTIME
  1. K LRPGM Q
  1. SAVE ;WILL SAVE LOCAL SYMBOL TABLE IN ^%ZTSK(ZTSK,
  1. I '$D(ZTSK) S:'$D(LRTIME) LRTIME=0 D LRTASK
  1. K IO,IOM,IOST,IOF,IOSL
  1. S X="^%ZTSK("_ZTSK_"," X ^DD("OS",^DD("OS"),8)
  1. Q
  1. LOAD ;from LROC
  1. S Y="%" F Z=0:0 S Y=$N(^%ZTSK(ZTSK,Y)),%=$D(^(Y)) Q:'% S:%#2 @(Y_"=^(Y)") I %>9 S %X="^%ZTSK(ZTSK,Y,",%Y=Y_"(" D %XY^%RCR
  1. Q
  1. DEV W ! S %IS="NMQ",IOP="Q" D ^%ZIS K %IS,IOP Q:POP S LRIOZERO=IO(0)
  1. S LRIO=ION,LRTIME=0 D LRTASK,SAVE,TIME S ^%ZTSCH(LRTIME,ZTSK)=LRIO K ZTSK,LRIOZERO
  1. Q
  1. TIME S %DT="AET",%DT("A")="TIME TO RUN: T+1@1AM//" D ^%DT K %DT G:X="^" H^XUS I Y=-1 S LRTIME=$H+1_",3600" Q
  1. S X=Y,LRTIME=$P(Y,".",2)_"0000" D H^%DTC S LRTIME=%H_","_($E(LRTIME,1,2)*3600+($E(LRTIME,3,4)*60))
  1. Q
  1. WAIT W ! S IOP="Q",%IS="QN" D ^%ZIS Q:POP
  1. S LRTIME=0,LRIO=ION D LRTASK,TIME Q