File:  [Coherent Logic Development] / freem_fileman / USER / DDXP4.m
Revision 1.1: download - view: text, annotated - select for diffs
Mon Apr 28 14:13:19 2025 UTC (3 months ago) by snw
Branches: MAIN
CVS tags: HEAD
Restructure repository

    1: DDXP4	;SFISC/DPC-EXPORT DATA ;10/17/94  14:27
    2: 	;;21.0;VA FileMan;;Dec 28, 1994
    3: 	;Per VHA Directive 10-93-142, this routine should not be modified.
    4: EN1	;
    5: 	K ^UTILITY($J)
    6: 	D ^DICRW I Y=-1 G QUIT
    7: 	S DDXPFINO=+Y
    8: XTEM	;
    9: 	S DIC="^DIPT(",DIC(0)="QEASZ",DIC("A")="Choose an EXPORT template: ",DIC("S")="I $P(^(0),U,8)=3",D="F"_DDXPFINO W !
   10: 	D IX^DIC K DIC,D I $D(DTOUT)!$D(DUOUT) G QUIT
   11: 	I Y=-1 G XTEM
   12: 	S DDXPXTNO=+Y,DDXPXTNM=$P(Y,U,2),FLDS="["_DDXPXTNM_"]"
   13: 	W !,"Do you want to delete the "_DDXPXTNM_" template",!,"after the data export is complete?",!
   14: 	S DDXPTMDL=0,DIR(0)="Y",DIR("B")="NO" D ^DIR K DIR W !
   15: 	I $D(DIRUT) G QUIT
   16: 	S:Y DDXPTMDL=1
   17: 	S DDXPFFNO=+$G(^DIPT(DDXPXTNO,105)),DDXPFMZO=$G(^DIST(.44,DDXPFFNO,0))
   18: 	I $G(^DIST(.44,DDXPFFNO,6))]"" S DDXPDATE=1
   19: 	S DDXPATH=$P($G(^DIPT(DDXPXTNO,105)),U,4) I DDXPATH]"" D MULTBY
   20: SORS	;
   21: 	W ! S DIR(0)="YA",DIR("B")="NO",DIR("A")="Do you want to SEARCH for entries to be exported? "
   22: 	S DIR("?",1)="To use VA FileMan's SEARCH option to choose entries, answer 'YES'."
   23: 	S:'$D(BY) DIR("?",2)="After the SEARCH, you can respond to VA FileMan's 'SORT BY:' prompt."
   24: 	S DIR("?")="If you answer 'NO', "_$S('$D(BY):"you can only SORT entries before export.",1:"the data export will begin.")
   25: 	D ^DIR K DIR I $D(DIRUT) G QUIT
   26: 	S DDXPSORS=Y,DIC=DDXPFINO,L=0
   27: 	D DIOBEG,DIOEND
   28: 	I DDXPSORS D EN^DIS
   29: 	I 'DDXPSORS D EN1^DIP
   30: 	I $G(X)="^"!($G(POP)) G QUIT
   31: 	I $G(DDXPQ) W !,?5,"Export template "_DDXPXTNM_" will be deleted",!,?5,"when queued export is completed." G DONE
   32: 	I $G(DDXPTMDL) S DIK="^DIPT(",DA=DDXPXTNO D ^DIK K DIK,DA
   33: 	G DONE
   34: QUIT	;
   35: 	W !!,?10,"Export NOT completed!"
   36: DONE	;
   37: 	K DDXPFINO,DDXPSORS,DDXPIOM,DDXPIOSL,DDXPXTNO,DDXPXTNM,DDXPFFNO,DDXPFMZO,DDXPCUSR,DDXPDATE,DDXPTMDL,DDXPY,DDXPATH,L,Y,DTOUT,DUOUT,DIRUT,DIC,FLDS,BY,FR,DIOEND,DIOBEG,DDXPQ,X,POP
   38: 	Q
   39: ZIS	;
   40: 	S %ZIS="Q"
   41: 	S DDXPIOM=$S($P(DDXPFMZO,U,8):$P(DDXPFMZO,U,8),$G(^DIPT(DDXPXTNO,"IOM")):^("IOM"),1:80)
   42: 	S DDXPIOSL=99999
   43: 	Q
   44: MULTBY	;
   45: 	N NUMPC,I,C S BY="",C=",",NUMPC=$L(DDXPATH,C)
   46: 	W !!,"Since you are exporting fields from multiples,"
   47: 	W !,"a sort will be done automatically."
   48: 	W !,"You will not have the opportunity to sort the data before export.",!
   49: 	F I=1:1:NUMPC D
   50: 	. S BY=BY_DDXPATH_",NUMBER,"
   51: 	. S DDXPATH=$P(DDXPATH,C,1,$L(DDXPATH,C)-1)
   52: 	. Q
   53: 	S BY=$E(BY,1,$L(BY)-1),FR=""
   54: 	Q
   55: DIOBEG	;
   56: 	S DDXPBEG=$G(^DIST(.44,DDXPFFNO,1))
   57: 	I DDXPBEG']"" G QBEG
   58: 	I $E(DDXPBEG)="""" S DIOBEG="W "_DDXPBEG G QBEG
   59: 	S DIOBEG=DDXPBEG
   60: QBEG	K DDXPBEG
   61: 	Q
   62: DIOEND	;
   63: 	S DDXPEND=$G(^DIST(.44,DDXPFFNO,2))
   64: 	I DDXPEND']"" G QEND
   65: 	I $E(DDXPEND)="""" S DIOEND="W "_DDXPEND G QEND
   66: 	S DIOEND=DDXPEND
   67: QEND	K DDXPEND
   68: 	Q
   69: DJTOPY(Y)	;
   70: 	N BJ,EJ,YOUT,NUMW,TYPEJ,DDXPXORY,SUB S YOUT=Y
   71: 	S BJ=$F(Y,"$J(") I BJ D
   72: 	. S DDXPXORY=$P($E(Y,BJ,999),",",1)
   73: 	. S NUMW=$L($E(Y,1,BJ),"W")-1 I NUMW'>0 Q
   74: 	. S EJ=$F(Y,") ",BJ)
   75: 	. S TYPEJ=$L($E(Y,BJ,$S(EJ:EJ-1,1:999)),",")
   76: 	. I TYPEJ'=2&(TYPEJ'=3) Q
   77: 	. I TYPEJ=3 S SUB="$S("_DDXPXORY_"]"""":+"_DDXPXORY_",1:"""_$P(DDXPFMZO,U,13)_""")"
   78: 	. I TYPEJ=2 S SUB=DDXPXORY
   79: 	. S YOUT=$P($E(Y,1,BJ),"W",1,NUMW)_"W "_SUB_$S(EJ:$E(Y,EJ-1,999),1:"")
   80: 	. Q
   81: 	Q YOUT
   82: DT	;
   83: 	N X
   84: 	I 'Y S DDXPY=Y Q
   85: 	S X=Y
   86: 	I $D(^DIST(.44,DDXPFFNO,6)) X ^(6) S DDXPY=$G(Y)
   87: 	Q

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>