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

DIEZ3.m

Go to the documentation of this file.
  1. DIEZ3 ;SFISC/MKO-COMPILE INPUT TEMPLATE, BUILD CODE TO CHECK KEYS ;2:54 PM 15 Jul 1999 [ 04/02/2003 8:25 AM ]
  1. ;;22.0;VA FileMan;**1001**;APR 1, 2003
  1. ;;22.0;VA FileMan;**11**;Mar 30, 1999
  1. ;Per VHA Directive 10-93-142, this routine should not be modified.
  1. ;
  1. ;In:
  1. ; DIEZKEY(uniqxref#) = count
  1. ; DQ = item # in DR string
  1. ;
  1. GETKEY(DIEZFIL,DIEZFLD,DIEZKEY,DQ) ;Build routine to check keys
  1. Q:'$D(DIEZKEY)
  1. N DIEZUI
  1. ;
  1. ;Build code to check field-level keys
  1. D L("K"_DQ_"() N DIMAXL,DIUIR,DIXR")
  1. S DIEZUI=0
  1. F S DIEZUI=$O(DIEZKEY(DIEZUI)) Q:'DIEZUI D
  1. . D BLD(DIEZFIL,DIEZFLD,DIEZUI,DQ,DIEZKEY(DIEZUI))
  1. Q
  1. ;
  1. BLD(DIEZFIL,DIEZFLD,DIEZUI,DQ,DIEZCNT) ;Get code for one index DIEZXR
  1. N DIEZMAXL,DIEZSLIS,DIEZUIR
  1. D XRINFO^DIKCU2(DIEZUI,.DIEZUIR,"",.DIEZMAXL)
  1. ;
  1. D L(" S DIXR="_DIEZUI)
  1. D L(" S @DIEZTMP@(""V"","_DIEZFIL_",DIIENS,"_DIEZFLD_",""N"")=X")
  1. D L(" N X D C"_DQ_"X"_DIEZCNT_"(""N"")")
  1. D L(" K @DIEZTMP@(""V"","_DIEZFIL_",DIIENS,"_DIEZFLD_",""N"")")
  1. D L(" S DIUIR=$NA("_DIEZUIR_") Q:'$D(@DIUIR) 1")
  1. ;
  1. I $D(DIEZMAXL) D
  1. . N ORD,X
  1. . S X="S ",ORD=0
  1. . F S ORD=$O(DIEZMAXL(ORD)) Q:'ORD D
  1. .. S X=X_"DIMAXL("_ORD_")="_DIEZMAXL(ORD)_","
  1. . I X?.E1"," D L(" "_$E(X,1,$L(X)-1))
  1. ;
  1. D L(" Q $$UNIQUE^DIE17(.X,.DA,DIUIR,""C"_DQ_"X"_DIEZCNT_U_DNM_DRN_""""_$S($D(DIEZMAXL):",.DIMAXL",1:"")_")")
  1. Q
  1. ;
  1. L(X) ;Add CODE to ^UTILITY
  1. S L=L+1,^UTILITY($J,0,L)=X,T=T+$L(X)+2
  1. Q