[641] | 1 | XBTM ; IHS/ADC/GTH - TECH MANUAL : MAIN ; [ 02/07/97 3:02 PM ]
|
---|
| 2 | ;;4.0;XB;;Jul 20, 2009;Build 2
|
---|
| 3 | ;
|
---|
| 4 | ; This routine, and subsequent routines in the XBTM*
|
---|
| 5 | ; namespace, produce a technical manual from information
|
---|
| 6 | ; contained in the package. The manual is approximately 80
|
---|
| 7 | ; pages. All, or individual chapters can be printed.
|
---|
| 8 | ;
|
---|
| 9 | D HOME^%ZIS,DT^DICRW
|
---|
| 10 | NEW DIR,XBSEL
|
---|
| 11 | SEL ;
|
---|
| 12 | S XBSEL=$$DIR^XBDIR("S^1:only one chapter;A:All chapters","Print 1 chapter, or all? 1/A","1")
|
---|
| 13 | S:$D(DUOUT) DIRUT=1
|
---|
| 14 | Q:$D(DIRUT)
|
---|
| 15 | I XBSEL S XBSEL=$$DIR^XBDIR("N^1:15:0","Which chapter?","","","","^D CHAPS^XBTM") S:$D(DUOUT) DIRUT=1
|
---|
| 16 | Q:$D(DIRUT)
|
---|
| 17 | DEV ;
|
---|
| 18 | S %ZIS="OPQ"
|
---|
| 19 | D ^%ZIS
|
---|
| 20 | I POP S IOP=$I D ^%ZIS G K
|
---|
| 21 | G:'$D(IO("Q")) START
|
---|
| 22 | KILL IO("Q")
|
---|
| 23 | I $D(IO("S"))!($E(IOST)'="P") W *7,!,"Please queue to system printers." D ^%ZISC G DEV
|
---|
| 24 | S ZTRTN="START^XBTM",ZTDESC="TECHNICAL MANUAL.",ZTIO=ION_";"_IOST_";"_IOM_";"_IOSL,ZTSAVE("XBSEL")=""
|
---|
| 25 | D ^%ZTLOAD
|
---|
| 26 | G:'$D(ZTSK) DEV
|
---|
| 27 | K ;
|
---|
| 28 | KILL XB,ZTSK
|
---|
| 29 | D ^%ZISC
|
---|
| 30 | G END
|
---|
| 31 | ;
|
---|
| 32 | START ;EP - TaskMan.
|
---|
| 33 | NEW DIWL,DIWR,DIWF,XBBM,XBCONT,XBSAVX,XBTM,XBTITL,XBPG,XBHDR,XBHDRE,XBHDRO,XBDASH
|
---|
| 34 | D ^XBKTMP
|
---|
| 35 | S DIWL=10,DIWR=74,DIWF="W",XBBM=IOSL-5,XBTM=6,XBTITL="IHS/VA UTILITIES TECHNICAL MANUAL",XBPG=0,XBHDR="Index",(XBHDRE,XBHDRO)="",XBDASH="",$P(XBDASH,"-",81)="",XBDASH=$E(XBDASH,DIWL,DIWR)
|
---|
| 36 | U IO
|
---|
| 37 | I 'XBSEL D ^XBTMI S DIWF="WN" D ^XBTMTI W @IOF S DIWF="W" D ^XBTMPR W @IOF
|
---|
| 38 | BODY ;
|
---|
| 39 | S (XBCONT,XBHDR,XBPG)=0
|
---|
| 40 | KILL ^TMP("XBTM-CONTENTS",$J)
|
---|
| 41 | I XBSEL S XBCHAP=XBSEL D MAKEHDRS,TOF Q:$D(DUOUT) D HDR(XBCHAP),@("^XBTM"_XBCHAP) G END
|
---|
| 42 | F XBCHAP=1:1:15 D MAKEHDRS,TOF Q:$D(DUOUT) D HDR(XBCHAP),@("^XBTM"_XBCHAP)
|
---|
| 43 | ;
|
---|
| 44 | INDEX ;
|
---|
| 45 | S XBHDR="Index"
|
---|
| 46 | D TOF
|
---|
| 47 | G:$D(DUOUT) HAT
|
---|
| 48 | W !!!
|
---|
| 49 | S X="|NOWRAP||SETTAB(""C"")||TAB|INDEX"
|
---|
| 50 | D ^DIWP,^DIWW
|
---|
| 51 | W !!!
|
---|
| 52 | D CONT("INDEX^^"_XBPG)
|
---|
| 53 | S (XB,XBCONT)="",$P(XBCONT,".",81)=""
|
---|
| 54 | F S XB=$O(^TMP("XBTM-INDEX",$J,XB)) Q:XB="" Q:$D(DUOUT) S X="" D
|
---|
| 55 | .F XBX=0:0 S XBX=$O(^TMP("XBTM-INDEX",$J,XB,XBX)) Q:$D(DUOUT) S X=X_XBX_"," I '$O(^(XBX)) D Q
|
---|
| 56 | ..S X=XB_$E(XBCONT,1,DIWR-DIWL-$L(XB)-$L(X))_$E(X,1,$L(X)-1)
|
---|
| 57 | ..S XBSAVX=X
|
---|
| 58 | ..F S X=$E(XBSAVX,1,DIWR-DIWL),XBSAVX=$E(XBSAVX,DIWR-DIWL+1,$L(XBSAVX)) Q:'$L(X) D TOF:$Y>XBBM Q:$D(DUOUT) D ^DIWP
|
---|
| 59 | ..Q
|
---|
| 60 | .Q
|
---|
| 61 | D ^DIWW,PAUSE^XB
|
---|
| 62 | G:$D(DUOUT) HAT
|
---|
| 63 | ;
|
---|
| 64 | CONTENTS ;
|
---|
| 65 | W @IOF,!!!!!
|
---|
| 66 | S X="|SETTAB(""C"")||TAB|CONTENTS"
|
---|
| 67 | D ^DIWP,^DIWW
|
---|
| 68 | W !!
|
---|
| 69 | S XB=0
|
---|
| 70 | F S XB=$O(^TMP("XBTM-CONTENTS",$J,XB)) Q:'+XB S X=^(XB),X=$P(X,U)_" "_$P(X,U,2)_$E(XBCONT,1,DIWR-DIWL-$L(X)+1)_$P(X,U,3) D TOF:$Y>XBBM Q:$D(DUOUT) D ^DIWP
|
---|
| 71 | G:$D(DUOUT) HAT
|
---|
| 72 | D ^DIWW,PAUSE^XB
|
---|
| 73 | G:$D(DUOUT) HAT
|
---|
| 74 | END ;
|
---|
| 75 | D PAUSE^XB
|
---|
| 76 | G:$D(DUOUT) HAT
|
---|
| 77 | W @IOF
|
---|
| 78 | HAT ;
|
---|
| 79 | D ^%ZISC
|
---|
| 80 | KILL XB,XBBM,XBCHAP,XBCONT,XBODD,XBHDR,XBIEN,XBPARA,XBPG,XBROOT,XBTITL,XBTM,XBX,XBY,DIC,DIWF,DIWL,DIWR
|
---|
| 81 | D ^XBKTMP
|
---|
| 82 | Q
|
---|
| 83 | ;
|
---|
| 84 | TEXT(XBLAB) ;
|
---|
| 85 | F XB=1:1 S X=$P($T(@XBLAB+XB),";;",2) Q:X="###" D PR(X) Q:$D(DUOUT)
|
---|
| 86 | Q:$D(DUOUT)
|
---|
| 87 | D ^DIWW
|
---|
| 88 | Q
|
---|
| 89 | ;
|
---|
| 90 | PR(X) ;EP
|
---|
| 91 | I X="|TOP|" D TOF Q
|
---|
| 92 | D INDX(X),^DIWP,TOF:$Y>XBBM
|
---|
| 93 | Q
|
---|
| 94 | ;
|
---|
| 95 | INDX(X) ;
|
---|
| 96 | Q:'$D(XBPG)
|
---|
| 97 | S X=$TR(X,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
|
---|
| 98 | S %=""
|
---|
| 99 | F S %=$O(^TMP("XBTM-I",$J,%)) Q:'$L(%) I $F(X,%) S ^TMP("XBTM-INDEX",$J,%,XBPG)=""
|
---|
| 100 | Q
|
---|
| 101 | ;
|
---|
| 102 | HDR(XB) ;
|
---|
| 103 | F X="|SETTAB(""C"")||TAB|Chapter "_XB,"|SETTAB(""C"")||TAB|"_$P($T(@XB),";",3) D ^DIWP
|
---|
| 104 | W !!
|
---|
| 105 | D CONT(XB_U_$P($T(@XB),";",3)_U_XBPG)
|
---|
| 106 | Q
|
---|
| 107 | ;
|
---|
| 108 | TOF ;EP
|
---|
| 109 | F Q:$Y>XBBM W !
|
---|
| 110 | I XBPG>0 W !?(DIWL-1),XBDASH,!,?$S(XBODD:DIWR-$L(XBTITL),1:DIWL-1),XBTITL
|
---|
| 111 | D PAUSE^XB
|
---|
| 112 | Q:$D(DUOUT)
|
---|
| 113 | W @IOF
|
---|
| 114 | S XBPG=XBPG+1,XBODD=XBPG#2
|
---|
| 115 | F Q:$Y=(XBTM-2) W !
|
---|
| 116 | W ?$S(XBODD:DIWR-$L("Page "_XBPG),1:DIWL-1),"Page ",XBPG
|
---|
| 117 | I '(XBHDR="Index") W !?DIWL-1,$S(XBODD:XBHDRO,1:XBHDRE)
|
---|
| 118 | W !?(DIWL-1),XBDASH,!!
|
---|
| 119 | Q
|
---|
| 120 | ;
|
---|
| 121 | MAKEHDRS ;
|
---|
| 122 | S (XBHDRE,XBHDRO)=$P($T(@XBCHAP),";",3)
|
---|
| 123 | S XBHDRO=XBHDRO_$J("",DIWR-DIWL-$L(XBHDRO)-$L("Chapter "_XBCHAP)+1)_"Chapter "_XBCHAP
|
---|
| 124 | S XBHDRE="Chapter "_XBCHAP_$J("",DIWR-DIWL-$L(XBHDRE)-$L("Chapter "_XBCHAP)+1)_XBHDRE
|
---|
| 125 | Q
|
---|
| 126 | ;
|
---|
| 127 | CONT(X) ;
|
---|
| 128 | S XBCONT=XBCONT+1,^TMP("XBTM-CONTENTS",$J,XBCONT)=X
|
---|
| 129 | Q
|
---|
| 130 | ;
|
---|
| 131 | CHAPS ;EP - From DIR
|
---|
| 132 | F %=1:1:15 W !?3,$J(%,2),". ",$P($T(@%),";",3)
|
---|
| 133 | Q
|
---|
| 134 | 1 ;;Facility Parameters
|
---|
| 135 | 2 ;;Area Office Parameters
|
---|
| 136 | 3 ;;Security Keys
|
---|
| 137 | 4 ;;Options
|
---|
| 138 | 5 ;;Fields in Files
|
---|
| 139 | 6 ;;Archiving and Purging
|
---|
| 140 | 7 ;;Callable Routines
|
---|
| 141 | 8 ;;External Relations
|
---|
| 142 | 9 ;;Internal Relations
|
---|
| 143 | 10 ;;How to Generate On-Line Documentation
|
---|
| 144 | 11 ;;Glossary
|
---|
| 145 | 12 ;;System Requirements
|
---|
| 146 | 13 ;;Installation notes
|
---|
| 147 | 14 ;;Enhancements
|
---|
| 148 | 15 ;;KILL of Unsubscripted Globals
|
---|