| [613] | 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 | 
|---|