| [613] | 1 | ENEXPT ;WISC/DH,SAB-Engineering Equipment Export ;1/18/96
 | 
|---|
 | 2 |  ;;7.0;ENGINEERING;**20,27**;Aug 17, 1993
 | 
|---|
 | 3 | MAIN ;
 | 
|---|
 | 4 |  S ENSND=$P($G(^DIC(6910,1,0)),U,2),ENST=$E(1000+$E(ENSND,1,3),2,4)
 | 
|---|
 | 5 |  I 'ENST W !,"Please enter Station Number (field 1) in the Eng Init Paramters File (6910)." Q
 | 
|---|
 | 6 |  ;
 | 
|---|
 | 7 |  D ASK^ENEXPT1 D ^DIR K DIR G:$D(DIRUT) KILL I Y D EN^ENEXPT1
 | 
|---|
 | 8 |  W ! S DIR(0)="Y",DIR("A")="Should equipment data be transmitted to NESC"
 | 
|---|
 | 9 |  D ^DIR K DIR G:$D(DIRUT)!'Y KILL
 | 
|---|
 | 10 |  ;
 | 
|---|
 | 11 | QUE ;
 | 
|---|
 | 12 |  S %DT="AEFRSX",%DT("B")="NOW",%DT(0)="NOW"
 | 
|---|
 | 13 |  S %DT("A")="Enter a future date and time to queue this export: "
 | 
|---|
 | 14 |  D ^%DT
 | 
|---|
 | 15 |  I Y<1!$D(DTOUT) G KILL
 | 
|---|
 | 16 |  S ZTRTN="IN^ENEXPT",ZTIO="",ZTDTH=Y
 | 
|---|
 | 17 |  S ZTSAVE("ENSND")="",ZTSAVE("ENST")="",ZTSAVE("DUZ")=""
 | 
|---|
 | 18 |  S ZTDESC="Equipment Export Transmission",ZTSAVE("ZTREQ")="@"
 | 
|---|
 | 19 |  D ^%ZTLOAD
 | 
|---|
 | 20 |  W !,$S($D(ZTSK):"Task "_ZTSK_" queued.",1:"Job Cancelled")
 | 
|---|
 | 21 | KILL ;
 | 
|---|
 | 22 |  K ZTSK,ZTSAVE,ZTRTN,ZTIO,ZTDESC,ZTDTH,ENSND,ENST,%DT,DIRUT,DTOUT,X,Y
 | 
|---|
 | 23 |  Q
 | 
|---|
 | 24 | IN ;
 | 
|---|
 | 25 |  K ^TMP($J)
 | 
|---|
 | 26 |  D COUNT
 | 
|---|
 | 27 |  S ENDA=0,ENMSG=0,ENITEM=0
 | 
|---|
 | 28 |  D HEADER
 | 
|---|
 | 29 |  F  S ENDA=$O(^TMP($J,2,ENDA)) Q:ENDA'>0  D
 | 
|---|
 | 30 |  .S ENOD0=$G(^ENG(6914,ENDA,0)) Q:ENOD0=""
 | 
|---|
 | 31 |  .S ENITEM=ENITEM+1
 | 
|---|
 | 32 |  .S ENOD1=$G(^ENG(6914,ENDA,1))
 | 
|---|
 | 33 |  .S ENOD2=$G(^ENG(6914,ENDA,2))
 | 
|---|
 | 34 |  .S ENOD3=$G(^ENG(6914,ENDA,3))
 | 
|---|
 | 35 |  .S ENOD7=$G(^ENG(6914,ENDA,7))
 | 
|---|
 | 36 |  .S ENOD8=$G(^ENG(6914,ENDA,8))
 | 
|---|
 | 37 |  .D PACK
 | 
|---|
 | 38 |  .I (ENITEM#90=0) D SEND,HEADER
 | 
|---|
 | 39 |  D:(ENITEM#90'=0) SEND
 | 
|---|
 | 40 |  Q
 | 
|---|
 | 41 | EXIT ;
 | 
|---|
 | 42 |  K ^TMP($J),XMDUZ,XMY,XMSUB,XMTEXT,XMZ
 | 
|---|
 | 43 |  K ENDA,ENOD0,ENOD1,ENOD2,ENOD3,ENOD7,ENOD8,ENHEAD,ENTIME,ENDATE,ENL
 | 
|---|
 | 44 |  K ENSA,ENSB,ENSC,ENSD,ENSE,ENSF,ENITEM,ENMXSEQ,ENMSG,ENST,ENITEM,%DT
 | 
|---|
 | 45 |  K ENLCPT,ENLOC,ENFNCTPT,ENHO89PT,ENFNCT,ENH089,ENSN,ENSND
 | 
|---|
 | 46 |  Q
 | 
|---|
 | 47 | COUNT ;
 | 
|---|
 | 48 |  S ENDA=0,ENITEM=0
 | 
|---|
 | 49 |  F  S ENDA=$O(^ENG(6914,ENDA)) Q:ENDA'>0  D
 | 
|---|
 | 50 |  .S ENOD0=$G(^ENG(6914,ENDA,0)),ENOD3=$G(^ENG(6914,ENDA,3))
 | 
|---|
 | 51 |  .I $P(ENOD0,U,4)="NX",("^4^5^"'[(U_$P(ENOD3,U,1)_U)) S ENITEM=ENITEM+1,^TMP($J,2,ENDA)=""
 | 
|---|
 | 52 |  S ENMXSEQ=ENITEM+89\90
 | 
|---|
 | 53 |  Q
 | 
|---|
 | 54 | PACK ;
 | 
|---|
 | 55 |  D NODE0
 | 
|---|
 | 56 |  D:ENOD1'="" NODE1
 | 
|---|
 | 57 |  D:ENOD2'="" NODE2
 | 
|---|
 | 58 |  D:ENOD3'="" NODE3
 | 
|---|
 | 59 |  D:ENOD7'="" NODE7
 | 
|---|
 | 60 |  D:ENOD8'="" NODE8
 | 
|---|
 | 61 |  Q
 | 
|---|
 | 62 | NODE0 ;
 | 
|---|
 | 63 |  S ENL=ENL+1
 | 
|---|
 | 64 |  S ENSN=$P($G(^ENG(6914,ENDA,9)),U,5) S:ENSN="" ENSN=ENSND
 | 
|---|
 | 65 |  S ENSA="A^"_ENSN_U_$P(ENOD0,U)_U_$P(ENOD0,U,2)_U
 | 
|---|
 | 66 |  S ENSA=ENSA_$S($P(ENOD0,U,3)>0:$P($G(^ENG(6914,$P(ENOD0,U,3),0)),U),1:"")_"^|"
 | 
|---|
 | 67 |  S ENL=ENL+1,^XMB(3.9,XMZ,2,ENL,0)=ENSA
 | 
|---|
 | 68 |  Q
 | 
|---|
 | 69 | NODE1 ;
 | 
|---|
 | 70 |  S ENSB="B^"
 | 
|---|
 | 71 |  S ENSB=ENSB_$S($P(ENOD1,U)>0:$P($G(^ENG(6911,$P(ENOD1,U,1),0)),U),1:"")
 | 
|---|
 | 72 |  S ENSB=ENSB_U_$P(ENOD1,U,2)_U
 | 
|---|
 | 73 |  S ENSB=ENSB_$S($P(ENOD1,U,4)>0:$P($G(^ENG("MFG",$P(ENOD1,U,4),0)),U),1:"")_"^|"
 | 
|---|
 | 74 |  S:ENSB'="B^^^^|" ENL=ENL+1,^XMB(3.9,XMZ,2,ENL,0)=ENSB
 | 
|---|
 | 75 |  Q
 | 
|---|
 | 76 | NODE2 ;
 | 
|---|
 | 77 |  S ENSC="C^"_$P(ENOD2,U,3)_U_$$XFDT($P(ENOD2,U,4),"D")_U
 | 
|---|
 | 78 |  S ENSC=ENSC_$$XFDT($P(ENOD2,U,5),"D")_U_$P(ENOD2,U,6)_U_$P(ENOD2,U,7)_U
 | 
|---|
 | 79 |  S ENSC=ENSC_$S($P(ENOD2,U,8)>0:$P($G(^ENCSN(6917,$P(ENOD2,U,8),0)),U),1:"")
 | 
|---|
 | 80 |  S ENSC=ENSC_U_$S($P(ENOD2,U,9)>0:$E($P($G(^ENG(6914.1,$P(ENOD2,U,9),0)),U),1,5),1:"")
 | 
|---|
 | 81 |  S ENSC=ENSC_U_$$XFDT($P(ENOD2,U,10),"D")_U_$P(ENOD2,U,12)_U
 | 
|---|
 | 82 |  S ENSC=ENSC_$$XFDT($P(ENOD2,U,13),"D")_"^|"
 | 
|---|
 | 83 |  S:ENSC'="C^^^^^^^^^^^|" ENL=ENL+1,^XMB(3.9,XMZ,2,ENL,0)=ENSC
 | 
|---|
 | 84 |  Q
 | 
|---|
 | 85 | NODE3 ;
 | 
|---|
 | 86 |  S ENSD="D^"_$P(ENOD3,U)_U
 | 
|---|
 | 87 |  S ENSD=ENSD_$S($P(ENOD3,U,2)>0:$P($G(^DIC(49,$P(ENOD3,U,2),0)),U),1:"")
 | 
|---|
 | 88 |  S ENSD=ENSD_U_$P(ENOD3,U,4)_U
 | 
|---|
 | 89 |  S ENLCPT=$P(ENOD3,U,5)
 | 
|---|
 | 90 |  S ENLOC=$S(ENLCPT>0:$P($G(^ENG("SP",ENLCPT,0)),U),1:"")
 | 
|---|
 | 91 |  S ENFNCTPT=$S(ENLCPT>0:$P($G(^ENG("SP",ENLCPT,4)),U),1:"")
 | 
|---|
 | 92 |  S ENHO89PT=$S(ENLCPT>0:$P($G(^ENG("SP",ENLCPT,9)),U,2),1:"")
 | 
|---|
 | 93 |  S ENFNCT=$S(ENFNCTPT'="":$P($G(^ENG(6928.1,ENFNCTPT,0)),U),1:"")
 | 
|---|
 | 94 |  S ENH089=$S(ENHO89PT'="":$P($G(^OFM(7336.6,ENHO89PT,0)),U),1:"")
 | 
|---|
 | 95 |  S ENSD=ENSD_ENLOC_U_ENFNCT_U_ENH089_U_$P(ENOD3,U,7)_U_$P(ENOD3,U,9)_"^|"
 | 
|---|
 | 96 |  S:ENSD'="D^^^^^^^^^|" ENL=ENL+1,^XMB(3.9,XMZ,2,ENL,0)=ENSD
 | 
|---|
 | 97 |  Q
 | 
|---|
 | 98 | NODE7 ;
 | 
|---|
 | 99 |  S ENSE="E^"_$P(ENOD7,U)_U_$P(ENOD7,U,2)_"^|"
 | 
|---|
 | 100 |  S:ENSE'="E^^^|" ENL=ENL+1,^XMB(3.9,XMZ,2,ENL,0)=ENSE
 | 
|---|
 | 101 |  Q
 | 
|---|
 | 102 | NODE8 ;
 | 
|---|
 | 103 |  S ENSF="F^"_$S($P(ENOD8,U)=1:"Y",$P(ENOD8,U)=0:"N",1:"")_U
 | 
|---|
 | 104 |  S ENSF=ENSF_$S($P(ENOD8,U,2)=1:"Y",$P(ENOD8,U,2)=0:"N",1:"")_U
 | 
|---|
 | 105 |  S ENSF=ENSF_$P(ENOD8,U,8)_U_$P(ENOD8,U,9)_"^|"
 | 
|---|
 | 106 |  S:ENSF'="F^^^^^|" ENL=ENL+1,^XMB(3.9,XMZ,2,ENL,0)=ENSF
 | 
|---|
 | 107 |  Q
 | 
|---|
 | 108 | HEADER ;
 | 
|---|
 | 109 |  Q:ENMSG=ENMXSEQ
 | 
|---|
 | 110 |  S ENMSG=ENMSG+1,ENL=1
 | 
|---|
 | 111 |  S XMDUZ=DUZ,XMSUB="Seq # "_ENMSG_" from Site "_ENST_" Equipment Extract"
 | 
|---|
 | 112 |  D XMZ^XMA2
 | 
|---|
 | 113 |  I XMZ<1 G EXIT
 | 
|---|
 | 114 |  D:'$D(DT) DT^DICRW
 | 
|---|
 | 115 |  D NOW^%DTC
 | 
|---|
 | 116 |  S ENHEAD="ENG^"_ENST_"^EQUIP^"_$$XFDT(%)_U
 | 
|---|
 | 117 |  S ENHEAD=ENHEAD_$$LTZ^ENPLUTL_$E("   ",1,3-$L($$LTZ^ENPLUTL))_U
 | 
|---|
 | 118 |  S ENHEAD=ENHEAD_$E(1000+ENMSG,2,4)_U_$E(1000+ENMXSEQ,2,4)_"^002^|"
 | 
|---|
 | 119 |  S ^XMB(3.9,XMZ,2,ENL,0)=ENHEAD
 | 
|---|
 | 120 |  K %
 | 
|---|
 | 121 |  Q
 | 
|---|
 | 122 | SEND ;
 | 
|---|
 | 123 |  S ENL=ENL+1,^XMB(3.9,XMZ,2,ENL,0)=$S(ENMSG=ENMXSEQ:"$",1:"~")
 | 
|---|
 | 124 |  S XMY("G.ACTIVATION EQUIPMENT@NESC.MED.VA.GOV")="",XMY(DUZ)=""
 | 
|---|
 | 125 |  S XMY("S.ACTEQUIP@NESC.MED.VA.GOV")=""
 | 
|---|
 | 126 |  S ^XMB(3.9,XMZ,2,0)="^3.92A^"_ENL_U_ENL_U_DT
 | 
|---|
 | 127 |  D ENT1^XMD
 | 
|---|
 | 128 |  K XMDUZ,XMY,XMSUB,XMTEXT
 | 
|---|
 | 129 |  Q
 | 
|---|
 | 130 | XFDT(ENDTI,ENDONLY) ;Convert FileMan Date/Time to YYYYMMDD^HHMMSS
 | 
|---|
 | 131 |  ; ENDTI - FileMan date/time
 | 
|---|
 | 132 |  ; ENDONLY - contains "D" to just return date
 | 
|---|
 | 133 |  Q:$G(ENDTI)']""&($G(ENDONLY)["D") ""
 | 
|---|
 | 134 |  Q:$G(ENDTI)']"" "00000000^000000"
 | 
|---|
 | 135 |  Q:$G(ENDONLY)["D" 17000000+ENDTI\1
 | 
|---|
 | 136 |  Q 17000000+ENDTI\1_"^"_$P(ENDTI,".",2)_$E("000000",1,6-$L($P(ENDTI,".",2)))
 | 
|---|
 | 137 |  ;ENEXPT
 | 
|---|