ENJINK ;(WASH ISC)/JA-Screen Data Deletion ;5-29-91
 ;;7.0;ENGINEERING;;Aug 17, 1993
 I V(V)="" S X="" X DJCL W "No data entered",*7 Q
 I V(V)'="" S @$P(DJJ(V),U,2) X XY W @DJHIN X XY W V(V),@DJLIN
 ;I '$D(^DIC(DJDD,0,"DEL")) G KILL
 ;I DUZ(0)["@" G KILL
 ;I $D(^DD(DJDD,0,"DEL")),DUZ(0)[^DD(DJDD,0,"DEL") G KILL
 G KILL:$P(DJJ(V),U,3)'=.01,KILL:'$D(^DIC(DJDD,0,"DEL")) G KILL:DUZ(0)="@" I $D(^DIC(DJDD,0,"DEL")) G KILL:DUZ(0)[^("DEL")
 X DJCL W *7,@DJHIN,"NOT ALLOWED TO DELETE",@DJLIN S X=V(V) G HALT
KILL I $D(^DD(DJDD,DJAT,8.5)),DUZ(0)'[^(8.5),DUZ(0)'="@" X DJCL W *7,@DJHIN,"NOT ALLOWED TO DELETE",@DJLIN S X=V(V) G HALT
ILL I DJ4["R",$P(DJJ(V),U,3)'=.01 X DJCL W *7,@DJHIN,"REQUIRED <NOTHING DELETED>",@DJLIN S X=V(V) G HALT
 G N:$P(DJJ(V),U,3)'=.01 X DJCL W *7,"SURE YOU WANT TO DELETE?: NO//" R X:DTIME I X["Y" X DJCP S DY=22,DX=0 X XY W @DJEOP S DIE=DIC,DR=".01///@" D ^DIE G:'$D(DA) K S X=V(V) G HALT
 S X=V(V) G HALT
N X DJCP X DJCL W *7,"SURE YOU WANT TO DELETE?: NO//" R X:DTIME I X["Y" X DJCP S DY=22,DX=0 X XY W @DJEOP S DIE=DIC,DR=DJAT_"///@" D ^DIE S X=$S(X'="":V(V),1:"@") Q
 S X=V(V) Q
NXT S DJNN=$O(^DD(DJDD,DJAT,DJNN)) Q:DJNN=""  I $D(^(DJNN,2)) S X=V(V) X ^(2) S X="@" G NXT
 K DJDN Q
K I DJDPL'="DJ.DEF2" K V S V=0 G K1
 S V=5.9 F DJK=6:1:25 K V(DJK)
K1 F DJK=0:0 S V=$O(DJJ(V)) Q:V=""  S @$P(DJJ(V),U,2) X XY S $P(DJDB,".",DJJ(V))="." W DJDB K DJDB
 S V=0,X="@" K DJDN,DJK Q
HALT I $D(^ENG(6910.9,DJN,1,$O(^ENG(6910.9,DJN,1,"A",V,0)),2)) R " Carriage return to continue",DJX:DTIME Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HENJINK   1529     printed  Sep 23, 2025@19:30:10                                                                                                                                                                                                      Page 2
ENJINK    ;(WASH ISC)/JA-Screen Data Deletion ;5-29-91
 +1       ;;7.0;ENGINEERING;;Aug 17, 1993
 +2        IF V(V)=""
               SET X=""
               XECUTE DJCL
               WRITE "No data entered",*7
               QUIT 
 +3        IF V(V)'=""
               SET @$PIECE(DJJ(V),U,2)
               XECUTE XY
               WRITE @DJHIN
               XECUTE XY
               WRITE V(V),@DJLIN
 +4       ;I '$D(^DIC(DJDD,0,"DEL")) G KILL
 +5       ;I DUZ(0)["@" G KILL
 +6       ;I $D(^DD(DJDD,0,"DEL")),DUZ(0)[^DD(DJDD,0,"DEL") G KILL
 +7        if $PIECE(DJJ(V),U,3)'=.01
               GOTO KILL
           if '$DATA(^DIC(DJDD,0,"DEL"))
               GOTO KILL
           if DUZ(0)="@"
               GOTO KILL
           IF $DATA(^DIC(DJDD,0,"DEL"))
               if DUZ(0)[^("DEL")
                   GOTO KILL
 +8        XECUTE DJCL
           WRITE *7,@DJHIN,"NOT ALLOWED TO DELETE",@DJLIN
           SET X=V(V)
           GOTO HALT
KILL       IF $DATA(^DD(DJDD,DJAT,8.5))
               IF DUZ(0)'[^(8.5)
                   IF DUZ(0)'="@"
                       XECUTE DJCL
                       WRITE *7,@DJHIN,"NOT ALLOWED TO DELETE",@DJLIN
                       SET X=V(V)
                       GOTO HALT
ILL        IF DJ4["R"
               IF $PIECE(DJJ(V),U,3)'=.01
                   XECUTE DJCL
                   WRITE *7,@DJHIN,"REQUIRED <NOTHING DELETED>",@DJLIN
                   SET X=V(V)
                   GOTO HALT
 +1        if $PIECE(DJJ(V),U,3)'=.01
               GOTO N
           XECUTE DJCL
           WRITE *7,"SURE YOU WANT TO DELETE?: NO//"
           READ X:DTIME
           IF X["Y"
               XECUTE DJCP
               SET DY=22
               SET DX=0
               XECUTE XY
               WRITE @DJEOP
               SET DIE=DIC
               SET DR=".01///@"
               DO ^DIE
               if '$DATA(DA)
                   GOTO K
               SET X=V(V)
               GOTO HALT
 +2        SET X=V(V)
           GOTO HALT
N          XECUTE DJCP
           XECUTE DJCL
           WRITE *7,"SURE YOU WANT TO DELETE?: NO//"
           READ X:DTIME
           IF X["Y"
               XECUTE DJCP
               SET DY=22
               SET DX=0
               XECUTE XY
               WRITE @DJEOP
               SET DIE=DIC
               SET DR=DJAT_"///@"
               DO ^DIE
               SET X=$SELECT(X'="":V(V),1:"@")
               QUIT 
 +1        SET X=V(V)
           QUIT 
NXT        SET DJNN=$ORDER(^DD(DJDD,DJAT,DJNN))
           if DJNN=""
               QUIT 
           IF $DATA(^(DJNN,2))
               SET X=V(V)
               XECUTE ^(2)
               SET X="@"
               GOTO NXT
 +1        KILL DJDN
           QUIT 
K          IF DJDPL'="DJ.DEF2"
               KILL V
               SET V=0
               GOTO K1
 +1        SET V=5.9
           FOR DJK=6:1:25
               KILL V(DJK)
K1         FOR DJK=0:0
               SET V=$ORDER(DJJ(V))
               if V=""
                   QUIT 
               SET @$PIECE(DJJ(V),U,2)
               XECUTE XY
               SET $PIECE(DJDB,".",DJJ(V))="."
               WRITE DJDB
               KILL DJDB
 +1        SET V=0
           SET X="@"
           KILL DJDN,DJK
           QUIT 
HALT       IF $DATA(^ENG(6910.9,DJN,1,$ORDER(^ENG(6910.9,DJN,1,"A",V,0)),2))
               READ " Carriage return to continue",DJX:DTIME
               QUIT