Annotation of freem_fileman/USER/DDXPLIB.m, revision 1.1
1.1 ! snw 1: DDXPLIB ;SFISC/DPC-EXPORT LIBRARY ;1/25/93 13:05
! 2: ;;21.0;VA FileMan;;Dec 28, 1994
! 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
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>