Annotation of freem_fileman/DDXP32.m, revision 1.1.1.1
1.1 snw 1: DDXP32 ;SFISC/DPC-CREATE EXPORT TEMPLATE (CONT) ;10/14/94 14:57
2: ;;21.0;VA FileMan;;Dec 28, 1994
3: ;Per VHA Directive 10-93-142, this routine should not be modified.
4: CAPDT ;
5: K DDXPFCAP,DDXPDT,DDXPATH N FCAP,NUMPC,C S C=","
6: F DDXPCNDX=1:1:DDXPTOTF D
7: . I DDXPNOUT(DDXPCNDX) Q
8: . S DDXPX=^TMP($J,"TIN",DDXPCNDX),DDXPTGFL=DDXPFINO,NUMPC=0 K FCAP
9: . D FLDFIND
10: . S DDXPFCAP(DDXPCNDX)=FCAP(NUMPC)
11: . F NUMPC=NUMPC-1:-1 Q:'$D(FCAP(NUMPC)) D
12: . . S DDXPFCAP(DDXPCNDX)=DDXPFCAP(DDXPCNDX)_" in "_FCAP(NUMPC)_" subfile"
13: . . Q
14: . K FCAP,NUMPC
15: . Q
16: I $D(DDXPATH) D MULTVER
17: K DDXPX,DDXPCNDX,DDXPTGFL,DDXPDD0 Q
18: FLDFIND ;
19: S NUMPC=NUMPC+1
20: I DDXPX=0 D Q
21: . S FCAP(NUMPC)="NUMBER",DDXPDT(DDXPCNDX)=4
22: . Q
23: I +DDXPX D
24: . S DDXPDD0="^DD("_DDXPTGFL_","_+DDXPX_",0)"
25: . Q
26: I DDXPX=+DDXPX D Q
27: . S FCAP(NUMPC)=$P(@DDXPDD0,U,1)
28: . S %=$P(@DDXPDD0,U,2),DDXPDT(DDXPCNDX)=$S(%["D":1,%["N":2,1:4) K %
29: . Q
30: I '+DDXPX D Q
31: . S DDXPDT(DDXPCNDX)=4
32: . I $E(DDXPX)=Q S FCAP(NUMPC)=DDXPX Q
33: . S %=$P(DDXPX,";Z;",2),%=$P(%,Q,2,99),%=$P(%,";",1),FCAP(NUMPC)=$E(%,1,($L(%)-1)) K %
34: . Q
35: MULT ;
36: S FCAP(NUMPC)=$P(@DDXPDD0,U,1)
37: S DDXPTGFL=+$P(@DDXPDD0,U,2)
38: I NUMPC=1 D
39: . N %,I,DONE S %=$P(DDXPX,C,1,$L(DDXPX,C)-1),DONE=0
40: . F I=2:1:$L(DDXPX,C) Q:DONE D
41: . . Q:+$P(%,C,I)
42: . . S %=$P(%,C,1,I-1),DONE=1
43: . . Q
44: . S DDXPATH(DDXPCNDX)=%
45: . Q
46: S DDXPX=$P(DDXPX,C,2,99)
47: G FLDFIND
48: SETFLD ;
49: S %L=$S($D(DDXPFLEN):";2///^S X=DDXPFLEN(DDXPFLD)",1:"")
50: S %F=$S($D(DDXPFFNM):";3///^S X=DDXPFFNM(DDXPFLD)",1:"")
51: S (DIC,DIE)="^DIPT("_DDXPXTNO_",100,",DA(1)=DDXPXTNO,DIC("P")=$P(^DD(.4,100,0),U,2),DIC(0)="L" K DO
52: F DDXPFLD=1:1:DDXPTOTF D
53: . I DDXPNOUT(DDXPFLD) Q
54: . S (DINUM,X)=DDXPFLD K DD D FILE^DICN
55: . S DA=DDXPFLD,DR="1////^S X=DDXPDT(DDXPFLD)"_%L_%F D ^DIE
56: . Q
57: K DIE,DIC,X,Y,DA,DR,%L,%F
58: Q
59: SETEMP ;
60: S DR="2///NOW;3///"_DUZ(0)_";4///"_DDXPFINO_";5///"_DUZ_";6///"_DUZ(0)_";8///3;105////"_DDXPFMNO S:$G(DDXPATH) DR=DR_";115///"_DDXPATH
61: S DA=DDXPXTNO,DIE="^DIPT(" D ^DIE K DIE,DA,DR
62: S %X="^DIPT("_DDXPFDTM_",""DXS"",",%Y="^DIPT("_DDXPXTNO_",""DXS""," D %XY^%RCR K %X,%Y
63: S ^DIPT(DDXPXTNO,"SUB")=1
64: S ^DIPT(DDXPXTNO,"H")="@@"
65: Q
66: MULTVER ;
67: N I,MP,LP,MPC,LPC,NOMATCH S LP="",NOMATCH=0
68: F I=1:1:DDXPTOTF D Q:NOMATCH
69: . S MP=$G(DDXPATH(I)) Q:'MP
70: . I LP=MP Q
71: . I 'LP S LP=MP Q
72: . S LPC=$L(LP,C),MPC=$L(MP,C)
73: . I LPC=MPC S NOMATCH=1 Q
74: . I LPC>MPC D Q
75: . . I MP=$P(LP,C,1,MPC) Q
76: . . S NOMATCH=1
77: . . Q
78: . I LP=$P(MP,C,1,LPC) S LP=MP Q
79: . S NOMATCH=1
80: . Q
81: I 'NOMATCH S DDXPATH=LP Q
82: W !!,$C(7),"The "_DDXPFDNM_" template has fields in more than one multiple path."
83: W !,"Therefore, export of the data will not succeed."
84: W !,"Refer to the VA FileMan User Manual for more details.",!
85: S DDXPOUT=1
86: Q
87: QUOT ;
88: N QPC,Q1ST
89: I DDXPDT(DDXPFLD)=2 Q
90: S Q1ST=$S(DDXPNPC=DDXPRNPC:1,1:0)
91: S QPC="W $C(34)"_$S(Q1ST&(DDXPFLD=1):"",1:";X")
92: I Q1ST S DDXPNPC=QPC_T_DDXPNPC
93: E S DDXPNPC=DDXPNPC_T_QPC
94: Q
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>