1 | XQ72A ;SEA/LUKE - Jump Utilities (Part II) ;05/08/98 10:12
|
---|
2 | ;;8.0;KERNEL;**46**;Jul 10, 1995
|
---|
3 | ;
|
---|
4 | NOJ ;Pop to target option and return, not a real jump.
|
---|
5 | N %,XQI,XQT
|
---|
6 | S XQT=XQTT
|
---|
7 | F XQI=XQT:-1:1 S %=$P(XQSTK,",",XQI) Q:%="" Q:+XQY=+% D POP^XQ72(XQI)
|
---|
8 | ;I $P(^XUTL("XQ",$J,(XQTT-XQI)),U,16)!($P(^(XQTT-XQI),U,18)) S XQEX=+^(XQTT-XQI) D XACT^XQ72
|
---|
9 | S XQY0=$P(^XUTL("XQ",$J,XQI),U,2,99),XQM3=1
|
---|
10 | K %,XQI,XQSM,XQST,XQSTK
|
---|
11 | Q
|
---|
12 | ;
|
---|
13 | LAT ;Lateral shift in same parent. Not a real jump, realy.
|
---|
14 | S ^DISV(DUZ,"XQ",XQMA)=XQY
|
---|
15 | S XQY0=$P(^XUTL("XQO",XQDIC,U,+XQY),U,2,5)_"^^"_$P(^(+XQY),U,7,11)_"^^"_$P(^(+XQY),U,13)_"^^"_$P(^(+XQY),U,15,99)
|
---|
16 | ;S XQTT=^XUTL("XQ",$J,"T")
|
---|
17 | F XQI=XQTT:-1:1 S %=^XUTL("XQ",$J,XQI) Q:("MP"[$P(%,U,5)&($D(^DIC(19,+%,10,"B",+XQY)))) ;!((XQSTO)&($P(%,U)'["U"))
|
---|
18 | S ^XUTL("XQ",$J,"T")=$S(XQI'<1:XQI,1:1)
|
---|
19 | Q
|
---|