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