[613] | 1 | KMPDUG2 ;OAK/RAK - CM Tools Graph Utility ;2/17/04 09:59
|
---|
| 2 | ;;2.0;CAPACITY MANAGEMENT TOOLS;;Mar 22, 2002
|
---|
| 3 | ;
|
---|
| 4 | OPTIONS(KMPUOPTS) ;-- select options.
|
---|
| 5 | ;-----------------------------------------------------------------------
|
---|
| 6 | ; KMPUOPTS.. Result of selection.
|
---|
| 7 | ; Exceptions: "" - No options selected.
|
---|
| 8 | ; ^ - User up-arrowed out.
|
---|
| 9 | ;-----------------------------------------------------------------------
|
---|
| 10 | N I,X,OUT
|
---|
| 11 | S KMPUOPTS="",OUT=0
|
---|
| 12 | S DTIME=$S($G(DTIME):DTIME,1:300)
|
---|
| 13 | F D Q:OUT
|
---|
| 14 | .W !?5,"The following graph selections are 'optional':"
|
---|
| 15 | .D DISPLAY(.KMPUOPTS) I KMPUOPTS="" S OUT=1 Q
|
---|
| 16 | .R !!,"Enter one or more option letter(s): ",X:DTIME
|
---|
| 17 | .I X="" S OUT=1,KMPUOPTS="" Q
|
---|
| 18 | .I X="^" S OUT=1,KMPUOPTS="^" Q
|
---|
| 19 | .I X["?" D HELP W @IOF Q
|
---|
| 20 | .;
|
---|
| 21 | .; remove any commas, dashes or spaces.
|
---|
| 22 | .S X=$TR(X,",- ",""),X=$$UP^XLFSTR(X)
|
---|
| 23 | .;
|
---|
| 24 | .; check for invalid answer.
|
---|
| 25 | .D CHECK Q:KMPUOPTS=""
|
---|
| 26 | .;
|
---|
| 27 | .I X["A",(X'["V") D Q
|
---|
| 28 | ..W *7,!!?10,"Angle Data Titles only available with a Vertical Graph..."
|
---|
| 29 | .;
|
---|
| 30 | .; if vertical display warning message.
|
---|
| 31 | .I X["V" D
|
---|
| 32 | ..W !!?7,"...please be aware that because of screen limitations Vertical"
|
---|
| 33 | ..W !?7," Graphs are not as accurate as Horizontal Graphs and should be"
|
---|
| 34 | ..W !?7," used for visual comparison rather than detailed analysis..."
|
---|
| 35 | .;
|
---|
| 36 | .S KMPUOPTS=X,OUT=1
|
---|
| 37 | ;
|
---|
| 38 | Q
|
---|
| 39 | ;
|
---|
| 40 | CHECK ;-- check for valid answer.
|
---|
| 41 | N I
|
---|
| 42 | F I=1:1:$L(X) I KMPUOPTS'[$E(X,I) D Q
|
---|
| 43 | .W *7,!!?10,"'",$E(X,I),"' is not an available option."
|
---|
| 44 | .S KMPUOPTS=""
|
---|
| 45 | Q
|
---|
| 46 | ;
|
---|
| 47 | DISPLAY(KMPUOPT) ;-- display available options.
|
---|
| 48 | ;-----------------------------------------------------------------------
|
---|
| 49 | ; KMPUOPT... Will be set to available options.
|
---|
| 50 | ;-----------------------------------------------------------------------
|
---|
| 51 | N I S KMPUOPT="" W !
|
---|
| 52 | F I=1:1 Q:$T(OPT+I)']"" D
|
---|
| 53 | .W !?7,$P($T(OPT+I),";",3)," - ",$P($T(OPT+I),";",4)
|
---|
| 54 | .S KMPUOPT=KMPUOPT_$P($T(OPT+I),";",3)
|
---|
| 55 | Q
|
---|
| 56 | ;
|
---|
| 57 | FTR(FOOTER,VALUE) ;print footer
|
---|
| 58 | ;--------------------------------------------------------------------
|
---|
| 59 | ; line feed to IOSL-3 and place message on screen
|
---|
| 60 | ; if IOSL or IOM are not defined routine will quit
|
---|
| 61 | ;
|
---|
| 62 | ; FOOTER - text to appear at the bottom of the screen
|
---|
| 63 | ; if footer is not defined then the message
|
---|
| 64 | ; 'Press RETURN to continue, '^' to exit' will appear
|
---|
| 65 | ;
|
---|
| 66 | ; footer appears in the middle of the screen
|
---|
| 67 | ;
|
---|
| 68 | ; VALUE - value returned:
|
---|
| 69 | ; "" - if IOSL or IOM are not defined
|
---|
| 70 | ; 0 - if an uparrow '^' is entered
|
---|
| 71 | ; 1 - if return is entered
|
---|
| 72 | ;
|
---|
| 73 | S VALUE=""
|
---|
| 74 | I '$G(IOSL)!('$G(IOM)) Q
|
---|
| 75 | N DIR,I,X,Y
|
---|
| 76 | I $G(FOOTER)']"" S FOOTER="Press RETURN to continue, '^' to exit"
|
---|
| 77 | I $G(IORVON)']""!($G(IORVOFF)']"") N IORVON,IORVOFF,X D
|
---|
| 78 | .S X="IORVON;IORVOFF" D ENDR^%ZISS
|
---|
| 79 | S FOOTER=IORVON_" "_FOOTER_" "_IORVOFF
|
---|
| 80 | S DIR(0)="EA",DIR("A")=$J(" ",(IOM-$L(FOOTER)/2))_FOOTER
|
---|
| 81 | F I=$Y:1:(IOSL-3) W !
|
---|
| 82 | D ^DIR S VALUE=Y
|
---|
| 83 | Q
|
---|
| 84 | ;
|
---|
| 85 | HELP ;--help display for options.
|
---|
| 86 | N KMPUOUT
|
---|
| 87 | W @IOF
|
---|
| 88 | W !,"A: Angle data titles..: Angle the titles (for Vertical Graphs only)."
|
---|
| 89 | W !," Example: __________"
|
---|
| 90 | W !," | |"
|
---|
| 91 | W !," | |"
|
---|
| 92 | W !," | |"
|
---|
| 93 | W !," __________"
|
---|
| 94 | W !," J F M A"
|
---|
| 95 | W !," a e a p"
|
---|
| 96 | W !," n b r r"
|
---|
| 97 | W !
|
---|
| 98 | W !,"D: Double space data..: Will place an empty column/row between graph bars"
|
---|
| 99 | W !," (it is highly recommended that double spacing be used"
|
---|
| 100 | W !," with Vertical graphs)."
|
---|
| 101 | W !
|
---|
| 102 | W !,"G: Grid...............: Print grid lines on graph."
|
---|
| 103 | W !," example: ______________________________"
|
---|
| 104 | W !," Jan | | | | | | |"
|
---|
| 105 | W !," Feb | | | | | | |"
|
---|
| 106 | W !," Mar | | | | | | |"
|
---|
| 107 | W !," Apr | | | | | | |"
|
---|
| 108 | W !," ______________________________"
|
---|
| 109 | D FTR("",.KMPUOUT) Q:'KMPUOUT W @IOF
|
---|
| 110 | W !,"S: Scientific Notation: If values are 1000 or greater the graph will normally"
|
---|
| 111 | W !," display a description as...: (x10k), (x100k), etc."
|
---|
| 112 | W !," - Scientific notation will be: (x10^2), (x10^3), etc."
|
---|
| 113 | W !
|
---|
| 114 | W !,"V: Vertical graph.....: The default is horizontal display."
|
---|
| 115 | W !," - Selecting this option will display data vertically"
|
---|
| 116 | W !," (graph bars running top to bottom)."
|
---|
| 117 | D FTR("Press <RET> to continue: ") W @IOF,!!!
|
---|
| 118 | Q
|
---|
| 119 | ;
|
---|
| 120 | OPT ;list of options
|
---|
| 121 | ;;A;Angle data titles (vertical graph only).
|
---|
| 122 | ;;D;Double space data.
|
---|
| 123 | ;;G;Grid.
|
---|
| 124 | ;;S;Scientific Notation.
|
---|
| 125 | ;;V;Vertical graph.
|
---|