[613] | 1 | %ZTLOAD5 ;SEA/RDS-TaskMan: P I: Task Status ;03/30/2004 17:00
|
---|
| 2 | ;;8.0;KERNEL;**49,339**;JUL 10, 1995;Build 3
|
---|
| 3 | ;
|
---|
| 4 | INPUT ;check input parameters for error conditions
|
---|
| 5 | N %,ZT1,ZT2,ZT3
|
---|
| 6 | S:$D(ZTSK)[0 ZTSK=""
|
---|
| 7 | I $D(ZTSK)>1 S %=ZTSK K ZTSK S ZTSK=%
|
---|
| 8 | S ZTSK(0)=0,ZTSK(1)=0,ZTSK(2)="Undefined"
|
---|
| 9 | I ZTSK<1!('$D(^%ZTSK(ZTSK,0))) Q
|
---|
| 10 | L +^%ZTSK(ZTSK) D SEARCH L -^%ZTSK(ZTSK)
|
---|
| 11 | Q
|
---|
| 12 | ;
|
---|
| 13 | SEARCH ;search ^%ZTSCH for task
|
---|
| 14 | I $D(^%ZTSCH("TASK",ZTSK))#2 S ZTSK(0)=1,ZTSK(1)=2,ZTSK(2)="Active: Running" Q
|
---|
| 15 | S ZT1=0 D Q:ZTSK(0) ;*339
|
---|
| 16 | . F S ZT1=$O(^%ZTSCH(ZT1)) Q:ZT1'>0 I $D(^%ZTSCH(ZT1,ZTSK))#2 S ZTSK(0)=1,ZTSK(1)=1,ZTSK(2)="Active: Pending" Q
|
---|
| 17 | S ZT1="" D Q:ZTSK(0)
|
---|
| 18 | . F S ZT1=$O(^%ZTSCH("IO",ZT1)),ZT2="" Q:ZT1="" D Q:ZTSK(0)
|
---|
| 19 | . . F S ZT2=$O(^%ZTSCH("IO",ZT1,ZT2)) Q:ZT2="" I $D(^(ZT2,ZTSK))#2 S ZTSK(0)=1,ZTSK(1)=1,ZTSK(2)="Active: Pending" Q
|
---|
| 20 | S ZT1="" D Q:ZTSK(0)
|
---|
| 21 | . F S ZT1=$O(^%ZTSCH("JOB",ZT1)) Q:ZT1="" I $D(^(ZT1,ZTSK))#2 S ZTSK(0)=1,ZTSK(1)=1,ZTSK(2)="Active: Pending" Q
|
---|
| 22 | S ZT1="" D Q:ZTSK(0)
|
---|
| 23 | . F S ZT1=$O(^%ZTSCH("LINK",ZT1)),ZT2="" Q:ZT1="" D Q:ZTSK(0)
|
---|
| 24 | . . F S ZT2=$O(^%ZTSCH("LINK",ZT1,ZT2)) Q:ZT2="" I $D(^(ZT2,ZTSK))#2 S ZTSK(0)=1,ZTSK(1)=1,ZTSK(2)="Active: Pending" Q
|
---|
| 25 | S ZT1=0 D Q:ZTSK(0) ;*339
|
---|
| 26 | . F S ZT1=$O(^%ZTSCH("C",ZT1)) Q:ZT1'>0 I $D(^(ZT1,ZTSK)) S ZTSK(0)=1,ZTSK(2)="Active: Pending" Q
|
---|
| 27 | ;
|
---|
| 28 | FLAG ;If we didn't find it in a list, use status flag
|
---|
| 29 | I $D(^%ZTSK(ZTSK,.1))[0 Q
|
---|
| 30 | S ZT=$P(^%ZTSK(ZTSK,.1),U),ZTSK(0)=1
|
---|
| 31 | I ZT=2!(ZT=4) S ZTSK(1)=1,ZTSK(2)="Active: Pending" Q
|
---|
| 32 | I ZT=6 S ZTSK(1)=3,ZTSK(2)="Inactive: Finished" Q
|
---|
| 33 | I ZT="H"!(ZT="K") S ZTSK(1)=4,ZTSK(2)="Inactive: Available" Q
|
---|
| 34 | S ZTSK(1)=5,ZTSK(2)="Inactive: Interrupted"
|
---|
| 35 | Q
|
---|
| 36 | ;
|
---|
| 37 | DESC ;Find tasks with matching description.
|
---|
| 38 | ;From %ZTLOAD input param DESC,LST
|
---|
| 39 | Q:$G(DESC)=""
|
---|
| 40 | N ZTSK,X D ENV
|
---|
| 41 | S:'$D(LST) LST="^TMP($J)" S ZTSK=0
|
---|
| 42 | F S ZTSK=$O(^%ZTSK(ZTSK)) Q:ZTSK'>0 S X=$G(^%ZTSK(ZTSK,0)) D
|
---|
| 43 | . Q:$$SKIP()
|
---|
| 44 | . I $G(^%ZTSK(ZTSK,.03))=DESC S @LST@(ZTSK)=""
|
---|
| 45 | . Q
|
---|
| 46 | Q
|
---|
| 47 | RTN ;Find tasks with matching routines
|
---|
| 48 | ;From %ZTLOAD input param RTN,LST
|
---|
| 49 | Q:$G(RTN)=""
|
---|
| 50 | N ZTSK,X D ENV
|
---|
| 51 | S:'$D(LST) LST="^TMP($J)" S:RTN'["^" RTN="^"_RTN S ZTSK=0
|
---|
| 52 | F S ZTSK=$O(^%ZTSK(ZTSK)) Q:ZTSK'>0 S X=$G(^%ZTSK(ZTSK,0)) D
|
---|
| 53 | . Q:$$SKIP()
|
---|
| 54 | . I $P(X,"^",1,2)=RTN S @LST@(ZTSK)="" Q
|
---|
| 55 | . I "^"_($P(X,"^",2))=RTN S @LST@(ZTSK)=""
|
---|
| 56 | . Q
|
---|
| 57 | Q
|
---|
| 58 | OPTION ;Find tasks with matching option names
|
---|
| 59 | ;From %ZTLOAD input param OPNM, LST
|
---|
| 60 | Q:$G(OPNM)="" N ZTSK,X,FLG D ENV
|
---|
| 61 | S:'$D(LST) LST="^TMP($J)" S ZTSK=0,FLG=(OPNM?1.N1"^"1A.ANP)
|
---|
| 62 | Q:'FLG&(OPNM'?1A.ANP)
|
---|
| 63 | F S ZTSK=$O(^%ZTSK(ZTSK)) Q:ZTSK'>0 S X=$G(^%ZTSK(ZTSK,0)) D
|
---|
| 64 | . Q:$$SKIP()
|
---|
| 65 | . I FLG,$P(X,"^",8,9)=OPNM S @LST@(ZTSK)="" Q
|
---|
| 66 | . I $P(X,"^",1,2)="ZTSK^XQ1",$P(X,"^",9)=OPNM S @LST@(ZTSK)=""
|
---|
| 67 | . Q
|
---|
| 68 | Q
|
---|
| 69 | SKIP() ;Screen on ZTKEY, UCI, DUZ, return: 0=OK, 1=Skip
|
---|
| 70 | Q:ZTKEY 0
|
---|
| 71 | Q:($P(X,U,11)_","_$P(X,U,12))'=ZTUCI 1
|
---|
| 72 | Q:$P(X,U,3)'=DUZ 1
|
---|
| 73 | Q 0
|
---|
| 74 | ENV ;Setup
|
---|
| 75 | S ZTKEY=$D(^XUSEC("ZTMQ",DUZ)),U="^"
|
---|
| 76 | X ^%ZOSF("UCI") S ZTUCI=Y
|
---|
| 77 | Q
|
---|
| 78 | ;
|
---|
| 79 | JOB ;Return JOB # for running task. Called from JOB^ZTLOAD (*339)
|
---|
| 80 | N Z1,Z2 S Z1=""
|
---|
| 81 | I $G(ZTM)>0 S Z2=$G(^%ZTSCH("TASK",ZTM)),Z1=$S($L(Z2):$P(Z2,"^",10),1:"")
|
---|
| 82 | Q Z1
|
---|