XUTMD ;SEA/RDS - TaskMan: Option, XUTMDEL, Part 1 (Single) ;12/28/94 14:23
;;8.0;KERNEL;;Jul 10, 1995
;
ENV ;Establish Routine Environment
N DDH,DIR,X,Y,ZTENV,ZTKEY,ZTNAME,ZTSK,XUTMUCI
D ENV^XUTMUTL Q:'$D(ZTENV)
;
SELECT ;Prompt User To Select Task Or Tasks To Delete
W !
S XUTMT(0)="AL" D ^XUTMT
I 'ZTSK K ^TMP($J,"XUTMT") Q
I ZTSK["-"!(ZTSK[",") D ^XUTMD1 Q:$D(DTOUT) G SELECT
S XUTMT=ZTSK,XUTMT(0)="R3" D ^XUTMT
;
STATUS ;Report On Status Of Task And Whether User May Delete It
I $D(ZTSK(.11))#2,ZTSK(.11)="UNDEFINED",$O(ZTSK(.3))="" W !!?5,"That task is not defined.",$C(7) G SELECT
I $D(ZTSK(.11))#2,ZTSK(.11)="UNDEFINED",$O(ZTSK(.3))="TASK",$O(ZTSK("TASK"))="" W !!?5,"That task is running and has no record." G SELECT
I $D(ZTSK(.11))#2,ZTSK(.11)="UNDEFINED" W !!?5,"That task is scheduled but has no record." G CONFIRM:ZTKEY G SELECT
;
S5 I $D(ZTSK(.11))#2,$O(ZTSK(.3))="" W !!?5,"That task's record is incomplete." G CONFIRM:ZTKEY G SELECT
I $D(ZTSK(.11))#2,$O(ZTSK(.3))="TASK",$O(ZTSK("TASK"))="" W !!?5,"That task is running and has an incomplete record." G SELECT
I $D(ZTSK(.11))#2 W !!?5,"That task is scheduled, but has an incomplete record." G CONFIRM:ZTKEY G SELECT
;
S9 I $O(ZTSK(.3))="TASK",$O(ZTSK("TASK"))="" W !!?5,"That task is running." G SELECT
I 'ZTKEY,$S($P(ZTSK(0),U,11)_","_$P(ZTSK(0),U,12)=XUTMUCI:DUZ'=$P(ZTSK(0),U,3),1:ZTNAME'=$P(ZTSK(0),U,10)) W !!?5,"You may only delete your own tasks." G SELECT
;
CONFIRM ;Prompt User To Confirm Unscheduling
I $S($D(ZTSK(.11))[0:1,1:ZTSK(.11)'="UNDEFINED") W ! D EN^XUTMTP(ZTSK)
W !
K DIR
S DIR(0)="Y"
S DIR("A")="Are you sure you want to delete this task"
S DIR("B")="NO"
S DIR("?")=" Answer YES to delete the task."
D ^DIR
I 'Y W !!?5,"Tasks NOT deleted!"
I $D(DTOUT) W $C(7) Q
K DIR,DIRUT,DTOUT,DUOUT
I 'Y G SELECT
;
DELETE ;Delete Task
I $D(ZTSK(0))#2,ZTSK(0)["ZTSK^XQ1",$P(ZTSK(0),U,11)_","_$P(ZTSK(0),U,12)=XUTMUCI,$P(ZTSK(0),U,8)]"" D
. F DA=0:0 S DA=$O(^DIC(19.2,DA)) Q:DA'>0 I $G(^DIC(19.2,DA,1))=ZTSK D
. . N DIE S DIE="^DIC(19.2,",DR="2///@;12///@" D ^DIE Q
. Q
S XUTMT=ZTSK,XUTMT(0)="D" D ^XUTMT
W !!?5,"Deleted!"
G SELECT
;
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HXUTMD 2202 printed Dec 13, 2024@02:13:08 Page 2
XUTMD ;SEA/RDS - TaskMan: Option, XUTMDEL, Part 1 (Single) ;12/28/94 14:23
+1 ;;8.0;KERNEL;;Jul 10, 1995
+2 ;
ENV ;Establish Routine Environment
+1 NEW DDH,DIR,X,Y,ZTENV,ZTKEY,ZTNAME,ZTSK,XUTMUCI
+2 DO ENV^XUTMUTL
if '$DATA(ZTENV)
QUIT
+3 ;
SELECT ;Prompt User To Select Task Or Tasks To Delete
+1 WRITE !
+2 SET XUTMT(0)="AL"
DO ^XUTMT
+3 IF 'ZTSK
KILL ^TMP($JOB,"XUTMT")
QUIT
+4 IF ZTSK["-"!(ZTSK[",")
DO ^XUTMD1
if $DATA(DTOUT)
QUIT
GOTO SELECT
+5 SET XUTMT=ZTSK
SET XUTMT(0)="R3"
DO ^XUTMT
+6 ;
STATUS ;Report On Status Of Task And Whether User May Delete It
+1 IF $DATA(ZTSK(.11))#2
IF ZTSK(.11)="UNDEFINED"
IF $ORDER(ZTSK(.3))=""
WRITE !!?5,"That task is not defined.",$CHAR(7)
GOTO SELECT
+2 IF $DATA(ZTSK(.11))#2
IF ZTSK(.11)="UNDEFINED"
IF $ORDER(ZTSK(.3))="TASK"
IF $ORDER(ZTSK("TASK"))=""
WRITE !!?5,"That task is running and has no record."
GOTO SELECT
+3 IF $DATA(ZTSK(.11))#2
IF ZTSK(.11)="UNDEFINED"
WRITE !!?5,"That task is scheduled but has no record."
if ZTKEY
GOTO CONFIRM
GOTO SELECT
+4 ;
S5 IF $DATA(ZTSK(.11))#2
IF $ORDER(ZTSK(.3))=""
WRITE !!?5,"That task's record is incomplete."
if ZTKEY
GOTO CONFIRM
GOTO SELECT
+1 IF $DATA(ZTSK(.11))#2
IF $ORDER(ZTSK(.3))="TASK"
IF $ORDER(ZTSK("TASK"))=""
WRITE !!?5,"That task is running and has an incomplete record."
GOTO SELECT
+2 IF $DATA(ZTSK(.11))#2
WRITE !!?5,"That task is scheduled, but has an incomplete record."
if ZTKEY
GOTO CONFIRM
GOTO SELECT
+3 ;
S9 IF $ORDER(ZTSK(.3))="TASK"
IF $ORDER(ZTSK("TASK"))=""
WRITE !!?5,"That task is running."
GOTO SELECT
+1 IF 'ZTKEY
IF $SELECT($PIECE(ZTSK(0),U,11)_","_$PIECE(ZTSK(0),U,12)=XUTMUCI:DUZ'=$PIECE(ZTSK(0),U,3),1:ZTNAME'=$PIECE(ZTSK(0),U,10))
WRITE !!?5,"You may only delete your own tasks."
GOTO SELECT
+2 ;
CONFIRM ;Prompt User To Confirm Unscheduling
+1 IF $SELECT($DATA(ZTSK(.11))[0:1,1:ZTSK(.11)'="UNDEFINED")
WRITE !
DO EN^XUTMTP(ZTSK)
+2 WRITE !
+3 KILL DIR
+4 SET DIR(0)="Y"
+5 SET DIR("A")="Are you sure you want to delete this task"
+6 SET DIR("B")="NO"
+7 SET DIR("?")=" Answer YES to delete the task."
+8 DO ^DIR
+9 IF 'Y
WRITE !!?5,"Tasks NOT deleted!"
+10 IF $DATA(DTOUT)
WRITE $CHAR(7)
QUIT
+11 KILL DIR,DIRUT,DTOUT,DUOUT
+12 IF 'Y
GOTO SELECT
+13 ;
DELETE ;Delete Task
+1 IF $DATA(ZTSK(0))#2
IF ZTSK(0)["ZTSK^XQ1"
IF $PIECE(ZTSK(0),U,11)_","_$PIECE(ZTSK(0),U,12)=XUTMUCI
IF $PIECE(ZTSK(0),U,8)]""
Begin DoDot:1
+2 FOR DA=0:0
SET DA=$ORDER(^DIC(19.2,DA))
if DA'>0
QUIT
IF $GET(^DIC(19.2,DA,1))=ZTSK
Begin DoDot:2
+3 NEW DIE
SET DIE="^DIC(19.2,"
SET DR="2///@;12///@"
DO ^DIE
QUIT
End DoDot:2
+4 QUIT
End DoDot:1
+5 SET XUTMT=ZTSK
SET XUTMT(0)="D"
DO ^XUTMT
+6 WRITE !!?5,"Deleted!"
+7 GOTO SELECT
+8 ;