[613] | 1 | XQH3 ;LL/THM,SEA/AMF,JLI -HELP FRAME XREF BY PARENT ;9/29/92 15:13 ;5/13/93 11:27 AM
|
---|
| 2 | ;;8.0;KERNEL;;Jul 10, 1995
|
---|
| 3 | PKG R !!,"Select PACKAGE name: ALL// ",X:DTIME S:'$T X=U S DIC=9.4,DIC(0)="QEMZ" Q:X[U S:'$L(X) X="ALL"
|
---|
| 4 | I X="ALL" S XQS="@z",XQE="zzz" G SLIST
|
---|
| 5 | D ^DIC G:Y<0 PKG S XQS=$P(Y(0),U,2),XQE=XQS_"zzz"
|
---|
| 6 | SLIST ;LIST PARENTS AND ORPHANS
|
---|
| 7 | S %ZIS="MQ" D ^%ZIS Q:POP I $D(IO("Q")) K IO("Q") G QUE
|
---|
| 8 | DQ ; Entry point for queued job
|
---|
| 9 | U IO
|
---|
| 10 | K ^TMP($J) S XQI=0 D S0 S XQS=0 D S3
|
---|
| 11 | D:$D(^TMP($J)) S6
|
---|
| 12 | KILL K XQI,XQK,XQJ,XQL,XQE,XQS,XQDSH,XQN,%DT,%H,%ZIS,%T,DIC,X,XQP,Y,^TMP($J)
|
---|
| 13 | D ^%ZISC
|
---|
| 14 | Q
|
---|
| 15 | ;
|
---|
| 16 | S0 ;
|
---|
| 17 | S XQS=$O(^DIC(9.2,"B",XQS)) Q:XQS]XQE!(XQS="") D S1 G S0
|
---|
| 18 | S1 ;
|
---|
| 19 | S XQI=$O(^DIC(9.2,"B",XQS,XQI)) Q:XQI="" S ^TMP($J,XQS,0)=XQI,XQJ=0 D S2 G S1
|
---|
| 20 | S2 ;
|
---|
| 21 | S XQJ=$O(^DIC(9.2,XQI,2,XQJ)) Q:+XQJ<1 S XQK=$P(^(XQJ,0),U,2) G:'$L(XQK) S2 I '$D(^DIC(9.2,XQK,0)) W !,*7,"HELP FRAME ",XQS," POINTS TO HELP FRAME ",XQK," WHICH DOES NOT EXIST " G S2
|
---|
| 22 | S XQL=$P(^DIC(9.2,XQK,0),U,1)
|
---|
| 23 | I '$D(^TMP($J,XQL,"K")) S ^("K")=1,^TMP($J,XQL,1)=XQS G S2
|
---|
| 24 | S XQN=^TMP($J,XQL,"K")+1,^("K")=XQN,^TMP($J,XQL,XQN)=XQS G S2
|
---|
| 25 | S3 ;
|
---|
| 26 | S XQI=0,XQL=1,XQS=$O(^TMP($J,XQS)) Q:XQS="" G:'$D(^(XQS,0)) S3 S XQJ=^(0) D:$D(^DIC(19,"AC",XQJ)) S4 S XQI=0,XQL=1 D:$D(^DIC(9.2,XQJ,3)) S5 G S3
|
---|
| 27 | S4 ;
|
---|
| 28 | S XQI=$O(^DIC(19,"AC",XQJ,XQI)) Q:XQI="" S XQK=$P(^DIC(19,XQI,0),U,1)
|
---|
| 29 | S $P(^TMP($J,XQS,XQL),U,2)=XQK,XQL=XQL+1 G S4
|
---|
| 30 | S5 ;
|
---|
| 31 | S XQI=$O(^DIC(9.2,XQJ,3,XQI)) Q:XQI="" S XQK=^(XQI,0)
|
---|
| 32 | S $P(^TMP($J,XQS,XQL),U,3)=XQK,XQL=XQL+1 G S5
|
---|
| 33 | S6 ;
|
---|
| 34 | S XQDSH="---------------------------------------------------------------------------------------------------------------------------"
|
---|
| 35 | S XQP=1 D HDR S (XQS,XQUI)=0 D SL
|
---|
| 36 | D ^%ZISC
|
---|
| 37 | K XQUI Q
|
---|
| 38 | SL S XQS=$O(^TMP($J,XQS)) Q:XQS="" D:$Y+3>IOSL NWPG Q:XQUI W XQS
|
---|
| 39 | I '$D(^TMP($J,XQS,1)) W ?28,"** no parents **",!
|
---|
| 40 | F XQJ=1:1 Q:'$D(^TMP($J,XQS,XQJ)) S XQK=^(XQJ) W ?28,$S('$L($P(XQK,U,1)):"** no parents **",1:$P(XQK,U,1)),?56,$P(XQK,U,2),?72,$P(XQK,U,3),!
|
---|
| 41 | G SL
|
---|
| 42 | NWPG ;
|
---|
| 43 | I $E(IOST,1)="C" D CON S XQUI=(X="^") Q:XQUI
|
---|
| 44 | D HDR Q
|
---|
| 45 | CON ;
|
---|
| 46 | W !,"Press return to continue or '^' to escape " R X:DTIME S:'$T X=U
|
---|
| 47 | Q
|
---|
| 48 | HDR W @IOF,!,"CROSS REFERENCE OF HELP FRAMES BY PARENTS",?70,"PAGE ",XQP S XQP=XQP+1
|
---|
| 49 | W !!,"HELP",?28,"PARENTS",?56,"MENU",?71,"INVOKING"
|
---|
| 50 | W !,"FRAME",?56,"OPTIONS",?71,"ROUTINES"
|
---|
| 51 | W !,$E(XQDSH,1,IOM-1),!
|
---|
| 52 | Q
|
---|
| 53 | ;
|
---|
| 54 | QUE ; Queue job to run later
|
---|
| 55 | S ZTRTN="DQ^XQH3",ZTSAVE("XQS")="",ZTSAVE("XQE")="",ZTDESC="HELP FRAME XREF BY PARENT" D ^%ZTLOAD K ZTSAVE,ZTSK,ZTRTN,ZTDESC
|
---|
| 56 | G KILL
|
---|