ENSP3 ;(WCIOFO)/WDS@CHARLESTON,SAB-DISPLAY ROOM DATA (CONT'D) ;8/16/1999
 ;;7.0;ENGINEERING;**62**;Aug 17, 1993
 ;
 ;EXPECTS XY,DUZ(0)
 ;CALLED BY ENSP2
TOP ;D:'($D(ENLO)&$D(ENHI)) INIT^EN
 D:'($D(IOINLOW)&$D(IOINHI)) ZIS^ENUTL
 S DIC="^ENG(""SP"","
 S:$D(J)=0 J=0
 W ?28 D W("SINGLE ROOM DATA DISPLAY") W !
 W ! D W(" 1) ") W "ROOM NO.  : " D W(EN(1)) W ?39 D W(" 2) ") W "BUILDING #: " D W(EN(2))
 W ! D W(" 3) ") W "WING      : " D W(EN(3)) W ?39 D W(" 4) ") W "SERVICE   : " D W(EN(4))
 W ! D W(" 5) ") W "ROOM KEY  : " D W(EN(5)) W ?39 D W(" 6) ") W "FUNCTION  : " D W(EN(6))
TOP2 W ! D W(" 7) ") W "NO. OF BED: " D W(EN(10)) W ?39 D W(" 8) ") W "SPEC CHAR.: " D W(EN(11))
TOP4 W !
 W ! D W(" 9) ") W "LENGTH : " D W(EN(7)) W ?27 D W("10) ") W "WIDTH  : " D W(EN(8)) W ?54 D W("11) ") W "NET SF : " D W(EN(9))
 W ! D W("12) ") W "WALL   : " D W(EN(12)) W ?27 D W("13) ") W "FLOOR  : " D W(EN(13)) W ?54 D W("14) ") W "CEILING:" D W(EN(14))
 W ! D W("15) ") W "REPL.DT: " S X=EN(15) D PDT D W(X) W ?27 D W("16) ") W "REPL.DT: " S X=EN(16) D PDT D W(X) W ?54 D W("17) ") W "REPL.DT:" S X=EN(17) D PDT D W(X)
LITE W !
 W ! D W("18) ") W "LIGHTING  : " D W(EN(18,1)) W ?31,"QUANTITY  : " D W(EN(18,2)) W ?58,"WATTAGE   : " D W(EN(18,3))
 I $D(EN(19,1)) W !,?16 D W(EN(19,1)) W ?43 D W(EN(19,2)) W ?70 D W(EN(19,3))
 I $D(EN(20,1)) W !,?16 D W(EN(20,1)) W ?43 D W(EN(20,2)) W ?70 D W(EN(20,3))
TOP15 W !
 W ! D W("19) ") W "WINDOW QTY: " D W(EN(21)) W ?41 D W("20) ") W "WINDOW TYPE: " D W(EN(22))
 W ! D W("21) ") W "DRAPE NO. : " D W(EN(23)) W ?41 D W("22) ") W "CUB. CTNS. : " D W(EN(24))
 W ! D W("23) ") W "DOOR QTY  : " D W(EN(25)) W ?41 D W("24) ") W "RCS 10-0141: " D W(EN(26))
 W ! D W("25) ") W "UTILITIES : " D W(EN(27))
 I J-1>27 F I=28:1:J-1 W ! D W("  * ") W "UTILITIES : " D W(EN(I)) D:I=29 MSG
 W !
 W ! D W("26) ") W "COMMENTS: "
WCO I $D(^ENG("SP",DA,3)) D
 . S DIWL=15,DIWR=79,DIWF="" K ^UTILITY($J,"W")
 . S ENNX=0 F  S ENNX=$O(^ENG("SP",DA,3,ENNX)) Q:'ENNX  I $D(^(ENNX,0))>0 S X=^(0)  D ^DIWP
 . I $O(^UTILITY($J,"W",DIWL,1)),IOSL'>30 D HOLD Q:$E(X)="^"
 . W IOINHI S ENNX=0 F  S ENNX=$O(^UTILITY($J,"W",DIWL,ENNX)) Q:'ENNX  W !,?DIWL,^(ENNX,0) I (IOSL-$Y)'>2 D  Q:$E(X)="^"
 .. W IOINLOW D HOLD
 .. W:$E(X)'="^" IOINHI
 . W IOINLOW
SYN W !
 W ! D W("27)") W " SYNONYM : " D W(EN("SYN"))
OKEY I $Y+3>IOSL D MSG
 W ! D W("28)") W " OTHER KEYS: "
 S I=0 F  S I=$O(EN("OKEY",I)) Q:'I  D
 . W:I>1 ! W ?16 D W(EN("OKEY",I))
WAIT K EN,ENLTH,ENORD,I,J,K,ENNU,ENNX,X,DIWL,DIWR,DIWF
 I $D(ZTQUEUED) S ZTREQ="@" W @IOF Q
 I $D(A),A="...PRT..." W:IO'=IO(0) @IOF Q  ;WDS/CHA 6.41
 W !,"Choose " W $S($D(^XUSEC("ENROOM",DUZ)):"Item to Enter/Edit (2-28, ",1:"(") W "D(DISPLAY), P(PRINT)):  EXIT// " R A:DTIME
REPEAT I A=""!(A="^") W !!,"Want to view another " S %=1 D YN^DICN G:%=1 ENT^ENSP2 K A Q
 I A=""!(A="^") K A Q
 I A="P" G PRT
 I A="D" W @IOF G RPT
 I A<29,(A>1) S DR=$P(".5^1^1.5^2^2.6^5^6^3^3.5^4.5^7^8^9^7.5^8.5^9.5^10^11^11.5^12^13^13.5^16^14^17^18^2.1","^",A-1) G SDA
 G WAIT
MSG I $E(IOST,1,2)="C-" W !,?10,"Press <RETURN> to continue. " R R:DTIME Q
 Q
PRT ;PRINT SPACE SCREEN DATA
 S ENLOW=IOINLOW,ENHI=IOINHI S IOINLOW="",IOINHI=""
 S A="...PRT..." D DEV^ENLIB G:POP PRT1 G:'$D(IO("Q")) PRT0
 K IO("Q") S ZTIO=ION,ZTRTN="START^ENSP2",ZTSAVE("EN*")="",ZTSAVE("DA")="",ZTSAVE("A")="",ZTDESC="Single Room Data Display" D ^%ZTLOAD K ZTSK
 D ^%ZISC S IOINLOW=ENLOW,IOINHI=ENHI K ENLOW,ENHI,A G WAIT
PRT0 U IO D START^ENSP2 D:IO'=IO(0) ^%ZISC
PRT1 S IOINLOW=ENLOW,IOINHI=ENHI K ENLOW,ENHI,A
 D HOME^%ZIS G WAIT
RPT G START^ENSP2
SDA S X=DIC_DA_")" L +@X:1 I $T=0 W !!,*7,"THIS ENTRY IS BEING EDITED BY ANOTHER USER.  TRY LATER." G WAIT
TEST I '$D(^XUSEC("ENROOM",DUZ)) W !,"** Sorry, you seem to lack the appropriate Security Key (ENROOM) **",*7 G WAIT
ED D ^DIE L -@(DIC_DA_")") G WAIT
PDT S:X'="" X=$E(X,4,5)_"/"_$E(X,6,7)_"/"_$E(X,2,3) Q
 ;
HOLD S X="" I $E(IOST,1,2)="C-" D  Q
 . W !,"Press <RETURN> to continue, '^' to escape..."
 . R X:DTIME
 . S $Y=0
 W @IOF
 Q
 ;
W(ENDATA) ;Bold ENDATA
 Q:$G(ENDATA)=""
 N X
 S X=$X W IOINHI S $X=X W ENDATA
 S X=$X W IOINLOW S $X=X
 Q
 ;ENSP3
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HENSP3   4188     printed  Sep 23, 2025@19:31:44                                                                                                                                                                                                       Page 2
ENSP3     ;(WCIOFO)/WDS@CHARLESTON,SAB-DISPLAY ROOM DATA (CONT'D) ;8/16/1999
 +1       ;;7.0;ENGINEERING;**62**;Aug 17, 1993
 +2       ;
 +3       ;EXPECTS XY,DUZ(0)
 +4       ;CALLED BY ENSP2
TOP       ;D:'($D(ENLO)&$D(ENHI)) INIT^EN
 +1        if '($DATA(IOINLOW)&$DATA(IOINHI))
               DO ZIS^ENUTL
 +2        SET DIC="^ENG(""SP"","
 +3        if $DATA(J)=0
               SET J=0
 +4        WRITE ?28
           DO W("SINGLE ROOM DATA DISPLAY")
           WRITE !
 +5        WRITE !
           DO W(" 1) ")
           WRITE "ROOM NO.  : "
           DO W(EN(1))
           WRITE ?39
           DO W(" 2) ")
           WRITE "BUILDING #: "
           DO W(EN(2))
 +6        WRITE !
           DO W(" 3) ")
           WRITE "WING      : "
           DO W(EN(3))
           WRITE ?39
           DO W(" 4) ")
           WRITE "SERVICE   : "
           DO W(EN(4))
 +7        WRITE !
           DO W(" 5) ")
           WRITE "ROOM KEY  : "
           DO W(EN(5))
           WRITE ?39
           DO W(" 6) ")
           WRITE "FUNCTION  : "
           DO W(EN(6))
TOP2       WRITE !
           DO W(" 7) ")
           WRITE "NO. OF BED: "
           DO W(EN(10))
           WRITE ?39
           DO W(" 8) ")
           WRITE "SPEC CHAR.: "
           DO W(EN(11))
TOP4       WRITE !
 +1        WRITE !
           DO W(" 9) ")
           WRITE "LENGTH : "
           DO W(EN(7))
           WRITE ?27
           DO W("10) ")
           WRITE "WIDTH  : "
           DO W(EN(8))
           WRITE ?54
           DO W("11) ")
           WRITE "NET SF : "
           DO W(EN(9))
 +2        WRITE !
           DO W("12) ")
           WRITE "WALL   : "
           DO W(EN(12))
           WRITE ?27
           DO W("13) ")
           WRITE "FLOOR  : "
           DO W(EN(13))
           WRITE ?54
           DO W("14) ")
           WRITE "CEILING:"
           DO W(EN(14))
 +3        WRITE !
           DO W("15) ")
           WRITE "REPL.DT: "
           SET X=EN(15)
           DO PDT
           DO W(X)
           WRITE ?27
           DO W("16) ")
           WRITE "REPL.DT: "
           SET X=EN(16)
           DO PDT
           DO W(X)
           WRITE ?54
           DO W("17) ")
           WRITE "REPL.DT:"
           SET X=EN(17)
           DO PDT
           DO W(X)
LITE       WRITE !
 +1        WRITE !
           DO W("18) ")
           WRITE "LIGHTING  : "
           DO W(EN(18,1))
           WRITE ?31,"QUANTITY  : "
           DO W(EN(18,2))
           WRITE ?58,"WATTAGE   : "
           DO W(EN(18,3))
 +2        IF $DATA(EN(19,1))
               WRITE !,?16
               DO W(EN(19,1))
               WRITE ?43
               DO W(EN(19,2))
               WRITE ?70
               DO W(EN(19,3))
 +3        IF $DATA(EN(20,1))
               WRITE !,?16
               DO W(EN(20,1))
               WRITE ?43
               DO W(EN(20,2))
               WRITE ?70
               DO W(EN(20,3))
TOP15      WRITE !
 +1        WRITE !
           DO W("19) ")
           WRITE "WINDOW QTY: "
           DO W(EN(21))
           WRITE ?41
           DO W("20) ")
           WRITE "WINDOW TYPE: "
           DO W(EN(22))
 +2        WRITE !
           DO W("21) ")
           WRITE "DRAPE NO. : "
           DO W(EN(23))
           WRITE ?41
           DO W("22) ")
           WRITE "CUB. CTNS. : "
           DO W(EN(24))
 +3        WRITE !
           DO W("23) ")
           WRITE "DOOR QTY  : "
           DO W(EN(25))
           WRITE ?41
           DO W("24) ")
           WRITE "RCS 10-0141: "
           DO W(EN(26))
 +4        WRITE !
           DO W("25) ")
           WRITE "UTILITIES : "
           DO W(EN(27))
 +5        IF J-1>27
               FOR I=28:1:J-1
                   WRITE !
                   DO W("  * ")
                   WRITE "UTILITIES : "
                   DO W(EN(I))
                   if I=29
                       DO MSG
 +6        WRITE !
 +7        WRITE !
           DO W("26) ")
           WRITE "COMMENTS: "
WCO        IF $DATA(^ENG("SP",DA,3))
               Begin DoDot:1
 +1                SET DIWL=15
                   SET DIWR=79
                   SET DIWF=""
                   KILL ^UTILITY($JOB,"W")
 +2                SET ENNX=0
                   FOR 
                       SET ENNX=$ORDER(^ENG("SP",DA,3,ENNX))
                       if 'ENNX
                           QUIT 
                       IF $DATA(^(ENNX,0))>0
                           SET X=^(0)
                           DO ^DIWP
 +3                IF $ORDER(^UTILITY($JOB,"W",DIWL,1))
                       IF IOSL'>30
                           DO HOLD
                           if $EXTRACT(X)="^"
                               QUIT 
 +4                WRITE IOINHI
                   SET ENNX=0
                   FOR 
                       SET ENNX=$ORDER(^UTILITY($JOB,"W",DIWL,ENNX))
                       if 'ENNX
                           QUIT 
                       WRITE !,?DIWL,^(ENNX,0)
                       IF (IOSL-$Y)'>2
                           Begin DoDot:2
 +5                            WRITE IOINLOW
                               DO HOLD
 +6                            if $EXTRACT(X)'="^"
                                   WRITE IOINHI
                           End DoDot:2
                           if $EXTRACT(X)="^"
                               QUIT 
 +7                WRITE IOINLOW
               End DoDot:1
SYN        WRITE !
 +1        WRITE !
           DO W("27)")
           WRITE " SYNONYM : "
           DO W(EN("SYN"))
OKEY       IF $Y+3>IOSL
               DO MSG
 +1        WRITE !
           DO W("28)")
           WRITE " OTHER KEYS: "
 +2        SET I=0
           FOR 
               SET I=$ORDER(EN("OKEY",I))
               if 'I
                   QUIT 
               Begin DoDot:1
 +3                if I>1
                       WRITE !
                   WRITE ?16
                   DO W(EN("OKEY",I))
               End DoDot:1
WAIT       KILL EN,ENLTH,ENORD,I,J,K,ENNU,ENNX,X,DIWL,DIWR,DIWF
 +1        IF $DATA(ZTQUEUED)
               SET ZTREQ="@"
               WRITE @IOF
               QUIT 
 +2       ;WDS/CHA 6.41
           IF $DATA(A)
               IF A="...PRT..."
                   if IO'=IO(0)
                       WRITE @IOF
                   QUIT 
 +3        WRITE !,"Choose "
           WRITE $SELECT($DATA(^XUSEC("ENROOM",DUZ)):"Item to Enter/Edit (2-28, ",1:"(")
           WRITE "D(DISPLAY), P(PRINT)):  EXIT// "
           READ A:DTIME
REPEAT     IF A=""!(A="^")
               WRITE !!,"Want to view another "
               SET %=1
               DO YN^DICN
               if %=1
                   GOTO ENT^ENSP2
               KILL A
               QUIT 
 +1        IF A=""!(A="^")
               KILL A
               QUIT 
 +2        IF A="P"
               GOTO PRT
 +3        IF A="D"
               WRITE @IOF
               GOTO RPT
 +4        IF A<29
               IF (A>1)
                   SET DR=$PIECE(".5^1^1.5^2^2.6^5^6^3^3.5^4.5^7^8^9^7.5^8.5^9.5^10^11^11.5^12^13^13.5^16^14^17^18^2.1","^",A-1)
                   GOTO SDA
 +5        GOTO WAIT
MSG        IF $EXTRACT(IOST,1,2)="C-"
               WRITE !,?10,"Press <RETURN> to continue. "
               READ R:DTIME
               QUIT 
 +1        QUIT 
PRT       ;PRINT SPACE SCREEN DATA
 +1        SET ENLOW=IOINLOW
           SET ENHI=IOINHI
           SET IOINLOW=""
           SET IOINHI=""
 +2        SET A="...PRT..."
           DO DEV^ENLIB
           if POP
               GOTO PRT1
           if '$DATA(IO("Q"))
               GOTO PRT0
 +3        KILL IO("Q")
           SET ZTIO=ION
           SET ZTRTN="START^ENSP2"
           SET ZTSAVE("EN*")=""
           SET ZTSAVE("DA")=""
           SET ZTSAVE("A")=""
           SET ZTDESC="Single Room Data Display"
           DO ^%ZTLOAD
           KILL ZTSK
 +4        DO ^%ZISC
           SET IOINLOW=ENLOW
           SET IOINHI=ENHI
           KILL ENLOW,ENHI,A
           GOTO WAIT
PRT0       USE IO
           DO START^ENSP2
           if IO'=IO(0)
               DO ^%ZISC
PRT1       SET IOINLOW=ENLOW
           SET IOINHI=ENHI
           KILL ENLOW,ENHI,A
 +1        DO HOME^%ZIS
           GOTO WAIT
RPT        GOTO START^ENSP2
SDA        SET X=DIC_DA_")"
           LOCK +@X:1
           IF $TEST=0
               WRITE !!,*7,"THIS ENTRY IS BEING EDITED BY ANOTHER USER.  TRY LATER."
               GOTO WAIT
TEST       IF '$DATA(^XUSEC("ENROOM",DUZ))
               WRITE !,"** Sorry, you seem to lack the appropriate Security Key (ENROOM) **",*7
               GOTO WAIT
ED         DO ^DIE
           LOCK -@(DIC_DA_")")
           GOTO WAIT
PDT        if X'=""
               SET X=$EXTRACT(X,4,5)_"/"_$EXTRACT(X,6,7)_"/"_$EXTRACT(X,2,3)
           QUIT 
 +1       ;
HOLD       SET X=""
           IF $EXTRACT(IOST,1,2)="C-"
               Begin DoDot:1
 +1                WRITE !,"Press <RETURN> to continue, '^' to escape..."
 +2                READ X:DTIME
 +3                SET $Y=0
               End DoDot:1
               QUIT 
 +4        WRITE @IOF
 +5        QUIT 
 +6       ;
W(ENDATA) ;Bold ENDATA
 +1        if $GET(ENDATA)=""
               QUIT 
 +2        NEW X
 +3        SET X=$X
           WRITE IOINHI
           SET $X=X
           WRITE ENDATA
 +4        SET X=$X
           WRITE IOINLOW
           SET $X=X
 +5        QUIT 
 +6       ;ENSP3