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

DIQGDDU.m

Go to the documentation of this file.
  1. DIQGDDU ;SFISC/DCL - DATA DICTIONARY UTILITIES ;13AUG2015
  1. ;;22.2;VA FileMan;**2**;Jan 05, 2016;Build 139
  1. ;;Per VA Directive 6402, this routine should not be modified.
  1. ;;Submitted to OSEHRA 5 January 2015 by the VISTA Expertise Network.
  1. ;;Based on Medsphere Systems Corporation's MSC FileMan 1051.
  1. ;;Licensed under the terms of the Apache License, Version 2.0.
  1. ;
  1. Q
  1. FL(DIQGFILE,DIQGFLD) ;Return field length
  1. ;Short version of DIOS1
  1. ;In:
  1. ; DIQGFILE = file#
  1. ; DIQGFLD = field#
  1. ;
  1. I $G(DIQGFILE)'>0 D ERR202("FILE NUMBER") Q ""
  1. I $G(DIQGFLD)'>0 D ERR202("FIELD NUMBER") Q ""
  1. ;
  1. N DD,DIIT,DN,W
  1. S DD=$G(^DD(DIQGFILE,DIQGFLD,0))
  1. I DD?."^" D ERR1700("DD FOR FILE#"_DIQGFILE_", FIELD#"_DIQGFLD_" DOES NOT EXIST") Q ""
  1. ;
  1. S W=0,DN=$P(DD,"^",2),DIIT=$P(DD,"^",5,999)
  1. ;
  1. I DN S W=$$FL(+DN,.01)
  1. E I DN["t",$$GETPROP^DIETLIBF(DIQGFILE,DIQGFLD,"FIELD LENGTH")]"" S W=$$GETPROP^DIETLIBF(DIQGFILE,DIQGFLD,"FIELD LENGTH")
  1. E I DN["W" S W=""
  1. E I DN["P" S W=$$FL(+$P(DN,"P",2),.01)
  1. E I DN["J" S W=+$P(DN,"J",2)
  1. ;
  1. E I DN["S" D
  1. . N C,C1,P
  1. . S C=$P(DD,U,3)
  1. . F P=1:1 S C1=$P(C,";",P) Q:C1="" S W=$$MAX(W,$L($P(C1,":",2)))
  1. ;
  1. E I DN["D" D
  1. . N D
  1. . S D=$P($P(DIIT,"S %DT=""",2,999),"""")
  1. . S W=$S(D["S"&(D["T"):21,D["T":18,1:12)
  1. ;
  1. E I DN["V" D
  1. . N N
  1. . S N=0
  1. . F S N=$O(^DD(DIQGFILE,DIQGFLD,"V",N)) Q:'N S:$G(^(N,0)) W=$$MAX(W,$$FL(+^(0),.01))
  1. ;
  1. E I DIIT["$L(X)>" S W=+$P(DIIT,"$L(X)>",2)
  1. E S W=+$P($P($P($P(DD,"^",4),";",2),"E",2),",")
  1. ;
  1. S:W=0 W=30
  1. Q W
  1. ;
  1. MAX(X,Y,Z) ;Return maximum of 2 or 3 numbers
  1. N M
  1. S M=$S(X>Y:+X,1:+Y),M=$S(M>$G(Z):M,1:+$G(Z))
  1. Q M
  1. ;
  1. ERR202(DIQGERR) ;Error processing
  1. N P S P(1)=DIQGERR
  1. D BLD^DIALOG(202,.P)
  1. Q
  1. ERR1700(DIQGERR) ;Error processing
  1. N P S P(1)=DIQGERR
  1. D BLD^DIALOG(1700,.P)
  1. Q
  1. ;
  1. RIF(DA,DR,DIQGETA) ;FUNCTION CALL FOR RI
  1. RI ;REQUIRED IDENTIFIERS - CALLED BY EN3^DIQGDD
  1. ;DA=FILENR,DR="REQUIRED IDENTIFIERS",DIQGETA=TARGET_ARRAY
  1. N DIQGRIA,DIQGRI,DIQGR
  1. D REQIDS^DICU(DA,"DIQGRIA")
  1. S DIQGRIA="",DIQGRI=0
  1. F S DIQGRIA=$O(DIQGRIA(DR,DIQGRIA)) Q:DIQGRIA="" D
  1. .S DIQGRI=DIQGRI+1,@DIQGETA@(DR,DIQGRI,"FIELD")=DIQGRIA
  1. .Q
  1. Q $S(DIQGRI:$NA(@DIQGETA@(DR)),1:"")