- XUTMTA ;SEA/RDS - TaskMan: ToolKit, Select ;12/12/94 15:21 [ 04/02/2003 8:29 AM ]
- ;;8.0;KERNEL;**1002,1003,1004,1005,1007**;APR 1, 2003
- ;;8.0;KERNEL;;Jul 10, 1995
- ;
- SELECT ;Main Section--Select Task
- N DDH,DIR,DIRUT,DTOUT,DUOUT,X,Y,ZT
- F D SETUP,^DIR Q:+Y=Y!$D(DIRUT)
- K XUTMT,ZTSK S ZTSK=$S($D(DIRUT):"",'$D(^%ZTSK(Y,0))&$D(^TMP($J,0,Y)):$G(^TMP($J,0,Y)),1:Y) Q
- ;
- ;
- SETUP ;SELECT--Setup Reader Input Parameters
- S DIR(0)="NAO^1:9999999999:0^D XFORM^XUTMTA"
- S DIR("A")=$S($D(XUTMT("A"))#2:XUTMT("A"),1:"Select TASK: ")
- S DIR("?")=$S($D(XUTMT("?"))#2:XUTMT("?"),1:"^D HELP1^XUTMTA")
- S DIR("??")=$S($D(XUTMT("??"))#2:XUTMT("??"),1:"^D HELP2^XUTMTA") I DIR("??")="@" K DIR("??")
- I $D(XUTMT("B"))#2 S DIR("B")=XUTMT("B")
- I $D(DTIME)[0 S DIR("T")=60
- Q
- ;
- ;XFORM--Does task have an intact ^%ZTSK(#,0)
- XFORM ;SELECT--Input Transform
- I '$D(%ZTSK(X)),$D(^TMP($J,0,X)) S X=$G(^TMP($J,0,X)) ;Use index to get task number.
- I '$D(^%ZTSK(X)),'$D(^%ZTSCH("TASK",X)) W !!?5,"Task # ",X," is not defined in this volume set's Task File." K X Q
- I $D(^%ZTSK(X,0))[0,'$D(^%ZTSCH("TASK",X)) W !!?5,"While a record does exist for this task, most of the critical data is",!?5,"missing. Please select a different task." K X Q
- I XUTMT(0)["U",$S($D(^%ZTSK(X,0))[0:0,1:$P(^(0),U,3)'=DUZ)!$S($D(^%ZTSCH("TASK",X))[0:0,$P(^(X),U,9)=DUZ:0,1:$P(^(X),U,9)'=ZTNAME) W !!?5,"You may only select a task that you created. Please select a different",!?5,"task." K X Q
- W:$D(^%ZTSK(X,0))#2 " ",$S($G(^(.03))]"":$E(^(.03),1,75),1:$P(^(0),U,1,2))
- W:$D(^%ZTSK(X,0))[0&($D(^%ZTSCH("TASK",X))#2) " ",$P(^%ZTSCH("TASK",X),U,1,2)
- Q
- ;
- HELP1 ;SELECT--Default Help For '?'
- W !!?5,"Select a task by its internal number: an integer between 1 and 999999999."
- I $D(^TMP($J,0)) W !,"Or by the Index number."
- Q
- ;
- HELP2 ;SELECT--Default Help For '??'
- D HELP1
- N DIR,DDH,DIRUT,DTOUT,DUOUT,X,Y D ^XUTMQ
- Q
- ;
- XUTMTA ;SEA/RDS - TaskMan: ToolKit, Select ;12/12/94 15:21 [ 04/02/2003 8:29 AM ]
- +1 ;;8.0;KERNEL;**1002,1003,1004,1005,1007**;APR 1, 2003
- +2 ;;8.0;KERNEL;;Jul 10, 1995
- +3 ;
- SELECT ;Main Section--Select Task
- +1 NEW DDH,DIR,DIRUT,DTOUT,DUOUT,X,Y,ZT
- +2 FOR
- DO SETUP
- DO ^DIR
- IF +Y=Y!$DATA(DIRUT)
- QUIT
- +3 KILL XUTMT,ZTSK
- SET ZTSK=$SELECT($DATA(DIRUT):"",'$DATA(^%ZTSK(Y,0))&$DATA(^TMP($JOB,0,Y)):$GET(^TMP($JOB,0,Y)),1:Y)
- QUIT
- +4 ;
- +5 ;
- SETUP ;SELECT--Setup Reader Input Parameters
- +1 SET DIR(0)="NAO^1:9999999999:0^D XFORM^XUTMTA"
- +2 SET DIR("A")=$SELECT($DATA(XUTMT("A"))#2:XUTMT("A"),1:"Select TASK: ")
- +3 SET DIR("?")=$SELECT($DATA(XUTMT("?"))#2:XUTMT("?"),1:"^D HELP1^XUTMTA")
- +4 SET DIR("??")=$SELECT($DATA(XUTMT("??"))#2:XUTMT("??"),1:"^D HELP2^XUTMTA")
- IF DIR("??")="@"
- KILL DIR("??")
- +5 IF $DATA(XUTMT("B"))#2
- SET DIR("B")=XUTMT("B")
- +6 IF $DATA(DTIME)[0
- SET DIR("T")=60
- +7 QUIT
- +8 ;
- +9 ;XFORM--Does task have an intact ^%ZTSK(#,0)
- XFORM ;SELECT--Input Transform
- +1 ;Use index to get task number.
- IF '$DATA(%ZTSK(X))
- IF $DATA(^TMP($JOB,0,X))
- SET X=$GET(^TMP($JOB,0,X))
- +2 IF '$DATA(^%ZTSK(X))
- IF '$DATA(^%ZTSCH("TASK",X))
- WRITE !!?5,"Task # ",X," is not defined in this volume set's Task File."
- KILL X
- QUIT
- +3 IF $DATA(^%ZTSK(X,0))[0
- IF '$DATA(^%ZTSCH("TASK",X))
- WRITE !!?5,"While a record does exist for this task, most of the critical data is",!?5,"missing. Please select a different task."
- KILL X
- QUIT
- +4 IF XUTMT(0)["U"
- IF $SELECT($DATA(^%ZTSK(X,0))[0:0,1:$PIECE(^(0),U,3)'=DUZ)!$SELECT($DATA(^%ZTSCH("TASK",X))[0:0,$PIECE(^(X),U,9)=DUZ:0,1:$PIECE(^(X),U,9)'=ZTNAME)
- WRITE !!?5,"You may only select a task that you created. Please select a different",!?5,"task."
- KILL X
- QUIT
- +5 IF $DATA(^%ZTSK(X,0))#2
- WRITE " ",$SELECT($GET(^(.03))]"":$EXTRACT(^(.03),1,75),1:$PIECE(^(0),U,1,2))
- +6 IF $DATA(^%ZTSK(X,0))[0&($DATA(^%ZTSCH("TASK",X))#2)
- WRITE " ",$PIECE(^%ZTSCH("TASK",X),U,1,2)
- +7 QUIT
- +8 ;
- HELP1 ;SELECT--Default Help For '?'
- +1 WRITE !!?5,"Select a task by its internal number: an integer between 1 and 999999999."
- +2 IF $DATA(^TMP($JOB,0))
- WRITE !,"Or by the Index number."
- +3 QUIT
- +4 ;
- HELP2 ;SELECT--Default Help For '??'
- +1 DO HELP1
- +2 NEW DIR,DDH,DIRUT,DTOUT,DUOUT,X,Y
- DO ^XUTMQ
- +3 QUIT
- +4 ;