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>