| 1 | ENUTL ;(WIRMFO)/DH-Engineering Utilities ;1.12.98
 | 
|---|
| 2 |  ;;7.0;ENGINEERING;**35,42,48**;Aug 17, 1993
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | GETEQ ;  Lookup equipment file entries allowing searches by user
 | 
|---|
| 5 |  ;    specified x-refs
 | 
|---|
| 6 |  ;  Called from ENEQ2, ENEQ4, ENEQLT,ENEQNX5, ENEQPMR4, ENEQRP1, ENEQRP6,
 | 
|---|
| 7 |  ;              ENEQTD, ENLBL3, ENWO1
 | 
|---|
| 8 |  ;  DIC("S") may be passed, but is not required or returned
 | 
|---|
| 9 |  ;  Output => Y as per ^DIC
 | 
|---|
| 10 |  ;
 | 
|---|
| 11 |  N D,X,ENX,ENI
 | 
|---|
| 12 |  S DIC="^ENG(6914,"
 | 
|---|
| 13 | EQA ;  Ask for input
 | 
|---|
| 14 |  R !,"Select EQUIPMENT ENTRY #: ",ENX:DTIME I '$T!(ENX="")!($E(ENX)="^") S Y=-1 G EQX
 | 
|---|
| 15 |  I $E(ENX,3)="." D  I $G(D)]"" S X=$E(ENX,4,99),DIC(0)="QE" D IX^DIC G EQR
 | 
|---|
| 16 |  . S ENI=$E(ENX,1,2) I "^EC^LI^LO^MA^MF^MO^SN^"'[(U_ENI_U) Q
 | 
|---|
| 17 |  . S D=$S(ENI="EC":"G",ENI="LI":"L",ENI="LO":"D",ENI="MA":"K",ENI="MF":"H",ENI="MO":"EC",ENI="SN":"FC",1:"") I D="" Q
 | 
|---|
| 18 |  . I "EC^FC"[D D EQCOMP
 | 
|---|
| 19 |  S X=ENX I $E(X)="?" D
 | 
|---|
| 20 |  . W !," 'EC.value' => equipment whose EQUIP. CATEGORY starts with 'value'"
 | 
|---|
| 21 |  . W !," 'LI.value' => equipment whose LOCAL ID starts with 'value'"
 | 
|---|
| 22 |  . W !," 'LO.value' => equipment whose LOCATION starts with 'value'"
 | 
|---|
| 23 |  . W !," 'MA.value' => equipment whose MANUFACTURER starts with 'value'"
 | 
|---|
| 24 |  . W !," 'MF.value' => equipment whose MFGR. EQUIP. NAME starts with 'value'"
 | 
|---|
| 25 |  . W !," 'MO.value' => equipment whose MODEL starts with 'value'"
 | 
|---|
| 26 |  . W !," 'SN.value' => equipment whose SERIAL NUMBER starts with 'value'"
 | 
|---|
| 27 |  S DIC(0)="QEM" D ^DIC
 | 
|---|
| 28 | EQR ;  Result of ^DIC call
 | 
|---|
| 29 |  G:Y'>0 EQA
 | 
|---|
| 30 | EQX ;  Design EXIT
 | 
|---|
| 31 |  K DIC
 | 
|---|
| 32 |  Q
 | 
|---|
| 33 |  ;
 | 
|---|
| 34 | EQCOMP ;  Compress local var X
 | 
|---|
| 35 |  Q:$G(X)']""
 | 
|---|
| 36 |  S X=$$UP^XLFSTR(X)
 | 
|---|
| 37 |  S X=$TR(X," ""~!@#$%^&*()_+|-=\[];',./{}:<>?`","")
 | 
|---|
| 38 |  Q
 | 
|---|
| 39 |  ;
 | 
|---|
| 40 | ZIS ;  Get BOLD and UNBOLD sequences
 | 
|---|
| 41 |  ;  Set to NULL if printer (bolding in hard copy would be nice,
 | 
|---|
| 42 |  ;    but the Device Files are too messy for it to work well)
 | 
|---|
| 43 |  I $E(IOST,1,2)'="C-" S (IOINLOW,IOINHI)="" Q
 | 
|---|
| 44 |  N X S X="IOINLOW;IOINHI;IOINORM" D ENDR^%ZISS
 | 
|---|
| 45 |  I IOINLOW="",IOINORM]"" S IOINLOW=IOINORM
 | 
|---|
| 46 |  Q
 | 
|---|
| 47 |  ;
 | 
|---|
| 48 | EOM(ENDT) ;End of Month Extrinsic Function
 | 
|---|
| 49 |  ; ENDT - Date (internal format)
 | 
|---|
| 50 |  ; Returns - Date for end of month (internal format)
 | 
|---|
| 51 |  I "^01^03^05^07^08^10^12^"[(U_$E(ENDT,4,5)_U) S ENDT=$E(ENDT,1,5)_"31"
 | 
|---|
| 52 |  I "^04^06^09^11^"[(U_$E(ENDT,4,5)_U) S ENDT=$E(ENDT,1,5)_"30"
 | 
|---|
| 53 |  I "02"=$E(ENDT,4,5) N YEAR,LEAP D
 | 
|---|
| 54 |  . S YEAR=$E(ENDT,1,3)+1700,LEAP=$S('(YEAR#400):1,'(YEAR#4)&(YEAR#100):1,1:0)
 | 
|---|
| 55 |  . S ENDT=$E(ENDT,1,5)_$S(LEAP:"29",1:"28")
 | 
|---|
| 56 |  Q ENDT
 | 
|---|
| 57 |  ;
 | 
|---|
| 58 |  ;ENUTL
 | 
|---|