ENJINQ ;(WASH ISC)/JA/TJK-Help Processor (Screens) ;3-6-92
;;7.0;ENGINEERING;;Aug 17, 1993
S D=""
A S DJX="" X:$Y<16 DJCP
I DJ4["R" W "**REQUIRED**",*7
;ADDITIONAL HELP
S:'$D(X) X=DJXX G:X'="??" F G:'$D(^DD(DJDD,DJAT,21,0)) F G:'$P(^(0),U,4) F
S DJZ1=0,DIWL=0,DIWR=79,DIWF="" K ^UTILITY($J,"W")
S DJXX=X F DJK=1:1 S DJZ1=$O(^DD(DJDD,DJAT,21,DJZ1)) Q:DJZ1="" S X=^(DJZ1,0) D ^DIWP
S DJZ1=0 F DJK=1:1 S DJZ1=$O(^UTILITY($J,"W",DIWL,DJZ1)) Q:DJZ1="" D:$Y>21 HLD Q:DJX[U W !,^(DJZ1,0)
D HLD K DJZ1,DJK,^UTILITY($J,"W",DIWL),DIWL,DIWR,DIWF S X=DJXX G:DJX'[U F Q
HLD W !,"Type <CR> to continue, uparrow to exit: " R DJX:DTIME X DJCP W ! Q
CONT R !,"Repaint screen (Y/N): N//",DJX:DTIME I DJX["?" W !,*7,"Please enter 'Y'es or 'N'o." G CONT
X DJCP Q:DJX=""!("Yy"'[$E(DJX)) S DJSV=V N DJ0 D N^ENJDPL S V=DJSV Q
F D:$Y>19 HLD Q:DJX[U I $D(^DD(DJDD,DJAT,3)),^(3)]"" W !,^(3) D HLD Q:DJX[U
I $D(^DD(DJDD,DJAT,4)) W ! X ^(4)
I DJ4["S",DJ4'["M" D:$Y>21 CONT Q:DJX[U W !,"CHOOSE FROM:" S DJS=$P(^DD(DJDD,DJAT,0),U,3) F DJK=1:1 S Y=$P(DJS,";",DJK) Q:Y="" S Y="'"_$P(Y,":",1)_"' FOR "_$P(Y,":",2) W !,Y
; D DCS^ENJ
I DJ4["P" K DIC("S") S DJDIC=DIC,DJD0=D0,DIC(0)=$S(DJ4["'":"MEQZ",1:"MEQZL"),DIC=+$P(DJ4,"P",2) X DJCP X:$P(^DD(DJDD,DJAT,0),U,2)["*" ^(12.1) D ^DIC K DIC D CONT S DIC=DJDIC,D0=DJD0 G:Y<0 R1 S V(V)=$E(Y(0,0),1,+DJJ(V)) G P1
I DJ4["D" S:'$D(%DT) %DT="E" D HELP
K DJS,DJZ1 I $Y>23 D CONT Q
D CONT S @$P(DJJ(V),U,2) X XY W V(V) Q
P ; D DCS^ENJ
K DIC("S") S DJDIC=DIC,DJD0=D0,DIC(0)=$S(DJ4["'":"MEQZ",1:"MEQZL"),DIC=+$P(DJ4,"P",2) X DJCP W X X:$P(^DD(DJDD,DJAT,0),U,2)["*" ^(12.1) D ^DIC K DIC S:+Y>0 V(V)=$E(Y(0,0),1,+DJJ(V)),DIC=DJDIC,D0=DJD0 D CONT G:Y<0 R1
P1 ;
S X=+Y,(DIE,DIC)=DJDIC,DA=DJDN,DR=DJ3_"////"_X X DJCP W ! D ^DIE S D0=DJD0 D PP S V(V)=$E(V(V),1,+DJJ(V)) X:$D(^ENG(6910.9,DJN,1,$O(^ENG(6910.9,DJN,1,"A",V,0)),1)) ^(1)
I $Y>23 S DJZ=V D N^ENJDPL S V=DJZ Q
S DY=17,DX=0 X XY W @DJEOP S @$P(DJJ(V),U,2) X XY W @DJHIN X XY W V(V),@DJLIN Q
R1 S DIC=DJDIC
S @$P(DJJ(V),U,2) X XY W:$D(V(V)) @DJHIN W:$D(V(V)) V(V) X XY Q
FUNC ;COMMAND DISPLAY FOR PROGRAM DJINJ
X DJCP
W @DJHIN X XY W "COMMANDS",@DJLIN,!
W "^ -- Quit",?41,"@ -- Delete data"
W !,"^nn -- Go to the 'nn' statement",?41,"CR -- Go to the next statement"
W !,"^C -- Command menu display",?41,"< -- Go to previous statement"
W !,"^N -- New Record",?41,"?? -- For more information about field"
W !," -- Space bar, recall previous answer",?41," ? -- Information about field"
W !,"^D -- Down page",?41,"^U -- Up page"
W !,"Note: (C)omputed, (M)ultiple, (W)ord processing, (R)ead only"
H 5 ;Prevent premature erasure
Q
FUNC2 ;COMMAND DISPLAY
X DJCP
W @DJHIN X XY W "COMMANDS",@DJLIN,!
W "^ -- Quit",?41,"^nn -- Go to the 'nn' statement"
W !,"@ -- delete data",?41,"CR -- Go to the next statement"
W !," -- Space bar, recall previous record",?41,"< -- Go to previous statement"
W !,"? -- Help prompt",?41,"?? -- For more information about field"
W !,"^C -- Command menu display",?41,"^N -- Next record"
W !,"^L -- List current elements"
W !,"Note: (C)omputed, (M)ultiple, (W)ord processing, (R)ead only"
Q
HELP ;
D:$Y>21 R W !,"EXAMPLES OF VALID DATES:"
D:$Y>21 R W !," JAN 22 1957 or 22 JAN 57 or 1/22/57 or 012257"
D:$Y>21 R W !," T (FOR TODAY), T+1 (FOR TOMORROW), T+2, T+7, etc."," T-1 (FOR YESTERDAY)"
D:$Y>21 R W !," T-3W (3 WEEKS AGO), etc."
D:$Y>21 R W !,"IF THE YEAR IS OMITTED, THE COMPUTER USES THE CURRENT YEAR",!
D:$Y>21 R I %DT'["X" W "YOU MAY OMIT THE PRECISE DAY, AS: JAN, 1957",!
D:$Y>21 R I %DT["T" W "FOLLOW DATE WITH TIME, AS: JAN 22@10, T@10PM, ETC."
Q
R X DJCL W "Type <CR> to continue" R DJX:10 X DJCP
PP ;
S DJZ=+$P($P(^DD(DJDD,DJAT,0),"^",2),"P",2) Q:$P(^DD(DJZ,.01,0),"^",2)'["P"
P11 I $D(@("^"_$P(^DD(DJZ,.01,0),U,3)_"V(V),0)")) S V(V)=$P(^(0),U,1)
S DJZ=+$P($P(^DD(DJZ,.01,0),"^",2),"P",2) Q:$P(^DD(DJZ,.01,0),"^",2)'["P" G P11
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HENJINQ 3970 printed Dec 13, 2024@01:54:08 Page 2
ENJINQ ;(WASH ISC)/JA/TJK-Help Processor (Screens) ;3-6-92
+1 ;;7.0;ENGINEERING;;Aug 17, 1993
+2 SET D=""
A SET DJX=""
if $Y<16
XECUTE DJCP
+1 IF DJ4["R"
WRITE "**REQUIRED**",*7
+2 ;ADDITIONAL HELP
+3 if '$DATA(X)
SET X=DJXX
if X'="??"
GOTO F
if '$DATA(^DD(DJDD,DJAT,21,0))
GOTO F
if '$PIECE(^(0),U,4)
GOTO F
+4 SET DJZ1=0
SET DIWL=0
SET DIWR=79
SET DIWF=""
KILL ^UTILITY($JOB,"W")
+5 SET DJXX=X
FOR DJK=1:1
SET DJZ1=$ORDER(^DD(DJDD,DJAT,21,DJZ1))
if DJZ1=""
QUIT
SET X=^(DJZ1,0)
DO ^DIWP
+6 SET DJZ1=0
FOR DJK=1:1
SET DJZ1=$ORDER(^UTILITY($JOB,"W",DIWL,DJZ1))
if DJZ1=""
QUIT
if $Y>21
DO HLD
if DJX[U
QUIT
WRITE !,^(DJZ1,0)
+7 DO HLD
KILL DJZ1,DJK,^UTILITY($JOB,"W",DIWL),DIWL,DIWR,DIWF
SET X=DJXX
if DJX'[U
GOTO F
QUIT
HLD WRITE !,"Type <CR> to continue, uparrow to exit: "
READ DJX:DTIME
XECUTE DJCP
WRITE !
QUIT
CONT READ !,"Repaint screen (Y/N): N//",DJX:DTIME
IF DJX["?"
WRITE !,*7,"Please enter 'Y'es or 'N'o."
GOTO CONT
+1 XECUTE DJCP
if DJX=""!("Yy"'[$EXTRACT(DJX))
QUIT
SET DJSV=V
NEW DJ0
DO N^ENJDPL
SET V=DJSV
QUIT
F if $Y>19
DO HLD
if DJX[U
QUIT
IF $DATA(^DD(DJDD,DJAT,3))
IF ^(3)]""
WRITE !,^(3)
DO HLD
if DJX[U
QUIT
+1 IF $DATA(^DD(DJDD,DJAT,4))
WRITE !
XECUTE ^(4)
+2 IF DJ4["S"
IF DJ4'["M"
if $Y>21
DO CONT
if DJX[U
QUIT
WRITE !,"CHOOSE FROM:"
SET DJS=$PIECE(^DD(DJDD,DJAT,0),U,3)
FOR DJK=1:1
SET Y=$PIECE(DJS,";",DJK)
if Y=""
QUIT
SET Y="'"_$PIECE(Y,":",1)_"' FOR "_$PIECE(Y,":",2)
WRITE !,Y
+3 ; D DCS^ENJ
+4 IF DJ4["P"
KILL DIC("S")
SET DJDIC=DIC
SET DJD0=D0
SET DIC(0)=$SELECT(DJ4["'":"MEQZ",1:"MEQZL")
SET DIC=+$PIECE(DJ4,"P",2)
XECUTE DJCP
if $PIECE(^DD(DJDD,DJAT,0),U,2)["*"
XECUTE ^(12.1)
DO ^DIC
KILL DIC
DO CONT
SET DIC=DJDIC
SET D0=DJD0
if Y<0
GOTO R1
SET V(V)=$EXTRACT(Y(0,0),1,+DJJ(V))
GOTO P1
+5 IF DJ4["D"
if '$DATA(%DT)
SET %DT="E"
DO HELP
+6 KILL DJS,DJZ1
IF $Y>23
DO CONT
QUIT
+7 DO CONT
SET @$PIECE(DJJ(V),U,2)
XECUTE XY
WRITE V(V)
QUIT
P ; D DCS^ENJ
+1 KILL DIC("S")
SET DJDIC=DIC
SET DJD0=D0
SET DIC(0)=$SELECT(DJ4["'":"MEQZ",1:"MEQZL")
SET DIC=+$PIECE(DJ4,"P",2)
XECUTE DJCP
WRITE X
if $PIECE(^DD(DJDD,DJAT,0),U,2)["*"
XECUTE ^(12.1)
DO ^DIC
KILL DIC
if +Y>0
SET V(V)=$EXTRACT(Y(0,0),1,+DJJ(V))
SET DIC=DJDIC
SET D0=DJD0
DO CONT
if Y<0
GOTO R1
P1 ;
+1 SET X=+Y
SET (DIE,DIC)=DJDIC
SET DA=DJDN
SET DR=DJ3_"////"_X
XECUTE DJCP
WRITE !
DO ^DIE
SET D0=DJD0
DO PP
SET V(V)=$EXTRACT(V(V),1,+DJJ(V))
if $DATA(^ENG(6910.9,DJN,1,$ORDER(^ENG(6910.9,DJN,1,"A",V,0)),1))
XECUTE ^(1)
+2 IF $Y>23
SET DJZ=V
DO N^ENJDPL
SET V=DJZ
QUIT
+3 SET DY=17
SET DX=0
XECUTE XY
WRITE @DJEOP
SET @$PIECE(DJJ(V),U,2)
XECUTE XY
WRITE @DJHIN
XECUTE XY
WRITE V(V),@DJLIN
QUIT
R1 SET DIC=DJDIC
+1 SET @$PIECE(DJJ(V),U,2)
XECUTE XY
if $DATA(V(V))
WRITE @DJHIN
if $DATA(V(V))
WRITE V(V)
XECUTE XY
QUIT
FUNC ;COMMAND DISPLAY FOR PROGRAM DJINJ
+1 XECUTE DJCP
+2 WRITE @DJHIN
XECUTE XY
WRITE "COMMANDS",@DJLIN,!
+3 WRITE "^ -- Quit",?41,"@ -- Delete data"
+4 WRITE !,"^nn -- Go to the 'nn' statement",?41,"CR -- Go to the next statement"
+5 WRITE !,"^C -- Command menu display",?41,"< -- Go to previous statement"
+6 WRITE !,"^N -- New Record",?41,"?? -- For more information about field"
+7 WRITE !," -- Space bar, recall previous answer",?41," ? -- Information about field"
+8 WRITE !,"^D -- Down page",?41,"^U -- Up page"
+9 WRITE !,"Note: (C)omputed, (M)ultiple, (W)ord processing, (R)ead only"
+10 ;Prevent premature erasure
HANG 5
+11 QUIT
FUNC2 ;COMMAND DISPLAY
+1 XECUTE DJCP
+2 WRITE @DJHIN
XECUTE XY
WRITE "COMMANDS",@DJLIN,!
+3 WRITE "^ -- Quit",?41,"^nn -- Go to the 'nn' statement"
+4 WRITE !,"@ -- delete data",?41,"CR -- Go to the next statement"
+5 WRITE !," -- Space bar, recall previous record",?41,"< -- Go to previous statement"
+6 WRITE !,"? -- Help prompt",?41,"?? -- For more information about field"
+7 WRITE !,"^C -- Command menu display",?41,"^N -- Next record"
+8 WRITE !,"^L -- List current elements"
+9 WRITE !,"Note: (C)omputed, (M)ultiple, (W)ord processing, (R)ead only"
+10 QUIT
HELP ;
+1 if $Y>21
DO R
WRITE !,"EXAMPLES OF VALID DATES:"
+2 if $Y>21
DO R
WRITE !," JAN 22 1957 or 22 JAN 57 or 1/22/57 or 012257"
+3 if $Y>21
DO R
WRITE !," T (FOR TODAY), T+1 (FOR TOMORROW), T+2, T+7, etc."," T-1 (FOR YESTERDAY)"
+4 if $Y>21
DO R
WRITE !," T-3W (3 WEEKS AGO), etc."
+5 if $Y>21
DO R
WRITE !,"IF THE YEAR IS OMITTED, THE COMPUTER USES THE CURRENT YEAR",!
+6 if $Y>21
DO R
IF %DT'["X"
WRITE "YOU MAY OMIT THE PRECISE DAY, AS: JAN, 1957",!
+7 if $Y>21
DO R
IF %DT["T"
WRITE "FOLLOW DATE WITH TIME, AS: JAN 22@10, T@10PM, ETC."
+8 QUIT
R XECUTE DJCL
WRITE "Type <CR> to continue"
READ DJX:10
XECUTE DJCP
PP ;
+1 SET DJZ=+$PIECE($PIECE(^DD(DJDD,DJAT,0),"^",2),"P",2)
if $PIECE(^DD(DJZ,.01,0),"^",2)'["P"
QUIT
P11 IF $DATA(@("^"_$PIECE(^DD(DJZ,.01,0),U,3)_"V(V),0)"))
SET V(V)=$PIECE(^(0),U,1)
+1 SET DJZ=+$PIECE($PIECE(^DD(DJZ,.01,0),"^",2),"P",2)
if $PIECE(^DD(DJZ,.01,0),"^",2)'["P"
QUIT
GOTO P11