ENJ ;(WASH ISC)/JA-Screen Handler ;5-11-92
;;7.0;ENGINEERING;;Aug 17, 1993
;Record locking is responsibility of calling program
EN K ^TMP($J,"DJST"),DJST,^TMP($J,"DJ") S:'$D(DUZ(0)) DUZ(0)="" S:'$D(DTIME) DTIME=600 S:$D(DJSC) X=DJSC S Y=$O(^ENG(6910.9,"B",X,0)) I Y'>0 W !!,"SCREEN NOT DEFINED",*7 Q
S DJR=Y,DJR(0)=^ENG(6910.9,Y,0),DJZ=$P(DJR(0),"^",6) I '$D(DJZ) S DJZ=$S(DJZ="":"",$D(^DIC(DJZ,0,"GL"))=1:^("GL"),1:"") I DJZ=""!($D(^ENG(6910.9,+Y,1))=0) W !,"SCREEN OR GLOBAL NOT DEFINED PROPERLY",*7 H 1 Q
S DJNM=$P(^ENG(6910.9,Y,0),"^",1) G:$D(DJDN) D
RD ;D RL Q:X="^"!(X="") G RD
RL K V
D D:'$D(DJRJ) ^ENJPARAM Q:'$D(DJRJ)
I '$D(DJDN) D ^ENJDPL G EXIT1:$D(DJY) D ^ENJINJ G EXIT1
I '$D(DJDIS),$D(DJDN) D ^ENJDPL G EXIT1:$D(DJY) S (DA,W(V))=DJDN D ^ENJC2 S DJW=1,DJW1=1 D EN^ENJINJ G EXIT1
I $D(DJDIS) D ^ENJDPL G EXIT1:$D(DJY) S (DA,W(V))=DJDN D ^ENJC2 S DJW=1,DJW1=1 D EN^ENJINJ G EXIT1
;
Q ; LOCATE SCREEN
D:'$D(DJRJ) ^ENJPARAM Q:'$D(DJRJ)
S DIC("A")="Select Screen Name: ",DIC(0)="AEMQ",DIC="^ENG(6910.9," S:DJOP=2 DLAYGO=6910.9,DIC(0)=DIC(0)_"L"
S DIC("S")=$S(DUZ(0)'="@":"I 1 S DJX=$P(^ENG(6910.9,+Y,0),""^"",4) F DJK=1:1:$L(DJX) I DUZ(0)[$E(DJX,DJK) Q",1:"I Y") I DJOP=5 S DIC("S")="I $P(^ENG(6910.9,+Y,0),""^"",3)="""",'$D(^DD($P(^ENG(6910.9,+Y,0),""^"",6),0,""UP"")) "_DIC("S")
D ^DIC K DIC(0),DLAYGO,DIC("A"),DIC("S") Q:Y<0
S (X,DJDNM)=$P(Y,U,2) Q
EX K DIC,DJRJ,I,J,K,O,S,X,XY Q
EXIT1 X DJCL K DJLIN,DJCL,DJCP,DJEOP,DJRJ,DJR
K DJHIN
EXIT K DJJ,V,X,Y,DIC,DJQ,DJDPL,DJKV,DJNM,DJW,DIE,DE,DJ,DH,DI,DJDIS,DJW1,DJDN,DJ0,DJAT,DJMU,DJST,DJSC,DJI,DJOP,DWLW
K D,D0,DA,DJ4,DJ3,DJ2,DJDD,DJDNM,DJERR,DJF,DJL,DJN,DJP,DJRNM,DJT,DJX,DJY,DJZ
K ^TMP($J,"DJST"),DJ5,DJ6,DJ7,DJ9,DJA,DJAD,DJBD,DJD,DJDA,DJDP,DJDUZ,DJFF,DJLSTN,DJSM
K DJ11,DJ01,DJXL,DJXT,DJXX,DJX1,DJX3,DJ8,DX,DY,DJK,DJDIC,DJDICS,W,DJWR
;
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HENJ 1841 printed Dec 13, 2024@01:54 Page 2
ENJ ;(WASH ISC)/JA-Screen Handler ;5-11-92
+1 ;;7.0;ENGINEERING;;Aug 17, 1993
+2 ;Record locking is responsibility of calling program
EN KILL ^TMP($JOB,"DJST"),DJST,^TMP($JOB,"DJ")
if '$DATA(DUZ(0))
SET DUZ(0)=""
if '$DATA(DTIME)
SET DTIME=600
if $DATA(DJSC)
SET X=DJSC
SET Y=$ORDER(^ENG(6910.9,"B",X,0))
IF Y'>0
WRITE !!,"SCREEN NOT DEFINED",*7
QUIT
+1 SET DJR=Y
SET DJR(0)=^ENG(6910.9,Y,0)
SET DJZ=$PIECE(DJR(0),"^",6)
IF '$DATA(DJZ)
SET DJZ=$SELECT(DJZ="":"",$DATA(^DIC(DJZ,0,"GL"))=1:^("GL"),1:"")
IF DJZ=""!($DATA(^ENG(6910.9,+Y,1))=0)
WRITE !,"SCREEN OR GLOBAL NOT DEFINED PROPERLY",*7
HANG 1
QUIT
+2 SET DJNM=$PIECE(^ENG(6910.9,Y,0),"^",1)
if $DATA(DJDN)
GOTO D
RD ;D RL Q:X="^"!(X="") G RD
RL KILL V
D if '$DATA(DJRJ)
DO ^ENJPARAM
if '$DATA(DJRJ)
QUIT
+1 IF '$DATA(DJDN)
DO ^ENJDPL
if $DATA(DJY)
GOTO EXIT1
DO ^ENJINJ
GOTO EXIT1
+2 IF '$DATA(DJDIS)
IF $DATA(DJDN)
DO ^ENJDPL
if $DATA(DJY)
GOTO EXIT1
SET (DA,W(V))=DJDN
DO ^ENJC2
SET DJW=1
SET DJW1=1
DO EN^ENJINJ
GOTO EXIT1
+3 IF $DATA(DJDIS)
DO ^ENJDPL
if $DATA(DJY)
GOTO EXIT1
SET (DA,W(V))=DJDN
DO ^ENJC2
SET DJW=1
SET DJW1=1
DO EN^ENJINJ
GOTO EXIT1
+4 ;
Q ; LOCATE SCREEN
+1 if '$DATA(DJRJ)
DO ^ENJPARAM
if '$DATA(DJRJ)
QUIT
+2 SET DIC("A")="Select Screen Name: "
SET DIC(0)="AEMQ"
SET DIC="^ENG(6910.9,"
if DJOP=2
SET DLAYGO=6910.9
SET DIC(0)=DIC(0)_"L"
+3 SET DIC("S")=$SELECT(DUZ(0)'="@":"I 1 S DJX=$P(^ENG(6910.9,+Y,0),""^"",4) F DJK=1:1:$L(DJX) I DUZ(0)[$E(DJX,DJK) Q",1:"I Y")
IF DJOP=5
SET DIC("S")="I $P(^ENG(6910.9,+Y,0),""^"",3)="""",'$D(^DD($P(^ENG(6910.9,+Y,0),""^"",6),0,""UP"")) "_DIC("S")
+4 DO ^DIC
KILL DIC(0),DLAYGO,DIC("A"),DIC("S")
if Y<0
QUIT
+5 SET (X,DJDNM)=$PIECE(Y,U,2)
QUIT
EX KILL DIC,DJRJ,I,J,K,O,S,X,XY
QUIT
EXIT1 XECUTE DJCL
KILL DJLIN,DJCL,DJCP,DJEOP,DJRJ,DJR
+1 KILL DJHIN
EXIT KILL DJJ,V,X,Y,DIC,DJQ,DJDPL,DJKV,DJNM,DJW,DIE,DE,DJ,DH,DI,DJDIS,DJW1,DJDN,DJ0,DJAT,DJMU,DJST,DJSC,DJI,DJOP,DWLW
+1 KILL D,D0,DA,DJ4,DJ3,DJ2,DJDD,DJDNM,DJERR,DJF,DJL,DJN,DJP,DJRNM,DJT,DJX,DJY,DJZ
+2 KILL ^TMP($JOB,"DJST"),DJ5,DJ6,DJ7,DJ9,DJA,DJAD,DJBD,DJD,DJDA,DJDP,DJDUZ,DJFF,DJLSTN,DJSM
+3 KILL DJ11,DJ01,DJXL,DJXT,DJXX,DJX1,DJX3,DJ8,DX,DY,DJK,DJDIC,DJDICS,W,DJWR
+4 ;