Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: DDXPLIB

DDXPLIB.m

Go to the documentation of this file.
  1. DDXPLIB ;SFISC/DPC-EXPORT LIBRARY ;1/25/93 13:05
  1. ;;22.0;VA FileMan;;Mar 30, 1999
  1. ;Per VHA Directive 10-93-142, this routine should not be modified.
  1. FLDNM(DDXPXTNO) ;
  1. N %D,%I,FLD,NAMELST,NAME
  1. S NAMELST=""
  1. S %D=$P($G(^DIST(.44,+$G(^DIPT(DDXPXTNO,105)),0)),U,2)
  1. S %D=$$BLDELIM^DDXP3(%D)
  1. S %D=$C(%D),FLD=0
  1. F %I=0:1 S FLD=$O(^DIPT(DDXPXTNO,100,FLD)) Q:FLD<1 D
  1. . S NAME=$P(^DIPT(DDXPXTNO,100,FLD,0),U,4)
  1. . S NAMELST=NAMELST_NAME_%D
  1. . Q
  1. S NAMELST=$P(NAMELST,%D,1,%I)
  1. Q NAMELST
  1. ;
  1. DP123(DDXPXTNO) ;
  1. N FLD,FLDZO,DPLN,I,DT,LEN,DTCHAR
  1. S DPLN=""
  1. F FLD=0:0 S FLD=$O(^DIPT(DDXPXTNO,100,FLD)) Q:FLD<1 S FLDZO=^(FLD,0) D
  1. . S DT=$P(FLDZO,U,2)
  1. . S LEN=$P(FLDZO,U,3)
  1. . S DTCHAR=$S(DT=4:"L",DT=2:"V",DT=1:"D",1:"L")
  1. . S DPLN=DPLN_DTCHAR
  1. . F I=1:1:LEN-1 S DPLN=DPLN_">"
  1. . Q
  1. Q DPLN
  1. ;
  1. DPXCEL(DDXPXTNO) ;
  1. N DPLN,FLD,FLDZO,LEN,I
  1. S DPLN=""
  1. F FLD=0:0 S FLD=$O(^DIPT(DDXPXTNO,100,FLD)) Q:FLD<1 S FLDZO=^(FLD,0) D
  1. . S LEN=$P(FLDZO,U,3)
  1. . S DPLN=DPLN_"|"
  1. . F I=1:1:LEN-1 S DPLN=DPLN_" "
  1. . Q
  1. Q DPLN
  1. ;
  1. SASCOL ;
  1. N INPUTLN,FLD,NAME,DTYPE,DTYPEFOR,START,END,LENGTH,FLD0
  1. S INPUTLN="INPUT ",START=1,FLD=0
  1. F S FLD=$O(^DIPT(DDXPXTNO,100,FLD)) Q:FLD<1 S FLD0=^(FLD,0) D
  1. . S NAME=$P(FLD0,U,4)_" ",LENGTH=$P(FLD0,U,3),DTYPE=$P(FLD0,U,2)
  1. . S DTYPEFOR=$S(DTYPE=4:"$ ",DTYPE=1:"YYMMDD"_LENGTH_". ",1:"")
  1. . S END=START+LENGTH-1
  1. . S INPUTLN=INPUTLN_NAME_DTYPEFOR_$S(DTYPE=1:"",1:START_"-"_END_" ")
  1. . S START=END+1
  1. . Q
  1. S INPUTLN=$E(INPUTLN,1,$L(INPUTLN)-1)_";"
  1. W INPUTLN,!,"CARDS;"
  1. Q
  1. ;
  1. ORACTL ;
  1. N FLD,FLD0,DELIM,NAME,LENGTH,DTYPEFRM,END,START,POS
  1. S FLD=0,DELIM=$P(^DIST(.44,DDXPFFNO,0),U,2),START=1,POS=""
  1. W "LOAD DATA",!
  1. W "INFILE *",!
  1. W "APPEND",!
  1. W "INTO TABLE "_$TR($P(^DIPT(DDXPXTNO,0),U,1)," ","_"),!
  1. W:DELIM]"" "FIELDS TERMINATED BY '"_DELIM_"' OPTIONALLY ENCLOSED BY '""'",!
  1. W "("
  1. F S FLD=$O(^DIPT(DDXPXTNO,100,FLD)) Q:FLD<1 W:FLD>1 ",",! S FLD0=^(FLD,0) D
  1. . S NAME=$P(FLD0,U,4)_" ",LENGTH=$P(FLD0,U,3)
  1. . S DTYPEFRM=$S($P(FLD0,U,2)=1:" DATE 'MON DD,YYYY'",1:"")
  1. . I LENGTH>0 D
  1. . . S END=START+LENGTH-1
  1. . . S POS="POSITION ("_START_":"_END_")"
  1. . . S START=END+1
  1. . . Q
  1. . W NAME_POS_DTYPEFRM
  1. W " )",!
  1. W "BEGINDATA",!
  1. Q