Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: INHSZ51

INHSZ51.m

Go to the documentation of this file.
  1. INHSZ51 ;JSH; 3 Feb 92 08:28;Interface - INHSZ5 continued ; 11 Nov 91 6:42 AM
  1. ;;3.01;BHL IHS Interfaces with GIS;;JUL 01, 2001
  1. ;COPYRIGHT 1991-2000 SAIC
  1. ;
  1. L G L^INHSZ1
  1. ;
  1. LAYGO ;Create new entry
  1. D DOWN^INHSZ1("")
  1. S A=" K DA F I=1:1:MULT S DA(I)=INDA(I)" D L
  1. S A=" K DO,DIC "_$S(MULT:"S DIC(""P"")="""_MULT0_""" ",1:"")_"S DIC=""^"_$$REPLACE^UTIL($P(FILE,U,2,99),"""","""""")_""",DIC(0)=""L""" D L
  1. I MULT,MULT0["P" S A=" I $D(@INV@(""IDENT.001"")) S X=@INV@(""IDENT.001""),DLAYGO="_+MULT0_" D ^DICN S INDA=+Y,INLAYGO=1" D L
  1. S A=" S X=""""""""_IDENT_"""""""" D ^DIC S INDA=+Y,INLAYGO=1"
  1. I MULT,MULT0["P" S A=" I '$D(@INV@(""IDENT.001"")) "_$E(A,2,999)
  1. D L,UP^INHSZ1 Q
  1. ;
  1. REPEAT ;Initiate a REPEAT block
  1. I REPEAT D ERROR^INHSZ0("Cannot nest REPEAT commands",1) Q
  1. Q:'$$SYNTAX^INHSZ0($P(LINE,COMM,2,99),"1."" ""1.ANP")
  1. N V
  1. S V=$$LBTB^UTIL($P(LINE,COMM,2,99))
  1. I '$D(DICOMPX(V)) D ERROR^INHSZ0("Unknown identifying variable: "_V,1) Q
  1. I '$D(LVARS(V)) D ERROR^INHSZ0("Repeat variable was not created in a loop. It cannot function as the control variable for a REPEAT command.",1) Q
  1. S A=" ;"_LINE D L
  1. RLB ;Build repeating loop
  1. S SLVL=SLVL+1
  1. N V1 S V1=$$VEXP(V)
  1. S A=" S INI("_SLVL_")=0 F Q:'$O("_V1_") S INI("_SLVL_")=$O("_V1_") D" D L,DOWN^INHSZ1("R")
  1. S A=" N INLAYGO,MDESC,DIPA,FIELD S INI=INI("_SLVL_"),INDA=0,IDENT=$G("_V1_"),MDESC(2)="" .01 = ""_IDENT" D L S MCNT=2,LPARAM=""
  1. S (REPEAT1,REPEAT,IDENT)=1 Q
  1. ;
  1. VEXP(V,Q) ;Return expanded variable reference using SLVL levels
  1. ;If $G(Q) then quotes will be omitted around first subscript
  1. N X,I
  1. S X=$S('$G(Q):"@INV@("""_V_"""",1:"@INV@("_V) F I=1:1:SLVL S X=X_",INI("_I_")"
  1. S X=X_")"
  1. Q X
  1. ;
  1. ENDREPEA ;End a REPEAT section
  1. I 'REPEAT D ERROR^INHSZ0("No active REPEAT command to end.",1) Q
  1. D UP^INHSZ1 S REPEAT=0,SLVL=SLVL-1
  1. Q
  1. ;
  1. TEMPLATE ;Invoke an input template
  1. I 'REPEAT D ERROR^INHSZ0("TEMPLATE command only allowed within a REPEAT block in the LOOKUP section.",1) Q
  1. I 'LOOKUP D ERROR^INHSZ0("LOOK command must precede a TEMPLATE command.",1) Q
  1. G TEMPLATE^INHSZ7
  1. ;
  1. DIPA ;Set DIPA array when not in a loop state
  1. S A=" K DIPA S I="""" F S I=$O(@INV@(I)) Q:I="""" S:$D(@INV@(I))<9 DIPA(I)=@INV@(I)" D L
  1. Q
  1. ;
  1. RDIPA ;Set the DIPA array for all script variables defined for this REPEAT value
  1. S A=" K DIPA S I="""" F S I=$O(@INV@(I)) Q:I="""" S:$D("_$$VEXP("I",1)_")#2 DIPA(I)="_$$VEXP("I",1) D L
  1. Q
  1. ;
  1. ROUTINE ;Call a routine
  1. I 'REPEAT D ERROR^INHSZ0("ROUTINE command only allowed within a REPEAT block in the LOOKUP section.",1) Q
  1. I 'LOOKUP D ERROR^INHSZ0("LOOK command must precede a ROUTINE command.",1) Q
  1. G ROUTINE^INHSZ7
  1. ;
  1. SAVE ;Save entry number into a script variable
  1. N %2
  1. S %2=$$LBTB^UTIL($P(LINE,COMM,2,99))
  1. Q:'$$SYNTAX^INHSZ0(%2,"1.ANP")
  1. D DOIT^INHSZ5
  1. S A=" S @INV@("""_%2_""")=INDA" D L S DICOMPX(%2)="$G(@INV@("""_%2_"""))"
  1. Q