Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: ENY2VACO

ENY2VACO.m

Go to the documentation of this file.
  1. ENY2VACO ;;(WIRMFO)/DH-Y2K Activity Report ;10.9.98
  1. ;;7.0;ENGINEERING;**55,58**;August 17, 1993
  1. EN ; national roll-up of Y2K information
  1. ; may be selected manually or scheduled to run automatically
  1. ; at a user specified frequency
  1. N %DT
  1. W @IOF,!,?20,"NATIONAL ROLL-UP OF Y2K INFORMATION"
  1. I $P($G(^DIC(6910,1,0)),U,2)']"" W !!,"There is no STATION NUMBER in your Engineering Init Parameters file.",!,"Can't proceed.",*7 D HOLD Q
  1. I '$D(^XUSEC("ENY2K_ROLL_UP",DUZ)) W !!,"You must hold security key ENY2K_ROLL_UP in order to execute this option.",*7 D HOLD Q
  1. ;
  1. ACT1 W !!,"Please enter starting and stopping dates for activity reporting",!," (or '^' to escape...)",!
  1. S %DT="AEP",%DT("A")="Starting date: ",%DT(0)=-DT
  1. S Y=$E(DT,1,5)-1 S:$E(Y,4,5)="00" Y=($E(Y,1,3)-1)_12 S Y=Y_"01"
  1. X ^DD("DD") S %DT("B")=Y
  1. D ^%DT Q:Y'>0
  1. S Y=$P(Y,"."),ENDATE("STARTI")=Y X ^DD("DD") S ENDATE("STARTE")=Y
  1. ACT2 S Y=$$EOM^ENUTL(ENDATE("STARTI")) X ^DD("DD") S %DT("B")=Y
  1. S %DT("A")="Stopping date: " K %DT(0)
  1. D ^%DT Q:Y'>0 S Y=$P(Y,"."),ENDATE("STOPI")=Y_".9" X ^DD("DD") S ENDATE("STOPE")=Y
  1. I ENDATE("STOPI")'>ENDATE("STARTI") W !!,"STOPPING DATE must follow the STARTING DATE",*7 G ACT2
  1. S X=$P($O(^ENG(6918,"C",ENDATE("STARTI"))),".") I X=""!(X>ENDATE("STOPI")) W !!,"There was no Y2K activity between "_ENDATE("STARTE")_" and "_ENDATE("STOPE")_".",!,"Cumulative information will be transmitted anyway.",*7
  1. I $P(ENDATE("STOPI"),".",2)="" S ENDATE("STOPI")=ENDATE("STOPI")_".99"
  1. W !!,"The system is now prepared to send a Y2K report to VACO."
  1. S DIR("A")="Is that what you want to do",DIR(0)="Y",DIR("B")="YES"
  1. D ^DIR K DIR I $D(DIRUT)!('Y) K ENDATE Q ; confirm the transaction
  1. S ZTRTN="DEQVACO^ENY2VACO",ZTIO=""
  1. F J="ENDATE(""STARTI"")","ENDATE(""STOPI"")" S ZTSAVE(J)=""
  1. S ZTDESC="Y2K National Roll-up (equipment)"
  1. S ZTDTH=$H D ^%ZTLOAD,HOME^%ZIS K ZTSK
  1. W !!,"A national roll-up of Y2K information has been tasked to run via NetWork",!,"Mail. You will receive a copy of the message."
  1. K ENDATE
  1. Q
  1. ;
  1. DEQVACO ; use ENX( as root of NetWork mail message
  1. K ^TMP($J)
  1. I $G(ENDATE("STARTI"))="" D
  1. . S Y=$E(DT,1,5)-1 S:$E(Y,4,5)="00" Y=($E(Y,1,3)-1)_12 S Y=Y_"01"
  1. . S Y=$P(Y,"."),ENDATE("STARTI")=Y
  1. . S ENDATE("STOPI")=$$EOM^ENUTL(ENDATE("STARTI"))_".99"
  1. N DA,CAT,EN,ENX,ENY,TOTAL,STATION,COST,COUNT,ALLSTN,ENSTN,KOUNT,ENCLASS
  1. D NOW^%DTC S ENY=$P(%,".",2)
  1. S ENC(1,0)="ENG^"_$E(1000+$E($P(^DIC(6910,1,0),U,2),1,3),2,4)_"^Y2K^"_(%+17000000\1)_U_ENY_$E("000000",1,6-$L(ENY))_U_$$LTZ^ENPLUTL_"^001^|",KOUNT=1
  1. S (ALLSTN,ENSTN)=0,ENY2K("VACO")=1,ENCLASS=1 D CNTACT^ENY2REP,ROLLACT
  1. K COUNT,TOTAL
  1. K ^TMP($J)
  1. D DEQ1^ENY2REP4,ROLLCUM^ENY2VAC1
  1. K COUNT,TOTAL
  1. D DEQ1^ENY2REPA,ROLLFC^ENY2VAC2
  1. K COUNT,TOTAL
  1. D SUM1^ENY2USRS,ROLLUTL^ENY2VAC2
  1. S KOUNT=KOUNT+1,ENC(KOUNT,0)="$"
  1. D SEND
  1. G EXIT
  1. ;
  1. ROLLACT ; add Y2K activity to national roll-up
  1. S STATION=0 F S STATION=$O(^TMP($J,"ENY2B",STATION)) Q:STATION="" D
  1. . S ENC(2,0)="A1^"_($P(ENDATE("STARTI"),".")+17000000\1)_U_($P(ENDATE("STOPI"),".")+17000000\1)_U_"|",COUNT=1,KOUNT=2
  1. . F J=0,"FC","NC","CC","NA" F K=0,"FC","NC","CC","NA" I '(J=0&(K=0)) D
  1. .. S COUNT=COUNT+1 Q:'^TMP($J,"ENY2B",STATION,J,K,"COUNT")
  1. .. S KOUNT=KOUNT+1,ENC(KOUNT,0)="A"_COUNT_U_J_U_K_U_^TMP($J,"ENY2B",STATION,J,K,"COUNT")_U_^("EST")_U_^("ACT")_U_^("REST")_U_$S($D(COUNT(STATION,J,K,"EST")):COUNT(STATION,J,K,"EST"),1:"")
  1. .. S ENC(KOUNT,0)=ENC(KOUNT,0)_U_^TMP($J,"ENY2B",STATION,J,K,"RACT")_U_$S($D(COUNT(STATION,J,K,"ACT")):COUNT(STATION,J,K,"ACT"),1:"")_U_"|"
  1. Q
  1. ;
  1. SEND ; send NetWork mail
  1. S XMY(DUZ)="",XMY("S.EN_UPDATE_Y2K@DOMAIN.EXT")="",XMDUZ=.5
  1. ;S XMY(DUZ)="",XMDUZ=.5
  1. S XMSUB="Roll-up of Y2K Information",XMTEXT="ENC("
  1. D ^XMD
  1. K XMY,XMDUZ,XMSUB,XMTEXT
  1. Q
  1. ;
  1. HOLD Q:$E(IOST,1,2)'="C-"
  1. R !!,"Press <RETURN> to continue...",X:DTIME
  1. Q
  1. EXIT ;
  1. K ^TMP($J)
  1. D ^%ZISC,HOME^%ZIS
  1. I $D(ZTQUEUED) S ZTREQN="@"
  1. K J,K,X,ENDATE,ENSTN
  1. Q
  1. ;ENY2VACO