[613] | 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
|
---|