cAN0081 ;Gelijkhouden bestanden ;%AN008 ; [ 01/04/01 8:14 AM ] G 1 ; T0 ;Gelijkhouden bestanden ; T1 ;Uw keuze;I[] = controle integriteit indexen op ; T2 ;controle ; T3 ;Bevestiging\"[] = ok" T4 ;Start;Einde;Verschil; ; T0F ;Interaction des fichiers ; T1F ;Votre choix;I[] = contrôle intégrité indexes sur ; T2F ;contrôle ; T3F ;Confirmation\"[] = ok"; T4F ;Début;Fin;Différence; ; T0E ;Gelijkhouden bestanden ; T1E ;Choice;I[] = control integrity index on ; T2E ;control ; T3E ;Confirmation\"[] = ok" T4E ;Start;End;Difference; ; ;-------------------------------------------------------------- ; Wat controleren? ;-------------------------------------------------------------- 1 I $G(SWBG)'=1 D P^cA612(2,1,19,80,1,0,0,0,$P($T(@("T0"_QT)),U,2),0,0,7,1,1) S oQQREF=$$OREF(Q,DMS),oREF=$NA(@oQQREF) S DMSQ=$$DMSQ^cAN008(DMS) I DMSQ="" G YZ S UQC=$P(^DMS(DMSQ,DMS,2),D),USC=$P(^DMS(DMSQ,DMS,2),D,2) I UQC=""!(USC="") G YZ S DMSC=USC,DREF=^DMC(UQC,USC,"DATA","REF"),DREF=$P(DREF,",UI1")_")" ; Controle uitgevoerd via background jobs I $G(SWBG)=1 D G YZ . D 2 . D 3 . I $P($P(^TEMPC($T(+0),DMS,1,0,3),"/"),":",2)'=0!( $P($P(^TEMPC($T(+0),DMS,1,0,3),"/"),":",2)'=0) D Q .. ; Versturen alert naar ict_meldingen@vanhoecke.be, er zijn verschillen gevonden .. D D1018^cANEM0($T(+0),$P($T(T0),U,2),DMS) . ; Versturen alert naar ict_meldingen@vanhoecke.be, er zijn geen verschillen gevonden . D D1017^cANEM0($T(+0),$P($T(T0),U,2),DMS) 11 W /CUP(3,1),@F1 D TOONTEMP(1),TOONTEMP(2) S R="KEU\21\3\"_$P($T(@("T1"_QT)),U,2)_"\C1\1\\""-12I""[K\\\1" D R0 I KEU=1 D 2 G 11 I KEU=2 D 3 G 11 I KEU="I" D 4 G 11 13 G YZ:K="-",11 ; ;-------------------------------------------------------------- ; commentaar bij vraagstelling ;-------------------------------------------------------------- C1 W !?2,"1[] = ",$P($T(@("T2"_QT)),U,2),oREF," -> ",DREF W !?2,"2[] = ",$P($T(@("T2"_QT)),U,2),DREF," -> ",oREF W !?2,$P($T(@("T1"_QT)),U,3),DREF C1Z Q ; ;-------------------------------------------------------------- ; oREF -> DREF ;-------------------------------------------------------------- 2 S TMP=$NA(^TEMPC($T(+0),DMS,1)) K @TMP S @TMP=oREF_" -> "_DREF D ^cA106,^cA105 S @TMP@(0,1)=$P($T(@("T4"_QT)),U,2)_":"_DT_"/"_TD S EXECNV=$$EXEC(Q,DMS) ; ophalen execute conversie Q_KL -> DKL S I1=0,DIF=0,TOT=0,UND="",E=0 21 S I1=$O(@oREF@(I1)) I I1="" D G 29 . D ^cA106,^cA105 S @TMP@(0,2)=$P($T(@("T4"_QT)),U,3)_":"_DT_"/"_TD . S @TMP@(0,3)=$P($T(@("T4"_QT)),U,4)_":"_DIF_"/"_TOT ; signaletiek eerste bestand K B S B(1)=$G(^(I1,0),UND),J=$O(^(10),-1),TOT=TOT+1 F I=0:1:J S B(I+1)=$G(^(I),UND) ; signaletiek tweede bestand S UI1=$P(B(1),D,48) K C S C(1)="" I $L(UI1) D . S C(1)=$G(@DREF@(UI1,0),UND),J=$O(^(10),-1) . F I=0:1:J S C(I+1)=$G(^(I),UND) ; controle linken in eerste bestand S K=0 I '$L(UI1) D . I 'K S DIF=DIF+1,K=1 . S E=E+1,@TMP@(E)=$NA(@oREF@(I1))_" <> B-index 148="_UI1 I $P(B(1),D,49)'=Q D . I 'K S DIF=DIF+1,K=1 . S E=E+1,@TMP@(E)=$NA(@oREF@(I1))_" <> B-index 149="_$P(B(1),D,49) I $P(B(1),D,50)'=I1 D . I 'K S DIF=DIF+1,K=1 . S E=E+1,@TMP@(E)=$NA(@oREF@(I1))_" <> B-index 150="_$P(B(1),D,50) ; controle linken in tweede bestand I $P(C(1),D,48)'=UI1 D . I 'K S DIF=DIF+1,K=1 . S E=E+1,@TMP@(E)=$NA(@oREF@(I1)) . S E=E+1,@TMP@(E)=$NA(@DREF@(UI1))_" <> B-index 148="_UI1 I $P(C(1),D,49)'=Q D . I 'K S DIF=DIF+1,K=1 . S E=E+1,@TMP@(E)=$NA(@oREF@(I1)) . S E=E+1,@TMP@(E)=$NA(@DREF@(UI1))_" <> B-index 149="_$P(C(1),D,49) I $P(B(1),D,50)'=I1 D . I 'K S DIF=DIF+1,K=1 . S E=E+1,@TMP@(E)=$NA(@oREF@(I1))_"" . S E=E+1,@TMP@(E)=$NA(@DREF@(UI1))_" <> B-index 150="_$P(C(1),D,50) ; controle op verschillen S $P(B(1),D,30)=+$P(B(1),D,30) F I=48,49,50 S $P(B(1),D,I)="",$P(C(1),D,I)="" D PR K NB M NB=B I $L(EXECNV) X EXECNV ; specifieke conversies per bestand S J=0 F I=1:1 D I J Q . I '$D(NB(I)),'$D(C(I)),$O(NB(I))="",$O(C(I))="" S J=1 Q . I $TR($G(NB(I),UND),D)=$TR($G(C(I),UND),D) Q . I 'K S DIF=DIF+1,K=1 . S E=E+1,@TMP@(E)=$NA(@oREF@(I1,I-1))_"="_$G(NB(I),UND) . S E=E+1,@TMP@(E)=$NA(@DREF@(UI1,I-1))_"="_$G(C(I),UND) G 21 29 Q ; ;-------------------------------------------------------------- ; DREF -> oREF ;-------------------------------------------------------------- 3 S TMP=$NA(^TEMPC($T(+0),DMS,2)) K @TMP S @TMP=DREF_" -> "_oREF D ^cA106,^cA105 S @TMP@(0,1)=$P($T(@("T4"_QT)),U,2)_":"_DT_"/"_TD S EXECNV=$$EXEC(Q,DMSC) ; ophalen execute conversie DKL -> Q_KL S UI1="",DIF=0,TOT=0,UND="",E=0 31 S UI1=$O(@DREF@(UI1)) I UI1="" D G 39 . D ^cA106,^cA105 S @TMP@(0,2)=$P($T(@("T4"_QT)),U,3)_":"_DT_"/"_TD . S @TMP@(0,3)=$P($T(@("T4"_QT)),U,4)_":"_DIF_"/"_TOT ; signaletiek tweede bestand K B S B(1)=$G(^(UI1,0),UND),J=$O(^(10),-1),TOT=TOT+1 F I=0:1:J S B(I+1)=$G(^(I),UND) ; signaletiek eerste bestand S QQ=$P(B(1),D,49) I QQ'=Q G 31 ; KU : 09.02.06 : indien doorgegeven Q'=van Q49 S I1=$P(B(1),D,50) K C S C(1)="" I $L(QQ),$L(I1) D . N Q S Q=QQ . S C(1)=$G(@(oQQREF)@(I1,0),UND),J=$O(^(10),-1) . F I=0:1:J S C(I+1)=$G(^(I),UND) . S oREF=$NA(@oQQREF) ; controle linken in tweede bestand S K=0 I $P(B(1),D,48)'=UI1 D . I $P(B(1),D,30)=2,+$P(C(1),D,30)=0 Q . I 'K S DIF=DIF+1,K=1 . S E=E+1,@TMP@(E)=$NA(@DREF@(UI1))_" <> B-index 148="_$P(B(1),D,48) I $P(B(1),D,49)="" D . I 'K S DIF=DIF+1,K=1 . S E=E+1,@TMP@(E)=$NA(@DREF@(UI1))_" <> B-index 149="_$P(B(1),D,49) I $P(B(1),D,50)="" D . I 'K S DIF=DIF+1,K=1 . S E=E+1,@TMP@(E)=$NA(@DREF@(UI1))_" <> B-index 150="_$P(B(1),D,50) ; controle linken in eerste bestand I $P(C(1),D,48)'=UI1 D . I $P(B(1),D,30)=2,+$P(C(1),D,30)=0 Q . I 'K S DIF=DIF+1,K=1 . S E=E+1,@TMP@(E)=$NA(@DREF@(UI1)) . S E=E+1,@TMP@(E)=$NA(@oREF@(I1))_" <> B-index 148="_$P(C(1),D,48) I $P(C(1),D,49)'=QQ D . I 'K S DIF=DIF+1,K=1 . S E=E+1,@TMP@(E)=$NA(@DREF@(UI1))_"" . S E=E+1,@TMP@(E)=$NA(@oREF@(I1))_" <> B-index 149="_$P(C(1),D,49) I $P(B(1),D,50)'=I1 D . I 'K S DIF=DIF+1,K=1 . S E=E+1,@TMP@(E)=$NA(@DREF@(UI1)) . S E=E+1,@TMP@(E)=$NA(@oREF@(I1))_" <> B-index 150="_$P(C(1),D,50) ; controle op verschillen S $P(C(1),D,30)=+$P(C(1),D,30) F I=48,49,50 S $P(B(1),D,I)="",$P(C(1),D,I)="" D PR K NB M NB=B I $L(EXECNV) X EXECNV ; specifieke conversies per bestand S J=0 F I=1:1 D I J Q . I '$D(NB(I)),'$D(C(I)),$O(NB(I))="",$O(C(I))="" S J=1 Q . I $TR($G(NB(I),UND),D)=$TR($G(C(I),UND),D) Q . ; KO - 18.04.07 - Controle voor verwijderde bestanden . I I=1,$P(NB(I),D,30)=2,$P(C(I),D,30)=0 D Q:J .. S NUI1=$P(@oREF@(I1,0),D,48) .. I NUI1=UI1 Q .. S J=$$VERW^cAN0083(NUI1) . I 'K S DIF=DIF+1,K=1 . S E=E+1,@TMP@(E)=$NA(@DREF@(UI1,I-1))_"="_$G(NB(I),UND) . S E=E+1,@TMP@(E)=$NA(@oREF@(I1,I-1))_"="_$G(C(I),UND) G 31 39 Q ; ;-------------------------------------------------------------- ; controle integriteit indexen op tweede bestand ;-------------------------------------------------------------- 4 S UREF=^DMC(UQC,USC,"DATA","REF"),IREF=$G(^("INDEX")),IREF2=$G(^("INDEX2")) D ^cAN3223("","1#2","","") I K="-" G 11 D S1^cAN002(UQC,USC,4,1) ; data->indexen D S3^cAN009 ; indexen->data D ^cAN0091(Q,DMS) ; printen G 11 ; YZ D:($G(SWBG)'=1) C^cA612 Q ; R0 S $P(R,D,12)=$T(+0) D ^cAN1000 Q ; v12 23.01.95 ; ; PR ; stock, aantal in bestelling, aantal in order, datum ltst vkp, datum ltst akp, #orders,#bestelvst niet meecontroleren ; I DMS="PR" F I=114,117,309,116,118,309,311 S $P(B(I\100),D,I#100)="",$P(C(I\100),D,I#100)="" PRZ Q ;-------------------------------------------------------------- ; tonen resultaat van controle ;-------------------------------------------------------------- TOONTEMP(R) S TMP=$NA(^TEMPC($T(+0),DMS,R)) W !?2,TMP,"=",$G(@TMP) S R="" F S R=$O(@TMP@(0,R)) Q:R="" W !?2,$ZR,"=",@$ZR W ! Q ; EXEC(Q,DMS) ; ophalen EXEC S $ZT="TRAP^cAN000" N R S R="" I $L(Q),$L(DMS) S R=$G(^DMS(Q,DMS,2)) I $L(R),$P($G(^(0)),D,30) S R=D I '$L(R),$L(DMS) S R=$G(^DMS(0,DMS,2)) I $L(R),$P($G(^(0)),D,30) S R=D S R=$P(R,D,3) EXECZ Q R ; OREF(Q,DMS) ; ophalen oude referentie N oREF,oUQC,oUSC S oREF="" D DMS^cAN000("oUQC","oUSC",DMS) I '$L(oUQC)!'$L(oUSC) G OREFZ S oREF=^DMC(oUQC,oUSC,"DATA","REF"),oREF=$P(oREF,"UI1") I $E(oREF,$L(oREF))="," S oREF=$E(oREF,1,$L(oREF)-1) S oREF=oREF_")" I $E(oREF,$L(oREF)-1,$L(oREF))="()" S oREF=$E(oREF,1,$L(oREF)-2)_""")" OREFZ Q oREF ; ZZ ; 29.08.07 - 10 u 22 * V8.09