Annotation of freem_fileman/USER/DDXP32.m, revision 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>