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
|
---|