[613] | 1 | XUTMUSE ;SEA/RDS - TaskMan: Option, XUTMUSER, Part 1 (Driver) ;11/30/94 11:43
|
---|
| 2 | ;;8.0;KERNEL;;Jul 10, 1995
|
---|
| 3 | ;
|
---|
| 4 | ENV ;Establish Routine Environment
|
---|
| 5 | N DIR,XUTMT,ZTKEY,ZTNAME,ZTENV,ZTF,ZTUCI,ZTSK K DTOUT,DIRUT
|
---|
| 6 | D ENV^XUTMUTL Q:'$D(ZTENV)
|
---|
| 7 | S XUTMT(0)="A"_$E("U",'ZTKEY),XUTMT("?")="^D HELP1^XUTMUSE",XUTMT("??")="^D HELP2^XUTMUSE" D ^XUTMT Q:ZTSK=""
|
---|
| 8 | ;
|
---|
| 9 | SELECT ;Prompt User For Action
|
---|
| 10 | S DIR(0)="SAOM^D:Display status.;ST:Stop task.;E:Edit task.;P:Print task.;L:List own tasks.;SE:Select another task.",DIR("?")="^D HELP1^XUTMUSE3",DIR("??")="^D HELP2^XUTMUSE3"
|
---|
| 11 | S DIR("A",1)="",DIR("A",2)=" Taskman User Option",DIR("A",3)="",DIR("A",4)=" Display status.",DIR("A",5)=" Stop task.",DIR("A",6)=" Edit task."
|
---|
| 12 | S DIR("A",7)=" Print task.",DIR("A",8)=" List own tasks.",DIR("A",9)=" Select another task.",DIR("A",10)="",DIR("A")=" Select Action (Task # "_ZTSK_"): "
|
---|
| 13 | D ^DIR Q:$D(DIRUT) D ACT I ZTSK="" K ^TMP($J) Q
|
---|
| 14 | G SELECT
|
---|
| 15 | ;
|
---|
| 16 | ACT ;SELECT Subroutine--Act On User's Selection
|
---|
| 17 | N DIR,DIRUT,DTOUT,DUOUT,XUTMT
|
---|
| 18 | I Y="D" W ! D EN^XUTMTP(ZTSK,"",1) Q
|
---|
| 19 | I Y="ST" W ! S XUTMT=ZTSK,XUTMT(0)="R2" D ^XUTMT Q
|
---|
| 20 | I Y="E" S XUTMT=ZTSK D ^XUTMUSE2 Q
|
---|
| 21 | I Y="P" D ^XUTMUSE1 Q
|
---|
| 22 | I Y="L" D HELP2 Q
|
---|
| 23 | W ! S XUTMT(0)="A"_$E("U",'ZTKEY),XUTMT("B")=ZTSK,XUTMT("?")="^D HELP3^XUTMUSE",XUTMT("??")="^D HELP2^XUTMUSE" D ^XUTMT Q
|
---|
| 24 | Q
|
---|
| 25 | ;
|
---|
| 26 | HELP1 ;ENV Subroutine--Help Message For Initial Task Selection For "?"
|
---|
| 27 | W !!,"This option will allow you to look at and manipulate your queued jobs, and is",!?5,"only useful for you when you have such jobs to work with."
|
---|
| 28 | W !!,"You must begin this option by entering the task number of the queued job that",!?5,"you want to work with first."
|
---|
| 29 | W !!,"If you don't know the task number of any of your queued jobs then enter",!?5,"two question marks ('??') and you will be shown all of your queued jobs",!?5,"on this computer."
|
---|
| 30 | W " The task number of each task is the number listed on the",!?5,"first line of the display, before the colon (':')."
|
---|
| 31 | W !!,"After you pick a task to work with, you will be shown a list of the things",!?5,"you can do with that task, and will be asked to pick one.",!
|
---|
| 32 | Q
|
---|
| 33 | ;
|
---|
| 34 | HELP2 ;Subroutine--Help Message For Initial Task Selection For "??"
|
---|
| 35 | N %ZTI,DTOUT,DUOUT,X,Y,ZT,ZTD1,ZTD2,ZTDTH,XUTMT,ZTOUT,ZTREC,ZTS,ZTSK
|
---|
| 36 | K ^TMP($J)
|
---|
| 37 | W @IOF,"Please wait while I find your tasks...searching..."
|
---|
| 38 | S %ZTI=0,ZTOUT=0
|
---|
| 39 | H1 S ZTS=0 F S ZTS=$O(^%ZTSK(ZTS)) Q:'ZTS D
|
---|
| 40 | . S ZTREC=$G(^%ZTSK(ZTS,0)) Q:ZTREC=""
|
---|
| 41 | . I $P(ZTREC,U,3)'=DUZ Q
|
---|
| 42 | . I $P(ZTREC,U,10)]"",$P(ZTREC,U,10)'=ZTNAME Q
|
---|
| 43 | . S ZTDTH=$$H3^%ZTM($P(ZTREC,U,6))
|
---|
| 44 | . D SORT
|
---|
| 45 | . Q
|
---|
| 46 | H2 S ZTS=0,ZTDTH=$$H3^%ZTM($H)
|
---|
| 47 | F S ZTS=$O(^%ZTSCH("TASK",ZTS)) Q:'ZTS D
|
---|
| 48 | . I $D(^%ZTSK(ZTS,0))#2 Q
|
---|
| 49 | . S ZTREC=$G(^%ZTSCH("TASK",ZTS)) Q:ZTREC=""
|
---|
| 50 | . I $P(ZTREC,U,9)'=DUZ,$P(ZTREC,U,9)'=ZTNAME Q
|
---|
| 51 | . D SORT
|
---|
| 52 | . Q
|
---|
| 53 | H3 W "finished!",!
|
---|
| 54 | I '%ZTI W !,"There are no tasks listed that were queued by you.",!
|
---|
| 55 | E S ZTD1="0",%ZTI=0 F S ZTD1=$O(^TMP($J,ZTD1)) Q:ZTD1'>0 D I ZTOUT Q
|
---|
| 56 | . S ZTS=0
|
---|
| 57 | . F S ZTS=$O(^TMP($J,ZTD1,ZTS)) Q:'ZTS D HPRINT I ZTOUT Q
|
---|
| 58 | I 'ZTOUT D EOL W !
|
---|
| 59 | ;K ^TMP($J)
|
---|
| 60 | Q
|
---|
| 61 | ;
|
---|
| 62 | HPRINT ;HELP2 Subroutine--Print A Task
|
---|
| 63 | N XUTMT,ZTSK
|
---|
| 64 | S %ZTI=%ZTI+1,^TMP($J,0,%ZTI)=ZTS
|
---|
| 65 | S ZTF=0 D EN^XUTMTP(ZTS,%ZTI)
|
---|
| 66 | W !,"-------------------------------------------------------------------------------"
|
---|
| 67 | I $Y>18 S ZTF=1 D EOP S ZTOUT=$D(DTOUT)!$D(DUOUT) Q:ZTOUT W @IOF
|
---|
| 68 | Q
|
---|
| 69 | ;
|
---|
| 70 | SORT ;HELP2--sort tasks by start time, in reverse order
|
---|
| 71 | ;input: start time, task number
|
---|
| 72 | ;output: new cross reference in ^TMP($J)
|
---|
| 73 | S %ZTI=%ZTI+1
|
---|
| 74 | S ^TMP($J,ZTDTH,ZTS)=%ZTI
|
---|
| 75 | Q
|
---|
| 76 | ;
|
---|
| 77 | HELP3 ;ACT Subroutine--Help Message For Task Reselection For "?"
|
---|
| 78 | W !!,"Enter the task number of the queued job you want to work with."
|
---|
| 79 | W !!,"Enter '??' to see the list of tasks you can choose from.",! Q
|
---|
| 80 | ;
|
---|
| 81 | EOP ;Simulate DIR(0)="E" Call To DIR (For Use Within DIR calls)
|
---|
| 82 | S Y="" F ZT=0:0 R !,"Press RETURN to continue or '^' to exit: ",Y:$S($D(DTIME)#2:DTIME,1:60) S:'$T DTOUT="" S:Y="^" DUOUT="" Q:Y=""!(Y="^") W !!,"Enter either RETURN or '^'",! W:Y'["?" $C(7)
|
---|
| 83 | Q
|
---|
| 84 | ;
|
---|
| 85 | EOL ;Simulate DIR(0)="E" call to DIR for end of listings
|
---|
| 86 | S Y="" F ZT=0:0 R !,"End of listing. Press RETURN to continue: ",Y:$S($D(DTIME)#2:DTIME,1:60) S:'$T DTOUT="" S:Y="^" DUOUT="" Q:Y=""!(Y="^") W !!,"Enter either RETURN or '^'",! W:Y'["?" $C(7)
|
---|
| 87 | Q
|
---|
| 88 | ;
|
---|