PSXDQUEC ;BIR/HTW-Terminate Auto Processing ;[ 04/08/97 2:06 PM ]
;;2.0;CMOP;**23**;11 Apr 97
DQ ;
G:'$D(^PSX(550,"ATC")) DQ1
S REC=$O(^PSX(550,"ATC",""))
S TASK=$P($G(^PSX(550,+PSXSYS,"T1",REC,0)),U,7)
DQ1 I '$D(TASK) W !,"There isn't an automatic job queued to run under this option.",! G EXIT
S TIME=$$FMTE^XLFDT($P(^PSX(550,+PSXSYS,"T1",REC,0),U,2),"1P"),FREQ=$P(^(0),U,3),THRU=$P(^(0),U,8)
S DIR(0)="Y",DIR("A",2)="Auto Transmissions are already scheduled.",DIR("A",3)="Current schedule began : "_TIME,DIR("A",4)="Number of days to transmit thru: "_$S($G(THRU)>0:$G(THRU),$G(THRU)'>0:0,1:0)
S DIR("A",5)="Next transmission scheduled for: "_$$FMTE^XLFDT($P(^PSX(550,+PSXSYS,"T1",REC,0),"^",4),1),DIR("A",6)="Rescheduling Frequency : "_FREQ_$S(FREQ=1:" hour",FREQ>1:" hours",1:"")
S DIR("A",1)="",DIR("A",7)=""
S DIR("A")="Do you want to unschedule automatic processing ",DIR("B")="NO" D ^DIR K DIR G:Y=0!($D(DIRUT)) EXIT
S ZTSK=TASK,PSXZTSK="" D STAT^%ZTLOAD
I ZTSK(1)=2 W !,"This job is currently running, wait until the task has finished before stopping the job.",! Q
I ZTSK(1)'=2 D KILL^%ZTLOAD
I ZTSK(0)=0!(ZTSK(0)=1) L +^PSX(550,+PSXSYS,0):30 D G:'$T EXIT
.I '$T W !!,"The CMOP System file is in use, try later." Q
.S DA=REC,DA(1)=+PSXSYS,DIE="^PSX(550,"_+PSXSYS_",""T1"",",DR=".01////2;6////@" D ^DIE L -^PSX(550,+PSXSYS,0) K DIE,DA,DR,PSXZTSK,REC,TREC,TASK W !,"Job Unscheduled.",!
I ZTSK(0)<1 W !,"This task does not exist." G EXIT
MSG D NOW^%DTC S (PSXDATE,DTE)=%,SITE=$P($G(PSXSYS),U,3),NAME=$P($G(^VA(200,DUZ,0)),U,1),TIME=$$FMTE^XLFDT(DTE,"1")
S XMDUZ=.5,XMSUB=("CMOP CS Auto-Transmission Terminated"),LCNT=5
D XMZ^XMA2 G:XMZ<1 MSG
S ^XMB(3.9,XMZ,2,1,0)="Cancellation of CS Auto-Transmission Schedule."
S ^XMB(3.9,XMZ,2,2,0)=""
S ^XMB(3.9,XMZ,2,3,0)="Facility : "_SITE
S ^XMB(3.9,XMZ,2,4,0)="Initiating Official: "_NAME
S ^XMB(3.9,XMZ,2,5,0)="Date Cancelled : "_$P(TIME,":",1,2)
S ^XMB(3.9,XMZ,2,0)="^3.92A^"_LCNT_U_LCNT_U_DT,XMDUN="CMOP Manager"
K XMY S XMDUZ=.5 D GRP^PSXNOTE,ENT1^XMD
S (PSXAUTO,PSXHOUR)=0 D SERV^PSXMISC
EXIT S PSXSTAT="H" D PSXSTAT^PSXRSYU
K TIME,STDATE,NUM,X,Y,PSXTRANS,PSXFLAG,FREQ,PSXZTSK,START,ZTSK,%,DAY,DTE,LCNT,NAME,PSXAUTO,PSXDATE,PSXHOUR,SITE,XMDUN,XMDUZ,XMSUB,XMZ,PSXDUZ
K DIR,DTOUT,DUOUT,DIRUT,DIROUT
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSXDQUEC 2354 printed Dec 13, 2024@01:44:09 Page 2
PSXDQUEC ;BIR/HTW-Terminate Auto Processing ;[ 04/08/97 2:06 PM ]
+1 ;;2.0;CMOP;**23**;11 Apr 97
DQ ;
+1 if '$DATA(^PSX(550,"ATC"))
GOTO DQ1
+2 SET REC=$ORDER(^PSX(550,"ATC",""))
+3 SET TASK=$PIECE($GET(^PSX(550,+PSXSYS,"T1",REC,0)),U,7)
DQ1 IF '$DATA(TASK)
WRITE !,"There isn't an automatic job queued to run under this option.",!
GOTO EXIT
+1 SET TIME=$$FMTE^XLFDT($PIECE(^PSX(550,+PSXSYS,"T1",REC,0),U,2),"1P")
SET FREQ=$PIECE(^(0),U,3)
SET THRU=$PIECE(^(0),U,8)
+2 SET DIR(0)="Y"
SET DIR("A",2)="Auto Transmissions are already scheduled."
SET DIR("A",3)="Current schedule began : "_TIME
SET DIR("A",4)="Number of days to transmit thru: "_$SELECT($GET(THRU)>0:$GET(THRU),$GET(THRU)'>0:0,1:0)
+3 SET DIR("A",5)="Next transmission scheduled for: "_$$FMTE^XLFDT($PIECE(^PSX(550,+PSXSYS,"T1",REC,0),"^",4),1)
SET DIR("A",6)="Rescheduling Frequency : "_FREQ_$SELECT(FREQ=1:" hour",FREQ>1:" hours",1:"")
+4 SET DIR("A",1)=""
SET DIR("A",7)=""
+5 SET DIR("A")="Do you want to unschedule automatic processing "
SET DIR("B")="NO"
DO ^DIR
KILL DIR
if Y=0!($DATA(DIRUT))
GOTO EXIT
+6 SET ZTSK=TASK
SET PSXZTSK=""
DO STAT^%ZTLOAD
+7 IF ZTSK(1)=2
WRITE !,"This job is currently running, wait until the task has finished before stopping the job.",!
QUIT
+8 IF ZTSK(1)'=2
DO KILL^%ZTLOAD
+9 IF ZTSK(0)=0!(ZTSK(0)=1)
LOCK +^PSX(550,+PSXSYS,0):30
Begin DoDot:1
+10 IF '$TEST
WRITE !!,"The CMOP System file is in use, try later."
QUIT
+11 SET DA=REC
SET DA(1)=+PSXSYS
SET DIE="^PSX(550,"_+PSXSYS_",""T1"","
SET DR=".01////2;6////@"
DO ^DIE
LOCK -^PSX(550,+PSXSYS,0)
KILL DIE,DA,DR,PSXZTSK,REC,TREC,TASK
WRITE !,"Job Unscheduled.",!
End DoDot:1
if '$TEST
GOTO EXIT
+12 IF ZTSK(0)<1
WRITE !,"This task does not exist."
GOTO EXIT
MSG DO NOW^%DTC
SET (PSXDATE,DTE)=%
SET SITE=$PIECE($GET(PSXSYS),U,3)
SET NAME=$PIECE($GET(^VA(200,DUZ,0)),U,1)
SET TIME=$$FMTE^XLFDT(DTE,"1")
+1 SET XMDUZ=.5
SET XMSUB=("CMOP CS Auto-Transmission Terminated")
SET LCNT=5
+2 DO XMZ^XMA2
if XMZ<1
GOTO MSG
+3 SET ^XMB(3.9,XMZ,2,1,0)="Cancellation of CS Auto-Transmission Schedule."
+4 SET ^XMB(3.9,XMZ,2,2,0)=""
+5 SET ^XMB(3.9,XMZ,2,3,0)="Facility : "_SITE
+6 SET ^XMB(3.9,XMZ,2,4,0)="Initiating Official: "_NAME
+7 SET ^XMB(3.9,XMZ,2,5,0)="Date Cancelled : "_$PIECE(TIME,":",1,2)
+8 SET ^XMB(3.9,XMZ,2,0)="^3.92A^"_LCNT_U_LCNT_U_DT
SET XMDUN="CMOP Manager"
+9 KILL XMY
SET XMDUZ=.5
DO GRP^PSXNOTE
DO ENT1^XMD
+10 SET (PSXAUTO,PSXHOUR)=0
DO SERV^PSXMISC
EXIT SET PSXSTAT="H"
DO PSXSTAT^PSXRSYU
+1 KILL TIME,STDATE,NUM,X,Y,PSXTRANS,PSXFLAG,FREQ,PSXZTSK,START,ZTSK,%,DAY,DTE,LCNT,NAME,PSXAUTO,PSXDATE,PSXHOUR,SITE,XMDUN,XMDUZ,XMSUB,XMZ,PSXDUZ
+2 KILL DIR,DTOUT,DUOUT,DIRUT,DIROUT
+3 QUIT