1 | DDBR3 ;SFISC/DCL-SELECT FILE & WP FIELD TO BROWSE ;NOV 04, 1996@13:48
|
---|
2 | ;;22.0;VA FileMan;;Mar 30, 1999
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | LIST(DDBLIST) ;DDBLIST=Target array for file number,ien,field,...
|
---|
5 | S DDBLIST=-1 ;no selection
|
---|
6 | EN ;
|
---|
7 | N %,%H,%ZISOS,A,D,D0,D1,DA,DDBB,DDBDDF,DDBDIC,DDBFRCD,DDBIEN,DDBRCR,DDBX,DIC,DICS,DIW,DIWF,DIWL,DIWR,DIWT,DK,DL,DN,DX,I,POP,S,X,Y
|
---|
8 | ;S DIC=1,DIC(0)="AEMQ" D ^DIC Q:+Y'>0 ;Select file
|
---|
9 | D ^DICRW Q:Y'>0
|
---|
10 | S DIC="^DD("_+Y_",",DIC(0)="AEMQ"
|
---|
11 | M S DIC("W")="I $P(^(0),U,2) W $S($P(^DD(+$P(^(0),U,2),.01,0),U,2)[""W"":"" (word-processing)"",1:"" (multiple)"")"
|
---|
12 | S DIC("S")="I $P(^(0),U,2)"
|
---|
13 | D ^DIC I +Y'>0,$D(@(DIC_"0,""UP"")")) S DIC="^DD("_+^("UP")_"," G M ;Select field/back out of multiples
|
---|
14 | Q:+Y'>0
|
---|
15 | I $P(@(DIC_+Y_",0)"),U,2) S DIC="^DD("_+$P(^(0),U,2)_",",Y=.01 G D:$P(^DD(+$P(^(0),U,2),.01,0),U,2)["W",M
|
---|
16 | D ;
|
---|
17 | K DIC("S")
|
---|
18 | S DDBDIC=$$UP^DIQGU(+$P(DIC,"^DD(",2),.DDBDIC),(DDBX,DDBIEN)=""
|
---|
19 | S DDBFRCD=$$GET^DIQGDD(DDBDIC,"","NAME")_":[",DDBB=0
|
---|
20 | F S DDBX=$O(DDBDIC(DDBX)) Q:DDBX'<0 D Q:$G(Y)'>0
|
---|
21 | .K DA D IEN(","_DDBIEN,.DA)
|
---|
22 | .S DIC=$$ROOT^DIQGU(+DDBDIC(DDBX),","_DDBIEN),DIC(0)="AEMQ" Q:DIC']""
|
---|
23 | .S DDBRCR=$$CREF^DILF(DIC)
|
---|
24 | .I $P($G(@DDBRCR@(0)),U,4)'>0 D K DDBIEN Q
|
---|
25 | ..W $C(7),!!,"No Records at "_$S(DDBDIC=+DDBDIC(DDBX):"FILE",1:$P(^DD(+DDBDIC(DDBX),.01,0),U))_" Level.",!
|
---|
26 | ..Q
|
---|
27 | .D ^DIC I Y'>0 K DDBIEN Q
|
---|
28 | .S DDBIEN=+Y_","_DDBIEN
|
---|
29 | .S DDBFRCD=DDBFRCD_$S(DDBB:"\",1:"")_$$GET^DIQG(+DDBDIC(DDBX),DDBIEN,.01),DDBB=1
|
---|
30 | .K DA D IEN(DDBIEN,.DA)
|
---|
31 | .Q
|
---|
32 | DISP ;
|
---|
33 | S DDBDDF=$O(^DD(+DDBDIC(-1),"SB",+DDBDIC(0),"")) Q:'DDBDDF
|
---|
34 | S DDBFRCD=DDBFRCD_"] (wp): "_$P(^DD(DDBDIC(0),.01,0),"^")
|
---|
35 | I $D(DDBIEN) D Q
|
---|
36 | .N DDBX S DDBX=$P($$GET^DIQG(+DDBDIC(-1),DDBIEN,DDBDDF,"B"),"$CREF$",2)
|
---|
37 | .S DDBLIST=$D(@DDBX)
|
---|
38 | .S DDBLIST(1)=+DDBDIC(-1)
|
---|
39 | .S DDBLIST(2)=DDBIEN
|
---|
40 | .S DDBLIST(3)=DDBDDF
|
---|
41 | .S DDBLIST(4)="N"
|
---|
42 | .S DDBLIST(5)=DDBFRCD
|
---|
43 | .S DDBLIST(6)=DDBX
|
---|
44 | .Q
|
---|
45 | Q
|
---|
46 | IEN(IEN,DA) S DA=$P(IEN,",") N I F I=2:1 Q:$P(IEN,",",I)="" S DA(I-1)=$P(IEN,",",I)
|
---|
47 | Q
|
---|