A4A7B0 ;NEW PERSON 3/6/16/20 LOCATOR EXTENSION ;4/16/96 10:35
;;1.01;NEW PERSON;**9**;2/9/96
K ^UTILITY("A4A7B") S ^UTILITY("A4A7B","RUN")="RUN"
S ^UTILITY("A4A7B","CKPT")="DATADIC^1.99999"
NODE S A4A7B("NODE",2)="OUTP",A4A7B("NODE",4)="EXEH",A4A7B("NODE",7.5)="UINP",A4A7B("NODE","AX")="AUD",A4A7B("NODE","DEL")="DEL",A4A7B("NODE","LAYGO")="LAYG",A4A7B("NODE",1)="CR",A4A7B("NODE",12.1)="SCR"
S A4A7B("NODE",9)="C"
S A4A7B("IND",3)="^DD(A4A7B(""A""),A4A7B(""B""),A4A7B(""C""))",A4A7B("IND",4)="^DD(A4A7B(""A""),A4A7B(""B""),A4A7B(""C""),A4A7B(""D""))",A4A7B("IND",5)="^DD(A4A7B(""A""),A4A7B(""B""),A4A7B(""C""),A4A7B(""D""),A4A7B(""E""))"
Q
PARTIAL ;
R !!,"Partial or All (A or P) default A // ",ANS:DTIME W ! Q:'$T Q:ANS="^" S ANS=$E(ANS) S:ANS="" ANS="A" G:"AP"'[ANS PARTIAL G TASK:ANS="A" K ANS
SECTION ;
R !!,"Which section? (Data Dictionary (D) Routines (R)",!," or templates/forms/blocks (O) //",ANS:DTIME W ! Q:'$T Q:ANS="" Q:ANS="^" S ANS=$E(ANS) G:"DRO"'[ANS SECTION S A4A7B("PARTIAL")=ANS K ANS
DATADIC ;
I A4A7B("PARTIAL")="D" R !!,"Please enter start and end file numbers in the form (start,end) // ",ANS:DTIME W ! Q:'$T Q:ANS="" Q:ANS="^"
I A4A7B("PARTIAL")="D" S A4A7B("START")=+$P(ANS,",")-.00000001,A4A7B("STOP")=+$P(ANS,",",2)-.0000000001 G:A4A7B("START")<1.99 DATADIC K ANS
I A4A7B("PARTIAL")="D" G:A4A7B("STOP")<A4A7B("START") DATADIC S ^UTILITY("A4A7B","SECTION")="DATADIC"_"^"_A4A7B("START")_"^"_A4A7B("STOP")
ROU ;
I A4A7B("PARTIAL")="R" R !!,"FOR WHICH SINGLE LETTER RANGE (CAPS ONLY) // ",ANS:DTIME W ! Q:'$T Q:ANS="" Q:ANS="^" S ANS=$E(ANS),X="ABCDEFGHIJKLMNOPQRSTUVWXYZ" G:X'[ANS ROU S ^UTILITY("A4A7B","SECTION")="ROU"_"^"_($F(X,ANS)+1)
I A4A7B("PARTIAL")="R" S ^UTILITY("A4A7B","CKPT")=^UTILITY("A4A7B","SECTION") K ANS
DIE ;
I A4A7B("PARTIAL")="O" R !!,"SELECT INPUT TEMPLATES (I), SORT TEMPLATES (S), PRINT TEMPLATE (P),",!,"FUNCTIONS (F), FORMS (A), BLOCKS (B) (CAPS ONLY) // ",ANS:DTIME W ! Q:'$T Q:ANS="^" Q:ANS="" S ANS=$E(ANS) G:"ISPFAB"'[ANS DIE
I A4A7B("PARTIAL")="O" S ^UTILITY("A4A7B","SECTION")="DIE^"_$S(ANS="I":"DIE(0)",ANS="S":"DIBT(0)",ANS="P":"DIPT(0)",ANS="F":"DD(""FUNC"",0)",ANS="A":"DIST(.403,0)",1:"DIST(.404,0)") K ANS
S ^UTILITY("A4A7B","CKPT")=^UTILITY("A4A7B","SECTION")
D @($P(^UTILITY("A4A7B","CKPT"),"^")_"^A4A7B"),Q^A4A7B
Q
TASK ;
R !!,"TASK THE COMPLETE SEARCH? Y/N (CAPS ONLY) // ",ANS:DTIME W ! Q:'$T Q:ANS="^" Q:ANS="" S ANS=$E(ANS) G:"YN"'[ANS TASK I ANS="N" K ANS Q
G TASK^A4A7B
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HA4A7B0 2513 printed Nov 22, 2024@17:12:25 Page 2
A4A7B0 ;NEW PERSON 3/6/16/20 LOCATOR EXTENSION ;4/16/96 10:35
+1 ;;1.01;NEW PERSON;**9**;2/9/96
+2 KILL ^UTILITY("A4A7B")
SET ^UTILITY("A4A7B","RUN")="RUN"
+3 SET ^UTILITY("A4A7B","CKPT")="DATADIC^1.99999"
NODE SET A4A7B("NODE",2)="OUTP"
SET A4A7B("NODE",4)="EXEH"
SET A4A7B("NODE",7.5)="UINP"
SET A4A7B("NODE","AX")="AUD"
SET A4A7B("NODE","DEL")="DEL"
SET A4A7B("NODE","LAYGO")="LAYG"
SET A4A7B("NODE",1)="CR"
SET A4A7B("NODE",12.1)="SCR"
+1 SET A4A7B("NODE",9)="C"
+2 SET A4A7B("IND",3)="^DD(A4A7B(""A""),A4A7B(""B""),A4A7B(""C""))"
SET A4A7B("IND",4)="^DD(A4A7B(""A""),A4A7B(""B""),A4A7B(""C""),A4A7B(""D""))"
SET A4A7B("IND",5)="^DD(A4A7B(""A""),A4A7B(""B""),A4A7B(""C""),A4A7B(""D""),A4A7B(""E""))"
+3 QUIT
PARTIAL ;
+1 READ !!,"Partial or All (A or P) default A // ",ANS:DTIME
WRITE !
if '$TEST
QUIT
if ANS="^"
QUIT
SET ANS=$EXTRACT(ANS)
if ANS=""
SET ANS="A"
if "AP"'[ANS
GOTO PARTIAL
if ANS="A"
GOTO TASK
KILL ANS
SECTION ;
+1 READ !!,"Which section? (Data Dictionary (D) Routines (R)",!," or templates/forms/blocks (O) //",ANS:DTIME
WRITE !
if '$TEST
QUIT
if ANS=""
QUIT
if ANS="^"
QUIT
SET ANS=$EXTRACT(ANS)
if "DRO"'[ANS
GOTO SECTION
SET A4A7B("PARTIAL")=ANS
KILL ANS
DATADIC ;
+1 IF A4A7B("PARTIAL")="D"
READ !!,"Please enter start and end file numbers in the form (start,end) // ",ANS:DTIME
WRITE !
if '$TEST
QUIT
if ANS=""
QUIT
if ANS="^"
QUIT
+2 IF A4A7B("PARTIAL")="D"
SET A4A7B("START")=+$PIECE(ANS,",")-.00000001
SET A4A7B("STOP")=+$PIECE(ANS,",",2)-.0000000001
if A4A7B("START")<1.99
GOTO DATADIC
KILL ANS
+3 IF A4A7B("PARTIAL")="D"
if A4A7B("STOP")<A4A7B("START")
GOTO DATADIC
SET ^UTILITY("A4A7B","SECTION")="DATADIC"_"^"_A4A7B("START")_"^"_A4A7B("STOP")
ROU ;
+1 IF A4A7B("PARTIAL")="R"
READ !!,"FOR WHICH SINGLE LETTER RANGE (CAPS ONLY) // ",ANS:DTIME
WRITE !
if '$TEST
QUIT
if ANS=""
QUIT
if ANS="^"
QUIT
SET ANS=$EXTRACT(ANS)
SET X="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
if X'[ANS
GOTO ROU
SET ^UTILITY("A4A7B","SECTION")="ROU"_"^"_($FIND(X,ANS)+1)
+2 IF A4A7B("PARTIAL")="R"
SET ^UTILITY("A4A7B","CKPT")=^UTILITY("A4A7B","SECTION")
KILL ANS
DIE ;
+1 IF A4A7B("PARTIAL")="O"
READ !!,"SELECT INPUT TEMPLATES (I), SORT TEMPLATES (S), PRINT TEMPLATE (P),",!,"FUNCTIONS (F), FORMS (A), BLOCKS (B) (CAPS ONLY) // ",ANS:DTIME
WRITE !
if '$TEST
QUIT
if ANS="^"
QUIT
if ANS=""
QUIT
SET ANS=$EXTRACT(ANS)
if "ISPFAB"'[ANS
GOTO DIE
+2 IF A4A7B("PARTIAL")="O"
SET ^UTILITY("A4A7B","SECTION")="DIE^"_$SELECT(ANS="I":"DIE(0)",ANS="S":"DIBT(0)",ANS="P":"DIPT(0)",ANS="F":"DD(""FUNC"",0)",ANS="A":"DIST(.403,0)",1:"DIST(.404,0)")
KILL ANS
+3 SET ^UTILITY("A4A7B","CKPT")=^UTILITY("A4A7B","SECTION")
+4 DO @($PIECE(^UTILITY("A4A7B","CKPT"),"^")_"^A4A7B")
DO Q^A4A7B
+5 QUIT
TASK ;
+1 READ !!,"TASK THE COMPLETE SEARCH? Y/N (CAPS ONLY) // ",ANS:DTIME
WRITE !
if '$TEST
QUIT
if ANS="^"
QUIT
if ANS=""
QUIT
SET ANS=$EXTRACT(ANS)
if "YN"'[ANS
GOTO TASK
IF ANS="N"
KILL ANS
QUIT
+2 GOTO TASK^A4A7B
+3 QUIT