source: FOIAVistA/trunk/r/VA_FILEMAN-ARJT-DI-DD-DM-DT-%DT-%RCR/DIQGDDU.m@ 1713

Last change on this file since 1713 was 628, checked in by George Lilly, 15 years ago

initial load of FOIAVistA 6/30/08 version

File size: 1.8 KB
Line 
1DIQGDDU ;SFISC/DCL-DATA DICTIONARY UTILITIES ;1:16 PM 26 Sep 1996
2 ;;22.0;VA FileMan;;Mar 30, 1999
3 ;Per VHA Directive 10-93-142, this routine should not be modified.
4 Q
5FL(DIQGFILE,DIQGFLD) ;Return field length
6 ;Short version of DIOS1
7 ;In:
8 ; DIQGFILE = file#
9 ; DIQGFLD = field#
10 ;
11 I $G(DIQGFILE)'>0 D ERR202("FILE NUMBER") Q ""
12 I $G(DIQGFLD)'>0 D ERR202("FIELD NUMBER") Q ""
13 ;
14 N DD,DIIT,DN,W
15 S DD=$G(^DD(DIQGFILE,DIQGFLD,0))
16 I DD?."^" D ERR1700("DD FOR FILE#"_DIQGFILE_", FIELD#"_DIQGFLD_" DOES NOT EXIST") Q ""
17 ;
18 S W=0,DN=$P(DD,"^",2),DIIT=$P(DD,"^",5,999)
19 ;
20 I DN S W=$$FL(+DN,.01)
21 E I DN["W" S W=""
22 E I DN["P" S W=$$FL(+$P(DN,"P",2),.01)
23 E I DN["J" S W=+$P(DN,"J",2)
24 ;
25 E I DN["S" D
26 . N C,C1,P
27 . S C=$P(DD,U,3)
28 . F P=1:1 S C1=$P(C,";",P) Q:C1="" S W=$$MAX(W,$L($P(C1,":",2)))
29 ;
30 E I DN["D" D
31 . N D
32 . S D=$P($P(DIIT,"S %DT=""",2,999),"""")
33 . S W=$S(D["S"&(D["T"):21,D["T":18,1:12)
34 ;
35 E I DN["V" D
36 . N N
37 . S N=0
38 . F S N=$O(^DD(DIQGFILE,DIQGFLD,"V",N)) Q:'N S:$G(^(N,0)) W=$$MAX(W,$$FL(+^(0),.01))
39 ;
40 E I DIIT["$L(X)>" S W=+$P(DIIT,"$L(X)>",2)
41 E S W=+$P($P($P($P(DD,"^",4),";",2),"E",2),",")
42 ;
43 S:W=0 W=30
44 Q W
45 ;
46MAX(X,Y,Z) ;Return maximum of 2 or 3 numbers
47 N M
48 S M=$S(X>Y:+X,1:+Y),M=$S(M>$G(Z):M,1:+$G(Z))
49 Q M
50 ;
51ERR202(DIQGERR) ;Error processing
52 N P S P(1)=DIQGERR
53 D BLD^DIALOG(202,.P)
54 Q
55ERR1700(DIQGERR) ;Error processing
56 N P S P(1)=DIQGERR
57 D BLD^DIALOG(1700,.P)
58 Q
59 ;
60RIF(DA,DR,DIQGETA) ;FUNCTION CALL FOR RI
61RI ;REQUIRED IDENTIFIERS - CALLED BY EN3^DIQGDD
62 ;DA=FILENR,DR="REQUIRED IDENTIFIERS",DIQGETA=TARGET_ARRAY
63 N DIQGRIA,DIQGRI,DIQGR
64 D REQIDS^DICU(DA,"DIQGRIA")
65 S DIQGRIA="",DIQGRI=0
66 F S DIQGRIA=$O(DIQGRIA(DR,DIQGRIA)) Q:DIQGRIA="" D
67 .S DIQGRI=DIQGRI+1,@DIQGETA@(DR,DIQGRI,"FIELD")=DIQGRIA
68 .Q
69 Q $S(DIQGRI:$NA(@DIQGETA@(DR)),1:"")
Note: See TracBrowser for help on using the repository browser.