1 | DDXPLIB ;SFISC/DPC-EXPORT LIBRARY ;1/25/93 13:05
|
---|
2 | ;;22.0;VA FileMan;;Mar 30, 1999
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | FLDNM(DDXPXTNO) ;
|
---|
5 | N %D,%I,FLD,NAMELST,NAME
|
---|
6 | S NAMELST=""
|
---|
7 | S %D=$P($G(^DIST(.44,+$G(^DIPT(DDXPXTNO,105)),0)),U,2)
|
---|
8 | S %D=$$BLDELIM^DDXP3(%D)
|
---|
9 | S %D=$C(%D),FLD=0
|
---|
10 | F %I=0:1 S FLD=$O(^DIPT(DDXPXTNO,100,FLD)) Q:FLD<1 D
|
---|
11 | . S NAME=$P(^DIPT(DDXPXTNO,100,FLD,0),U,4)
|
---|
12 | . S NAMELST=NAMELST_NAME_%D
|
---|
13 | . Q
|
---|
14 | S NAMELST=$P(NAMELST,%D,1,%I)
|
---|
15 | Q NAMELST
|
---|
16 | ;
|
---|
17 | DP123(DDXPXTNO) ;
|
---|
18 | N FLD,FLDZO,DPLN,I,DT,LEN,DTCHAR
|
---|
19 | S DPLN=""
|
---|
20 | F FLD=0:0 S FLD=$O(^DIPT(DDXPXTNO,100,FLD)) Q:FLD<1 S FLDZO=^(FLD,0) D
|
---|
21 | . S DT=$P(FLDZO,U,2)
|
---|
22 | . S LEN=$P(FLDZO,U,3)
|
---|
23 | . S DTCHAR=$S(DT=4:"L",DT=2:"V",DT=1:"D",1:"L")
|
---|
24 | . S DPLN=DPLN_DTCHAR
|
---|
25 | . F I=1:1:LEN-1 S DPLN=DPLN_">"
|
---|
26 | . Q
|
---|
27 | Q DPLN
|
---|
28 | ;
|
---|
29 | DPXCEL(DDXPXTNO) ;
|
---|
30 | N DPLN,FLD,FLDZO,LEN,I
|
---|
31 | S DPLN=""
|
---|
32 | F FLD=0:0 S FLD=$O(^DIPT(DDXPXTNO,100,FLD)) Q:FLD<1 S FLDZO=^(FLD,0) D
|
---|
33 | . S LEN=$P(FLDZO,U,3)
|
---|
34 | . S DPLN=DPLN_"|"
|
---|
35 | . F I=1:1:LEN-1 S DPLN=DPLN_" "
|
---|
36 | . Q
|
---|
37 | Q DPLN
|
---|
38 | ;
|
---|
39 | SASCOL ;
|
---|
40 | N INPUTLN,FLD,NAME,DTYPE,DTYPEFOR,START,END,LENGTH,FLD0
|
---|
41 | S INPUTLN="INPUT ",START=1,FLD=0
|
---|
42 | F S FLD=$O(^DIPT(DDXPXTNO,100,FLD)) Q:FLD<1 S FLD0=^(FLD,0) D
|
---|
43 | . S NAME=$P(FLD0,U,4)_" ",LENGTH=$P(FLD0,U,3),DTYPE=$P(FLD0,U,2)
|
---|
44 | . S DTYPEFOR=$S(DTYPE=4:"$ ",DTYPE=1:"YYMMDD"_LENGTH_". ",1:"")
|
---|
45 | . S END=START+LENGTH-1
|
---|
46 | . S INPUTLN=INPUTLN_NAME_DTYPEFOR_$S(DTYPE=1:"",1:START_"-"_END_" ")
|
---|
47 | . S START=END+1
|
---|
48 | . Q
|
---|
49 | S INPUTLN=$E(INPUTLN,1,$L(INPUTLN)-1)_";"
|
---|
50 | W INPUTLN,!,"CARDS;"
|
---|
51 | Q
|
---|
52 | ;
|
---|
53 | ORACTL ;
|
---|
54 | N FLD,FLD0,DELIM,NAME,LENGTH,DTYPEFRM,END,START,POS
|
---|
55 | S FLD=0,DELIM=$P(^DIST(.44,DDXPFFNO,0),U,2),START=1,POS=""
|
---|
56 | W "LOAD DATA",!
|
---|
57 | W "INFILE *",!
|
---|
58 | W "APPEND",!
|
---|
59 | W "INTO TABLE "_$TR($P(^DIPT(DDXPXTNO,0),U,1)," ","_"),!
|
---|
60 | W:DELIM]"" "FIELDS TERMINATED BY '"_DELIM_"' OPTIONALLY ENCLOSED BY '""'",!
|
---|
61 | W "("
|
---|
62 | F S FLD=$O(^DIPT(DDXPXTNO,100,FLD)) Q:FLD<1 W:FLD>1 ",",! S FLD0=^(FLD,0) D
|
---|
63 | . S NAME=$P(FLD0,U,4)_" ",LENGTH=$P(FLD0,U,3)
|
---|
64 | . S DTYPEFRM=$S($P(FLD0,U,2)=1:" DATE 'MON DD,YYYY'",1:"")
|
---|
65 | . I LENGTH>0 D
|
---|
66 | . . S END=START+LENGTH-1
|
---|
67 | . . S POS="POSITION ("_START_":"_END_")"
|
---|
68 | . . S START=END+1
|
---|
69 | . . Q
|
---|
70 | . W NAME_POS_DTYPEFRM
|
---|
71 | W " )",!
|
---|
72 | W "BEGINDATA",!
|
---|
73 | Q
|
---|