Annotation of freem_fileman/USER/DITC.m, revision 1.1
1.1 ! snw 1: DITC ;SFISC/XAK-MERGE OR COMPARE ENTRIES ;9/17/91 10:36 AM
! 2: ;;21.0;VA FileMan;;Dec 28, 1994
! 3: ;Per VHA Directive 10-93-142, this routine should not be modified.
! 4: ;
! 5: START ;
! 6: K DFF,DIT,DIMERGE,DDSP,DDIF,DDEF,DITC,DMSG
! 7: D K2,K1,T^DICRW G:Y<0 END S (DSUB,DIT,L)=0,DSUB(L)=DIC,DITC=1
! 8: SUB S %=$P(Y,U,2),Y=+Y D SUB^DICRW K DIA
! 9: ENTR G:X["^"!($D(DTOUT)) END K DIC S DIC(0)="AEQMZ",DIC=DSUB(0),DFL=1,DIT=DIT+1,DIT(DIT)="" W:DIT=1 !
! 10: E1 S DIC("A")=$E(" ",1,DFL-1*3)_$S(DIT=2:" WITH ",1:"COMPARE ")_DFL(DFL)_": " I (DIT=2),(DFL=L),($P(DIT(1),",",1,L-1)=$P(DIT(2),",",1,L-1)) S DIC("S")="I Y-"_$P(DIT(1),",",L)
! 11: D ^DIC K DIC("S"),DIC("A") I Y>0,$D(DSUB(DFL)),$D(DFL(DFL+1)) S DIC=DIC_+Y_","_DSUB(DFL),DIT(DIT)=DIT(DIT)_+Y_",",DFL=DFL+1 S %=$O(@(DIC_"-1)")) G:'% E1 S:%>0 ^(0)=U_DFF_U I %<0 W !,"NO "_DFL(DFL) S Y=-1
! 12: G:X=U END G:Y=-1 START S DTO(DIT)=DIC_+Y_",",DTO(DIT,"X")=Y(0,0),DIT(DIT)=DIT(DIT)_+Y G:DIT=1 ENTR S DDSP=1
! 13: Q1 S %=2 W !!,"WILL YOU WANT TO MERGE THESE ENTRIES AFTER COMPARING THEM" D YN^DICN I '% W ! S DMSG=1 D HELP^DITC0 G Q1
! 14: S:%=1 DIMERGE=1 G:%<0 END G:'$D(DIMERGE) Q2 W ! F I=1,2 W !?5,I,?10,DTO(I,"X")
! 15: Q15 R !!,"WHICH ENTRY SHOULD BE USED FOR DEFAULT VALUES (1 OR 2)? ",X:DTIME S:X[U DUOUT=1 S:'$T X=U,DTOUT=1 G:X["^" END I X="?" S DMSG=3 D HELP^DITC0 G Q15
! 16: I X'=1,X'=2 W $C(7),!,"Enter '1' or '2'" G Q15
! 17: S DDEF=X
! 18: Q2 S %=2 W !!,"DO YOU WANT TO DISPLAY ONLY THE DISCREPANT FIELDS" D YN^DICN I '% S DMSG=2 D HELP^DITC0 G Q2
! 19: S:%=1 DDIF=1 G:%<0 END G PRNT^DITC1
! 20: EN ;
! 21: D K2
! 22: EN2 ;
! 23: D K1 S DMSG=0 F I="DFF","DIT(1)","DIT(2)" Q:DMSG I '$D(@I) S DMSG=1,DMSG(1)=I
! 24: G:DMSG ERREND^DITC0 F I="DFF","DIT(1)","DIT(2)" Q:DMSG I '$L(@I) S DMSG=2,DMSG(1)=I
! 25: G:DMSG ERREND^DITC0 I '$D(^DD(DFF)) S DMSG=3,DMSG(1)=DFF G ERREND^DITC0
! 26: S:'$D(DFL) N=$O(^DD(DFF,0,"NM",-1))_U,X1=1,M=DFF_U
! 27: S DITC=1,K=DFF,DSUB=0
! 28: F I=0:0 Q:'$D(^DD(K,0,"UP")) S J=^("UP"),I=$O(^DD(J,"SB",K,-1)),DSUB=DSUB+1,DSUB(DSUB)=""""_$P($P(^DD(J,I,0),U,4),";",1)_""",",K=J S:'$D(DFL) N=N_$O(^DD(K,0,"NM",-1))_U,M=M_K_U,X1=X1+1
! 29: S DSUB=DSUB+1,DSUB(DSUB)=^DIC(K,0,"GL") I '$D(DFL) F DFL=1:1:X1 S DFL(DFL)=$P(N,U,X1-DFL+1),DFF(DFL)=$P(M,U,X1-DFL+1)
! 30: S DMSG="" F I=1:1:2 S DTO(I)="" I DIT(I)'=0 F K=DSUB:-1:1 S DTO(I)=DTO(I)_DSUB(K)_$P(DIT(I),",",DSUB-K+1)_"," I '$L($P(DIT(I),",",DSUB-K+1)) S DMSG=4,DMSG(1)="DIT("_I_")"
! 31: F I=1,2 I $L($P(DIT(I),",",DSUB+1,99)) S DMSG=4,DMSG(1)="DIT("_I_")"
! 32: G:$L(DMSG) ERREND^DITC0 K DMSG G PRNT^DITC1
! 33: K1 ;
! 34: K %H,DSUB,DTO,DFL,DNUM
! 35: Q
! 36: K2 ;
! 37: K D001,DHD,DUOUT,DTOUT,DIRUT,^UTILITY($J,"DIT"),^("DITI"),^("DITDINUM")
! 38: Q
! 39: END ;
! 40: I $D(DTOUT)!($D(DUOUT)) S DIRUT=1
! 41: D K1 K DIMERGE,DDSP,DDIF,DDEF,DIT,DFF,DDSH,DDSPC,DEQ,DIACT,X,X2,POP,DHD,D,Y,X1,^UTILITY($J,"DIT"),^("DITI"),^("DITDINUM")
! 42: K DITC
! 43: Q
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>