1 | DDSVALM ;SFISC/MKO-PUT FOR MULTIPLES (SELECT PROMPT) ;10:45 AM 9 Sep 1994
|
---|
2 | ;;22.0;VA FileMan;;Mar 30, 1999
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | MULT ;Put multiple or wp field
|
---|
6 | N DDSVDIC,DDSVDV,DDSVND,DDSVPC,DDSVSUB
|
---|
7 | S DDSVPC=$P(DDSV0,U,4),DDSVND=$P(DDSVPC,";"),DDSVPC=$P(DDSVPC,";",2)
|
---|
8 | S DDSVSUB=+DDSV02 Q:$D(^DD(DDSVSUB,.01,0))[0
|
---|
9 | S DDSVDV=DDSVSUB_$P(^DD(DDSVSUB,.01,0),U,2),X=$P(^(0),U,3)
|
---|
10 | S DDSVDIC=DIE_DA_","""_DDSVND_""","
|
---|
11 | ;
|
---|
12 | I DDSVDV["W" D PUTWP
|
---|
13 | I DDSVDV'["W" D PUTMULT
|
---|
14 | Q
|
---|
15 | ;
|
---|
16 | PUTMULT ;Put for multiples
|
---|
17 | N DDSVRN
|
---|
18 | S DDSVRN=$S(DDSVAL="FIRST":$O(@(DDSVDIC_"0)")),DDSVAL="LAST":$O(@(DDSVDIC_""" "")"),-1),1:+$G(DDSVAL))
|
---|
19 | ;
|
---|
20 | K Y S Y="",Y(0)=""
|
---|
21 | I DDSVRN>0,$D(@(DDSVDIC_+DDSVRN_",0)"))#2 S Y(0)=$P(^(0),U) D
|
---|
22 | . I DDSVDV["O"!(DDSVDV["P")!(DDSVDV["V")!(DDSVDV["D")!(DDSVDV["S") D
|
---|
23 | .. S Y(0)=$$EXTERNAL^DILFD(DDSVSUB,.01,"",DDSVRN)
|
---|
24 | . S Y=DDSVRN
|
---|
25 | ;
|
---|
26 | S:'$D(@DDSREFT@("F"_DDP,DDSVDA,DDSFLD,"M")) ^("M")=1_DDSVDIC_U_DDSVSUB
|
---|
27 | D UPDATE^DDSVAL(DDP,DDSVDA,.DA,DDSFLD,DDSPG,.Y)
|
---|
28 | Q
|
---|
29 | ;
|
---|
30 | PUTWP ;File wp field from @DDSVAL into @DDSREFT
|
---|
31 | N DDSTMP
|
---|
32 | S DDSTMP=$NA(@DDSREFT@("F"_DDP,DDSDA))
|
---|
33 | ;
|
---|
34 | I DDSVAL]"",$D(@DDSVAL) D Q:$G(DIERR)
|
---|
35 | . D PUTWP^DIEFW($E("A",DDSPARM["A"),DDSVAL,$NA(@DDSTMP@(DDSFLD,"D")))
|
---|
36 | E K @DDSTMP@(DDSFLD,"D")
|
---|
37 | ;
|
---|
38 | S:$D(@DDSTMP@(DDSFLD,"M"))[0 ^("M")="0"_DDSVDIC_U_DDSVSUB
|
---|
39 | S:$D(@DDSTMP@("GL"))[0 ^("GL")=DIE
|
---|
40 | S (DDSCHG,@DDSTMP@(DDSFLD,"F"))=3
|
---|
41 | Q
|
---|
42 | ;
|
---|
43 | GETWP ;Merge wp field into ^TMP, return root in DDSANS
|
---|
44 | N DDSGL
|
---|
45 | S DDSGL=DIE_DA_","""_DDSVND_""","
|
---|
46 | S DDSANS=$NA(^TMP("DDSWP",$J,DDP,DDSDA,DDSFLD))
|
---|
47 | ;
|
---|
48 | K @DDSANS
|
---|
49 | M:$D(@(DDSGL_"0)"))#2 @DDSANS=@($E(DDSGL,1,$L(DDSGL)-1)_")")
|
---|
50 | Q
|
---|
51 | ;
|
---|
52 | REL(DDP,DA,DDSFLD,DDSPARM) ;Relational syntax
|
---|
53 | N DDSCD,DDSI,X
|
---|
54 | D DD^DDSPTR(DDP,DDSFLD,"",.DDSCD,"",DDSPARM["I"+1)
|
---|
55 | F DDSI=1:1:DDSCD X DDSCD(DDSI)
|
---|
56 | Q X
|
---|
57 | ;
|
---|
58 | ERR(DDSVEP) ;Print error messages
|
---|
59 | Q:'$G(DIERR)
|
---|
60 | I '$D(DDS) D MSG^DIALOG("BW") Q
|
---|
61 | N DDSVMSG
|
---|
62 | S DDSER=DIERR
|
---|
63 | D BLD^DIALOG(3031,DDSVEP,"","DDSVMSG")
|
---|
64 | D MSG^DDSMSG(DDSVMSG(1)),ERR^DDSMSG
|
---|
65 | Q
|
---|