[613] | 1 | %INDX51 ;ISC/REL,GRK,RWF - PRINT ROUTINE ;8/18/93 11:12 ;
|
---|
| 2 | ;;7.3;TOOLKIT;;Apr 25, 1995
|
---|
| 3 | B S RTN="$",INL(1)=IOM-10,INL(2)=IOSL-4,INL(3)="C"[$E(IOST),INL(4)=IOM-1 ;Local IO paramiters
|
---|
| 4 | K I W !!?10,"Compiled list of Errors and Warnings ",INDXDT,!
|
---|
| 5 | F INDXJ=0:0 S RTN=$O(^UTILITY($J,RTN)) Q:RTN="" I $D(^UTILITY($J,1,RTN,"E"))>9 W !,RTN F I=1:1 Q:'$D(^UTILITY($J,1,RTN,"E",I)) W !?3,^(I)
|
---|
| 6 | W:'$D(I) !,"No errors or warnings to report",! G END:'INP(1),CR:INP(6)
|
---|
| 7 | W !!,"--- Routine Detail" W:INP(5)?1A " --- with "_$S(INP(5)["R":"REGULAR",INP(5)["S":"STRUCTURED",INP(5)["B":"R/S",1:"")_" ROUTINE LISTING" W " ---"
|
---|
| 8 | S RTN="$",INDB="R"
|
---|
| 9 | BL F S RTN=$O(^UTILITY($J,RTN)) Q:RTN=""!('INP(4)&(RTN?1"|"1.4L.NP)) D B1,CHK
|
---|
| 10 | G END:NRO<2,END:$D(IND("QUIT")),CR
|
---|
| 11 | ;
|
---|
| 12 | CHK I $D(ZTQUEUED),$$S^%ZTLOAD S IND("QUIT")=1,ZTSTOP=1
|
---|
| 13 | S:$D(IND("QUIT")) RTN="~" Q
|
---|
| 14 | ;
|
---|
| 15 | B1 D:INP(5)["S"!(INP(5)["B") ^%INDX8 D:INP(5)["F" SC G:INP(5)["S" B2
|
---|
| 16 | D WAIT:INL(3) S X=^UTILITY($J,1,RTN,0) W @IOF,!,RTN," * * ",$P(X,"^",2)," Lines, ",+X," Bytes. printed on ",INDXDT,! G:'INP(2) B2
|
---|
| 17 | F I=1:1 Q:'$D(^UTILITY($J,1,RTN,0,I)) S X=^(I,0),L=$P(X," ",1),X=$P(X," ",2,999) F J=6,7:0 W !,L,?J," ",$E(X,1,INL(4)-J) S X=$E(X,INL(4)-J+1,999),L="" Q:X=""
|
---|
| 18 | B2 G:'INP(3)!('$D(^UTILITY($J,1,RTN,"E",0))) B3 W !!,"***** ERRORS & WARNINGS IN ",RTN," *****",!
|
---|
| 19 | F I=1:1 Q:'$D(^UTILITY($J,1,RTN,"E",I)) W !?3,^(I)
|
---|
| 20 | B3 S INL(5)="***** INDEX OF "_RTN_" *****" W !!,INL(5),!
|
---|
| 21 | S HED="Local Variables Line Occurrences ( >> not killed explicitly)",HED(1)=$J("",40)_"( * Changed ! Killed ~ Newed)",LOC="L",SYM="" D P
|
---|
| 22 | S HED="Global Variables ( * Changed ! Killed)",LOC="G",SYM="" D P
|
---|
| 23 | S HED="Naked Globals",LOC="N",SYM="" D P
|
---|
| 24 | S HED="Marked Items",LOC="MK",SYM="" D P
|
---|
| 25 | S HED="Label References",LOC="I",SYM="" D P
|
---|
| 26 | S HED="External References",LOC="X",SYM="^" D P
|
---|
| 27 | W !!,"***** END *****",! Q
|
---|
| 28 | ;
|
---|
| 29 | P S L="",PC="",TAB=$S("XG"[LOC:23,1:16) D HD1 Q:$D(IND("QUIT"))
|
---|
| 30 | P1 S L=$O(^UTILITY($J,1,RTN,LOC,L)) I L="" W:PC="" !?3,"NONE" K HED Q
|
---|
| 31 | I LOC="X",L?1L.LNP Q
|
---|
| 32 | S PC(1)=$G(^UTILITY($J,1,RTN,LOC,$P(L,"(")))_$S("^DT^DUZ^DTIME^IO^IOF^ION^IOM^IOSL^IOST^U^"[("^"_$P(L,"(")_"^"):"!",1:" ")
|
---|
| 33 | S PC(1)=(PC(1)["!")!(PC(1)["~"),PC="*"
|
---|
| 34 | F J=0:1 S X=$S($D(^UTILITY($J,1,RTN,LOC,L,J)):^(J),1:"") Q:X="" D P2,P3
|
---|
| 35 | G P1
|
---|
| 36 | P2 I $Y'<INL(2) D HD1 S PC="*"
|
---|
| 37 | Q:PC=L
|
---|
| 38 | I LOC="L" W !,$S(('PC(1)):">> ",1:" "),SYM,L,?TAB Q
|
---|
| 39 | I LOC'="X" W !," ",SYM,L,?TAB Q
|
---|
| 40 | W !?3,$P(L," ",2),SYM,$P(L," ",1)," ",?TAB
|
---|
| 41 | Q
|
---|
| 42 | P3 W:$X>TAB !,?TAB
|
---|
| 43 | S PC=L F I=1:1 S ARG=$P(X,",",I) Q:ARG="" W:$X>INL(1) !?TAB W:$X'=TAB "," W ARG
|
---|
| 44 | Q
|
---|
| 45 | HD1 I $Y'<INL(2) D WAIT:INL(3) W @IOF,!,INL(5),!
|
---|
| 46 | HD2 W !!,HED W:$D(HED(1)) !,HED(1)
|
---|
| 47 | Q
|
---|
| 48 | CR S INDB="C" U IO(0) W !!,"--- CROSS-REFERENCING ALL ROUTINES ---" U IO
|
---|
| 49 | S RTN="$" D CRX^%INDX5
|
---|
| 50 | S INL(5)="***** Cross Reference of all Routines printed "_INDXDT_" *****",RTN="***" D WAIT:INL(3) W @IOF,!,INL(5),!
|
---|
| 51 | S HED="Local Variables Routines ( >> not killed explicitly)",HED(1)=$J("",30)_"( * Changed ! Killed ~ Newed)",LOC="L",SYM="" D P
|
---|
| 52 | S HED="Global Variables",LOC="G",SYM="" D P
|
---|
| 53 | S HED="Marked Items",LOC="MK",SYM="" D P
|
---|
| 54 | S HED="Routine Invokes:",LOC="Z",SYM="" D P
|
---|
| 55 | S HED="Routine is Invoked by:",LOC="X",SYM="^" D P
|
---|
| 56 | W !!,"***** END *****",! G END
|
---|
| 57 | END K INL,HED Q
|
---|
| 58 | SC ;Print a command chart
|
---|
| 59 | D WAIT:INL(3) W @IOF,!,RTN," Command chart"
|
---|
| 60 | F I=0:0 S I=$O(^UTILITY($J,1,RTN,"COM",I)) Q:I'>0 W !,^(I)
|
---|
| 61 | Q
|
---|
| 62 | WAIT W !," Press return to continue:" R %:60 S:%="^" IND("QUIT")=1 Q
|
---|