| 1 | ENY2REP8 ;;(WIRMFO)/DH-Print Y2K Summary Reports ;9.30.98
 | 
|---|
| 2 |  ;;7.0;ENGINEERING;**51,55**;August 17, 1993
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ;  extension of ^ENY2REP1
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 | DEQUE ;  print a summary report
 | 
|---|
| 7 |  K ^TMP($J)
 | 
|---|
| 8 |  N CAT,MFG,CSN,DA,COUNT,Y2K,PAGE,LINE,DATE,ESCAPE,TOTAL,STATION
 | 
|---|
| 9 |  S PAGE=0 D NOW^%DTC S Y=% X ^DD("DD") S DATE("PRNT")=$P(Y,":",1,2)
 | 
|---|
| 10 |  S STATION("PARNT")=$P(^DIC(6910,1,0),U,2)
 | 
|---|
| 11 |  ;  general initialization
 | 
|---|
| 12 |  S TOTAL(STATION("PARNT"))=0 F J=0,"FC","NC","CC","NA" S TOTAL(STATION("PARNT"),J)=0
 | 
|---|
| 13 |  ;  end general initialization
 | 
|---|
| 14 | CSN I ENTYPE="CSN" D CSN^ENY2REP7 K ENTYPE,ENSUP,ENSORT,ENSTN G EXIT
 | 
|---|
| 15 |  ;
 | 
|---|
| 16 | CAT I ENTYPE="CAT" D  K ENTYPE,ENSUP,ENSORT,ENSTN G EXIT
 | 
|---|
| 17 |  . ;  cat initialization
 | 
|---|
| 18 |  . S CAT(0)=0 F  S CAT(0)=$O(^ENG(6914,"G",CAT(0))) Q:'CAT(0)  S ^TMP($J,STATION("PARNT"),"COUNT",CAT(0))=0 F J=0,"NA","FC","NC","CC" S ^TMP($J,STATION("PARNT"),CAT(0),J)=0
 | 
|---|
| 19 |  . ;  end cat initialization
 | 
|---|
| 20 |  . ;  begin data gather
 | 
|---|
| 21 |  . S CAT(0)=0,STATION=STATION("PARNT") F  S CAT(0)=$O(^ENG(6914,"G",CAT(0))) Q:'CAT(0)  K:'$D(^ENG(6911,CAT(0),0)) ^ENG(6914,"G",CAT(0)) I $D(^ENG(6911,CAT(0),0)) S (DA,COUNT)=0 F  S DA=$O(^ENG(6914,"G",CAT(0),DA)) Q:'DA  D
 | 
|---|
| 22 |  .. Q:'$D(^ENG(6914,DA,0))
 | 
|---|
| 23 |  .. I "^4^5^"[(U_$P($G(^ENG(6914,DA,3)),U)_U) Q
 | 
|---|
| 24 |  .. I '$D(ZTQUEUED),'(DA#100) W "." ; activity indicator
 | 
|---|
| 25 |  .. S Y2K=$P($G(^ENG(6914,DA,11)),U) S:Y2K="" Y2K=0
 | 
|---|
| 26 |  .. I ENSUP,"^NA^FC^"[(U_Y2K_U) Q
 | 
|---|
| 27 |  .. ;  initialize station if need be
 | 
|---|
| 28 |  .. I ENSTN S STATION=$S($P($G(^ENG(6914,DA,9)),U,5)]"":$P(^(9),U,5),1:STATION("PARNT")) D:'$D(^TMP($J,STATION))
 | 
|---|
| 29 |  ... S TOTAL(STATION)=0 F J=0,"FC","NC","CC","NA" S TOTAL(STATION,J)=0
 | 
|---|
| 30 |  ... S CAT(1)=0 F  S CAT(1)=$O(^ENG(6914,"G",CAT(1))) Q:'CAT(1)  S ^TMP($J,STATION,"COUNT",CAT(1))=0 F J=0,"FC","NC","CC","NA" S ^TMP($J,STATION,CAT(1),J)=0
 | 
|---|
| 31 |  ... ;  end initialize
 | 
|---|
| 32 |  .. S ^TMP($J,STATION,"COUNT",CAT(0))=^TMP($J,STATION,"COUNT",CAT(0))+1,^TMP($J,STATION,CAT(0),Y2K)=^TMP($J,STATION,CAT(0),Y2K)+1
 | 
|---|
| 33 |  .. S TOTAL(STATION,Y2K)=TOTAL(STATION,Y2K)+1,TOTAL(STATION)=TOTAL(STATION)+1
 | 
|---|
| 34 |  .. ;  end data gather
 | 
|---|
| 35 |  . ;  begin sort
 | 
|---|
| 36 |  . S STATION=0 F  S STATION=$O(^TMP($J,STATION)) Q:STATION=""  S CAT(0)=0 F  S CAT(0)=$O(^TMP($J,STATION,"COUNT",CAT(0))) Q:'CAT(0)  S COUNT=^TMP($J,STATION,"COUNT",CAT(0)) I COUNT D
 | 
|---|
| 37 |  .. I $E(ENSORT)="C" D  Q
 | 
|---|
| 38 |  ... I $G(ENSORT("MIN"))>COUNT Q
 | 
|---|
| 39 |  ... S ^TMP($J,STATION,"SORT",COUNT,CAT(0))=""
 | 
|---|
| 40 |  .. S CAT=$P($G(^ENG(6911,CAT(0),0)),U) S:CAT="" CAT=0 S ^TMP($J,STATION,"SORT",CAT,CAT(0))=""
 | 
|---|
| 41 |  .. ;  end sort
 | 
|---|
| 42 |  . ; print the list
 | 
|---|
| 43 |  . U IO
 | 
|---|
| 44 |  . I '$D(^TMP($J)) D HEADR W !!,?15,"<Nothing to print>" D HOLD Q
 | 
|---|
| 45 |  . S STATION=0 F  S STATION=$O(^TMP($J,STATION)) Q:STATION=""!($G(ESCAPE))  D  Q:$G(ESCAPE)  D HOLD Q:$G(ESCAPE)
 | 
|---|
| 46 |  .. D HEADR
 | 
|---|
| 47 |  .. I '$D(^TMP($J,STATION,"SORT")) W !!,"** No records to print **" Q
 | 
|---|
| 48 |  .. I $E(ENSORT)="C" S J=99999 F  S J=$O(^TMP($J,STATION,"SORT",J),-1) Q:'J!($G(ESCAPE))  S CAT(0)=0 F  S CAT(0)=$O(^TMP($J,STATION,"SORT",J,CAT(0))) Q:'CAT(0)  D PRTCAT Q:$G(ESCAPE)  ; J => count
 | 
|---|
| 49 |  .. I $E(ENSORT)="A" S J="" F  S J=$O(^TMP($J,STATION,"SORT",J)) Q:J=""!($G(ESCAPE))  S CAT(0)=0 F  S CAT(0)=$O(^TMP($J,STATION,"SORT",J,CAT(0))) Q:'CAT(0)  D PRTCAT Q:$G(ESCAPE)  ; J => category
 | 
|---|
| 50 |  .. D TOTALS
 | 
|---|
| 51 |  ;
 | 
|---|
| 52 | MFG ; must be by manufacturer
 | 
|---|
| 53 |  ;  mfg initialization
 | 
|---|
| 54 |  S MFG(0)=0 F  S MFG(0)=$O(^ENG(6914,"K",MFG(0))) Q:'MFG(0)  S ^TMP($J,STATION("PARNT"),"COUNT",MFG(0))=0 F J=0,"NA","FC","NC","CC" S ^TMP($J,STATION("PARNT"),MFG(0),J)=0
 | 
|---|
| 55 |  ;  end mfg initialization
 | 
|---|
| 56 |  ;  begin data gather
 | 
|---|
| 57 |  S MFG(0)=0,STATION=STATION("PARNT") F  S MFG(0)=$O(^ENG(6914,"K",MFG(0))) Q:'MFG(0)  K:'$D(^ENG("MFG",MFG(0),0)) ^ENG(6914,"K",MFG(0)) I $D(^ENG("MFG",MFG(0),0)) S (DA,COUNT)=0 F  S DA=$O(^ENG(6914,"K",MFG(0),DA)) Q:'DA  D
 | 
|---|
| 58 |  . Q:'$D(^ENG(6914,DA,0))
 | 
|---|
| 59 |  . I "^4^5^"[(U_$P($G(^ENG(6914,DA,3)),U)_U) Q
 | 
|---|
| 60 |  . I '$D(ZTQUEUED),'(DA#100) W "." ; activity indicator
 | 
|---|
| 61 |  . S Y2K=$P($G(^ENG(6914,DA,11)),U) S:Y2K="" Y2K=0
 | 
|---|
| 62 |  . I ENSUP,"^NA^FC^"[(U_Y2K_U) Q
 | 
|---|
| 63 |  . ;  initialize station if need be
 | 
|---|
| 64 |  . I ENSTN S STATION=$S($P($G(^ENG(6914,DA,9)),U,5)]"":$P(^(9),U,5),1:STATION("PARNT")) D:'$D(^TMP($J,STATION))
 | 
|---|
| 65 |  .. S TOTAL(STATION)=0 F J=0,"FC","NC","CC","NA" S TOTAL(STATION,J)=0
 | 
|---|
| 66 |  .. S MFG(1)=0 F  S MFG(1)=$O(^ENG(6914,"K",MFG(1))) Q:'MFG(1)  S ^TMP($J,STATION,"COUNT",MFG(1))=0 F J=0,"FC","NC","CC","NA" S ^TMP($J,STATION,MFG(1),J)=0
 | 
|---|
| 67 |  .. ;  end initialization
 | 
|---|
| 68 |  . S ^TMP($J,STATION,"COUNT",MFG(0))=^TMP($J,STATION,"COUNT",MFG(0))+1,^TMP($J,STATION,MFG(0),Y2K)=^TMP($J,STATION,MFG(0),Y2K)+1
 | 
|---|
| 69 |  . S TOTAL(STATION,Y2K)=TOTAL(STATION,Y2K)+1,TOTAL(STATION)=TOTAL(STATION)+1
 | 
|---|
| 70 |  . ;  end data gather
 | 
|---|
| 71 |  ;  begin sort
 | 
|---|
| 72 |  S STATION=0 F  S STATION=$O(^TMP($J,STATION)) Q:STATION=""  S MFG(0)=0 F  S MFG(0)=$O(^TMP($J,STATION,"COUNT",MFG(0))) Q:'MFG(0)  S COUNT=^TMP($J,STATION,"COUNT",MFG(0)) I COUNT D
 | 
|---|
| 73 |  . I $E(ENSORT)="C" D  Q
 | 
|---|
| 74 |  .. I $G(ENSORT("MIN"))>COUNT Q
 | 
|---|
| 75 |  .. S ^TMP($J,STATION,"SORT",COUNT,MFG(0))=""
 | 
|---|
| 76 |  . S MFG=$P($G(^ENG("MFG",MFG(0),0)),U) S:MFG="" MFG=0 S ^TMP($J,STATION,"SORT",MFG,MFG(0))=""
 | 
|---|
| 77 |  . ;  end sort
 | 
|---|
| 78 |  ; print the list
 | 
|---|
| 79 |  U IO
 | 
|---|
| 80 |  S STATION=0 F  S STATION=$O(^TMP($J,STATION)) Q:STATION=""!($G(ESCAPE))  D  Q:$G(ESCAPE)  D HOLD Q:$G(ESCAPE)
 | 
|---|
| 81 |  . D HEADR
 | 
|---|
| 82 |  . I '$D(^TMP($J,STATION,"SORT")) W !!,"** No records to print **" Q
 | 
|---|
| 83 |  . I $E(ENSORT)="C" S J=99999 F  S J=$O(^TMP($J,STATION,"SORT",J),-1) Q:'J!($G(ESCAPE))  S MFG(0)=0 F  S MFG(0)=$O(^TMP($J,STATION,"SORT",J,MFG(0))) Q:'MFG(0)  D PRTMFG Q:$G(ESCAPE)  ; J => count
 | 
|---|
| 84 |  . I $E(ENSORT)="A" S J="" F  S J=$O(^TMP($J,STATION,"SORT",J)) Q:J=""!($G(ESCAPE))  S MFG(0)=0 F  S MFG(0)=$O(^TMP($J,STATION,"SORT",J,MFG(0))) Q:'MFG(0)  D PRTMFG Q:$G(ESCAPE)  ; J => manufacturer
 | 
|---|
| 85 |  . D TOTALS
 | 
|---|
| 86 |  K ENTYPE,ENSUP,ENSORT,ENSTN
 | 
|---|
| 87 |  G EXIT
 | 
|---|
| 88 |  ;
 | 
|---|
| 89 | PRTCAT I ENSUP W !,$E($P(^ENG(6911,CAT(0),0),U),1,30),?42,$J(^TMP($J,STATION,CAT(0),"NC"),5),?49,$J(^("CC"),5),?63,$J(^(0),5),?71,$J(^TMP($J,STATION,"COUNT",CAT(0)),5)
 | 
|---|
| 90 |  I 'ENSUP W !,$E($P(^ENG(6911,CAT(0),0),U),1,30),?35,$J(^TMP($J,STATION,CAT(0),"FC"),5),?42,$J(^("NC"),5),?49,$J(^("CC"),5),?56,$J(^("NA"),5),?63,$J(^(0),5),?71,$J(^TMP($J,STATION,"COUNT",CAT(0)),5)
 | 
|---|
| 91 |  S LINE=LINE+1 I (IOSL-LINE)'>4 D HOLD Q:$G(ESCAPE)  I $O(^TMP($J,STATION,"SORT",J,CAT(0)))!($O(^TMP($J,STATION,"SORT",J))]"")!($O(^TMP($J,STATION))]"") D HEADR
 | 
|---|
| 92 |  Q
 | 
|---|
| 93 |  ;
 | 
|---|
| 94 | PRTMFG I ENSUP W !,$E($P(^ENG("MFG",MFG(0),0),U),1,30),?42,$J(^TMP($J,STATION,MFG(0),"NC"),5),?49,$J(^("CC"),5),?63,$J(^(0),5),?71,$J(^TMP($J,STATION,"COUNT",MFG(0)),5)
 | 
|---|
| 95 |  I 'ENSUP W !,$E($P(^ENG("MFG",MFG(0),0),U),1,30),?35,$J(^TMP($J,STATION,MFG(0),"FC"),5),?42,$J(^("NC"),5),?49,$J(^("CC"),5),?56,$J(^("NA"),5),?63,$J(^(0),5),?71,$J(^TMP($J,STATION,"COUNT",MFG(0)),5)
 | 
|---|
| 96 |  S LINE=LINE+1 I (IOSL-LINE)'>4 D HOLD Q:$G(ESCAPE)  I $O(^TMP($J,STATION,"SORT",J,MFG(0)))!($O(^TMP($J,STATION,"SORT",J))]"")!($O(^TMP($J,STATION))]"") D HEADR
 | 
|---|
| 97 |  Q
 | 
|---|
| 98 |  ;
 | 
|---|
| 99 | TOTALS ;  skip totals if printing high counts only
 | 
|---|
| 100 |  Q:$G(ESCAPE)!($G(ENSORT("MIN"))>1)
 | 
|---|
| 101 |  K X S $P(X,"-",79)="-" W !,X
 | 
|---|
| 102 |  I ENSUP W !,"TOTALS",?42,$J(TOTAL(STATION,"NC"),5),?49,$J(TOTAL(STATION,"CC"),5),?63,$J(TOTAL(STATION,0),5),?71,$J(TOTAL(STATION),5)
 | 
|---|
| 103 |  I 'ENSUP W !,"TOTALS",?35,$J(TOTAL(STATION,"FC"),5),?42,$J(TOTAL(STATION,"NC"),5),?49,$J(TOTAL(STATION,"CC"),5),?56,$J(TOTAL(STATION,"NA"),5),?63,$J(TOTAL(STATION,0),5),?71,$J(TOTAL(STATION),5)
 | 
|---|
| 104 |  Q
 | 
|---|
| 105 |  ;
 | 
|---|
| 106 | HEADR ; header for summary listing
 | 
|---|
| 107 |  W:PAGE>0!($E(IOST,1,2)="C-") @IOF S PAGE=PAGE+1,LINE=4
 | 
|---|
| 108 |  W "Y2K Data by "_$S(ENTYPE="CAT":"EQUIPMENT CATEGORY",1:"MANUFACTURER "),?45,DATE("PRNT"),?70,"Page: "_PAGE
 | 
|---|
| 109 |  W !,$S('ENSTN:"Consolidated ("_STATION("PARNT")_")  ",1:"Station: "_STATION_"  ")
 | 
|---|
| 110 |  I ENSUP W "(Y2K CATEGORIES 'FC' and 'NA' are being ignored.)"
 | 
|---|
| 111 |  W !,$S(ENTYPE="CAT":"EQUIPMENT CATEGORY NAME",1:"MANUFACTURER NAME"),?38,"FC",?45,"NC",?52,"CC",?59,"NA",?64,"NULL",?71,"TOTAL"
 | 
|---|
| 112 |  K X S $P(X,"-",79)="-" W !,X
 | 
|---|
| 113 |  Q
 | 
|---|
| 114 |  ;
 | 
|---|
| 115 | HOLD Q:$E(IOST,1,2)'="C-"!($G(ESCAPE))
 | 
|---|
| 116 |  W !!,"Press <RETURN> to continue, '^' to escape..." R X:DTIME
 | 
|---|
| 117 |  I '$T!($E(X)="^") S ESCAPE=1
 | 
|---|
| 118 |  Q
 | 
|---|
| 119 | EXIT ;
 | 
|---|
| 120 |  K ^TMP($J)
 | 
|---|
| 121 |  D ^%ZISC,HOME^%ZIS
 | 
|---|
| 122 |  I $D(ZTQUEUED) S ZTREQN="@"
 | 
|---|
| 123 |  K J,K,X
 | 
|---|
| 124 |  Q
 | 
|---|
| 125 |  ;ENY2REP8
 | 
|---|