XBRPTL ; IHS/ADC/GTH - PRINT ROUTINE TO FIRST LABEL ; [ 10/29/2002 7:42 AM ]
;;3.0;IHS/VA UTILITIES;**9**;FEB 07, 1997
; XB*3*9 IHS/SET/GTH XB*3*9 10/29/2002 Cache' mods.
;
; This routine prints selected routines down to the first
; label.
;
START ;
KILL ^UTILITY($J)
X ^%ZOSF("RSEL")
D ^%ZIS
PRINT ;
KILL ^TMP("XBRPTL",$J)
NEW %,I,L,R,X,Y
U IO
W @IOF
;S XBRPTLQ=0,R="";IHS/SET/GTH XB*3*9 10/29/2002
S XBRPTLQ=0,R=0 ;IHS/SET/GTH XB*3*9 10/29/2002
F L=0:0 KILL XBRPTL Q:XBRPTLQ S R=$O(^UTILITY($J,R)) Q:R="" D
. S DIF="^TMP(""XBRPTL"",$J,",XCNP=0,X=R
. X ^%ZOSF("LOAD")
. S XBRPTL(1)=^TMP("XBRPTL",$J,1,0)
. F I=2:1 S Y=$G(^TMP("XBRPTL",$J,I,0)) Q:(Y="")!($E(Y,1,2)'=" ;") S XBRPTL(I)=Y
. S I=I-1
. D TOP
. W !!!
. I $D(XBRPTL) F %=1:1:I W XBRPTL(%),! I IO=IO(0)&($E(IOST,1,2)="C-")&($Y>(IOSL-4)) D PAGE S:$D(DUOUT) %=I,XBRPTLQ=1
.Q
;
KILL DTOUT,DUOUT,XBRPTLQ
KILL ^UTILITY($J)
I IO'=IO(0)!($E(IOST,1,2)="P-") W @IOF D:'$D(XBRPTLE) ^%ZISC
KILL DIF,XBRPTLE,XCNP
KILL ^TMP("XBRPTL",$J)
Q
;
TOP ;
I IO'=IO(0)!($E(IOST,1,2)="P-") W:$Y+I+3>IOSL @IOF
Q
;
PAGE ;
NEW %,I,X
S Y=$$DIR^XBDIR("E")
W:'$D(DUOUT) @IOF
Q
;
EN ;PEP - Print routines down to first label.
S XBRPTLE=1
D PRINT
KILL XBRPTLE
Q
;
XBRPTL ; IHS/ADC/GTH - PRINT ROUTINE TO FIRST LABEL ; [ 10/29/2002 7:42 AM ]
+1 ;;3.0;IHS/VA UTILITIES;**9**;FEB 07, 1997
+2 ; XB*3*9 IHS/SET/GTH XB*3*9 10/29/2002 Cache' mods.
+3 ;
+4 ; This routine prints selected routines down to the first
+5 ; label.
+6 ;
START ;
+1 KILL ^UTILITY($JOB)
+2 XECUTE ^%ZOSF("RSEL")
+3 DO ^%ZIS
PRINT ;
+1 KILL ^TMP("XBRPTL",$JOB)
+2 NEW %,I,L,R,X,Y
+3 USE IO
+4 WRITE @IOF
+5 ;S XBRPTLQ=0,R="";IHS/SET/GTH XB*3*9 10/29/2002
+6 ;IHS/SET/GTH XB*3*9 10/29/2002
SET XBRPTLQ=0
SET R=0
+7 FOR L=0:0
KILL XBRPTL
IF XBRPTLQ
QUIT
SET R=$ORDER(^UTILITY($JOB,R))
IF R=""
QUIT
Begin DoDot:1
+8 SET DIF="^TMP(""XBRPTL"",$J,"
SET XCNP=0
SET X=R
+9 XECUTE ^%ZOSF("LOAD")
+10 SET XBRPTL(1)=^TMP("XBRPTL",$JOB,1,0)
+11 FOR I=2:1
SET Y=$GET(^TMP("XBRPTL",$JOB,I,0))
IF (Y="")!($EXTRACT(Y,1,2)'=" ;")
QUIT
SET XBRPTL(I)=Y
+12 SET I=I-1
+13 DO TOP
+14 WRITE !!!
+15 IF $DATA(XBRPTL)
FOR %=1:1:I
WRITE XBRPTL(%),!
IF IO=IO(0)&($EXTRACT(IOST,1,2)="C-")&($Y>(IOSL-4))
DO PAGE
IF $DATA(DUOUT)
SET %=I
SET XBRPTLQ=1
+16 QUIT
End DoDot:1
+17 ;
+18 KILL DTOUT,DUOUT,XBRPTLQ
+19 KILL ^UTILITY($JOB)
+20 IF IO'=IO(0)!($EXTRACT(IOST,1,2)="P-")
WRITE @IOF
IF '$DATA(XBRPTLE)
DO ^%ZISC
+21 KILL DIF,XBRPTLE,XCNP
+22 KILL ^TMP("XBRPTL",$JOB)
+23 QUIT
+24 ;
TOP ;
+1 IF IO'=IO(0)!($EXTRACT(IOST,1,2)="P-")
IF $Y+I+3>IOSL
WRITE @IOF
+2 QUIT
+3 ;
PAGE ;
+1 NEW %,I,X
+2 SET Y=$$DIR^XBDIR("E")
+3 IF '$DATA(DUOUT)
WRITE @IOF
+4 QUIT
+5 ;
EN ;PEP - Print routines down to first label.
+1 SET XBRPTLE=1
+2 DO PRINT
+3 KILL XBRPTLE
+4 QUIT
+5 ;