ZBCHKPR ;KONTROLE VAN BESTANDEN (produkten) ;ZBCHK; [ 11/07/2001 11:27 AM ] ; Set (COUNT,LINE)=0 Do PR,PR1,PR2,PH,PM,PL Quit ; PRT1 ;Kontrole ^KPR PRT2 ;Fouten ^KPR PR1T1 ;Kontrole ^KPR1 PR1T2 ;Fouten ^KPR1 PR2T1 ;Kontrole ^KPR2 PR2T2 ;Fouten ^KPR2 PHT1 ;Kontrole ^KPH PHT2 ;Fouten ^KPH PMT1 ;Kontrole ^KPM PMT2 ;Fouten ^KPM PLT1 ;Kontrole ^KPL PLT2 ;Fouten ^KPL ; SC S PCC=$$COMPR^PRODUKT(PR) Q ; S1 Set COUNT=COUNT+1,^HULP($J,$P(TKB,U,7),COUNT)=R Quit ; S2 Set LINE=LINE+1 If LINE>(24-DLN) Set FP=DLN+2*100+1 Write @F,@FDL Set FP=DLN+$S(LINE<(24-DLN+1):LINE,1:(24-DLN))*100+1 Write @F,@F1,S Quit ; PR Set PR=0,S=$P($T(PRT1),U,2),R=$P($T(PRT2),U,2) Do S1,S2 Write *7 Set COUNTX=COUNT For Set PR=$O(^KPR(PR)) Quit:PR="" Do .Set PC=$P(^KPR(PR,0),D),Zr=$ZR Do SC .If '$D(^KPR1(PCC)) Set R=Zr_D_$ZR_D_"INDEX ONBEKEND" Do S1 .Else Do ..Set R=^KPR1(PCC),KortTxt=$P(R,D,2) ..If $P(R,D)'=PR Set R=Zr_D_$ZR_D_$P(R,D)_" VERSCHILLEND" Do S1 ..If PC'=KortTxt Set R=Zr_D_$ZR_D_KortTxt_" VERSCHILLEND" Do S1 .Set PID=$P(^KPR(PR,2),D,25),Zr=$ZR,PIDC=$$TRIMIDENT^vhRtn1(PID)_" " ;[IDENT] CW .If '$D(^KPR2(PIDC)) Set R=Zr_D_$ZR_D_"INDEX ONBEKEND" Do S1 .Set I="I" .For Set I=$O(^KPR(PR,I)) Quit:$E(I)'="I" Do ..Set R=^KPR(PR,I),Zr=$ZR,HG=$P(R,D),GR=$P(R,D,2),SG=$P(R,D,3) ..If '$D(^KPH(HG,GR,SG," ",PCC)) Set R=Zr_D_$ZR_D_"INDEX ONBEKEND" Do S1 ..If '$D(^KPM(" ",HG,GR,SG,PCC)) Set R=Zr_D_$ZR_D_"INDEX ONBEKEND" Do S1 ..If '$D(^KPHG1(HG)) Set R=Zr_D_$ZR_D_"HOOFDGROEP ONBEKEND" Do S1 ..If '$D(^KPGR1(GR)) Set R=Zr_D_$ZR_D_"GROEP ONBEKEND" Do S1 ..If '$D(^KPSG1(SG)) Set R=Zr_D_$ZR_D_"SUBGROEP ONBEKEND" Do S1 .Set J="J" .For Set J=$O(^KPR(PR,J)) Quit:$E(J)'="J" Do ..Set R=^KPR(PR,J),Zr=$ZR,LEV=$P(R,D)_" ",REF=$P(R,D,3)_" " ..If '$D(^KPL(LEV," ",REF,PCC)) Set R=Zr_D_$ZR_D_"INDEX ONBEKEND" Do S1 ; If COUNT=COUNTX Kill ^HULP($J,$P(TKB,U,7),COUNT) Set COUNT=COUNTX-1 ; Quit ; PR1 Set PCC=0,S=$P($T(PR1T1),U,2),R=$P($T(PR1T2),U,2) Do S1,S2 Write *7 Set COUNTX=COUNT For Set PCC=$O(^KPR1(PCC)) Quit:PCC="" Do .Set R=^KPR1(PCC),PR=$P(R,D),Pcc=$$COMPR^PRODUKT(PR),Zr=$ZR .If '$D(^KPR(PR)) Set R=Zr_D_$ZR_D_"ONBEKEND" Do S1 Quit .If PCC'=Pcc Set R=Zr_D_$ZR_D_"VERSCHILLEND" Do S1 Quit If COUNT=COUNTX Kill ^HULP($J,$P(TKB,U,7),COUNT) Set COUNT=COUNTX-1 ; Quit ; PR2 Set PIDC=0,S=$P($T(PR2T1),U,2),R=$P($T(PR2T2),U,2) Do S1,S2 Write *7 Set COUNTX=COUNT For Set PIDC=$O(^KPR2(PIDC)) Quit:PIDC="" Do .Set R=^KPR2(PIDC),PR=$P(R,D),PID=$P(R,D,2),Zr=$ZR .If '$D(^KPR(PR)) Set R=Zr_D_$ZR_D_"ONBEKEND" Do S1 Quit .If $P(^KPR(PR,2),D,25)'=PID Set R=Zr_D_$ZR_D_"VERSCHILLEND" Do S1 Quit ; If COUNT=COUNTX Kill ^HULP($J,$P(TKB,U,7),COUNT) Set COUNT=COUNTX-1 ; Quit ; PH Set HG="",S=$P($T(PHT1),U,2),R=$P($T(PHT2),U,2) Do S1,S2 Write *7 Set COUNTX=COUNT For Set HG=$O(^KPH(HG)) Quit:HG="" Do .Set GR="" .For Set GR=$O(^KPH(HG,GR)) Quit:GR="" Do ..Set SG="" ..For Set SG=$O(^KPH(HG,GR,SG)) Quit:SG="" Do ...Set PCC="" ...For Set PCC=$O(^KPH(HG,GR,SG," ",PCC)) Quit:PCC="" Do ....Set PR=^KPH(HG,GR,SG," ",PCC),Zr=$ZR ....If '$D(^KPR(PR)) Set R=Zr_D_$ZR_D_"PRODUKT ONBEKEND" Do S1 Quit ....Set PCX=PCC,PC=$P(^KPR(PR,0),D) Do SC ....If PCX'=PCC Set R=Zr_D_$ZR_D_"KORTTEKST VERSCHILLEND" Do S1 ....Set PCC=PCX,I="I",Ok=0 ....For Set I=$O(^KPR(PR,I)) Quit:$E(I)'="I"!Ok Do .....Set R=^KPR(PR,I) If $P(R,D)=HG,$P(R,D,2)=GR,$P(R,D,3)=SG Set Ok=1 Quit ....If 'Ok Set R=$D(^KPR(PR)),R=Zr_D_$ZR_D_"ONBEKEND BIJ PRODUKT" Do S1 Quit ; If COUNT=COUNTX Kill ^HULP($J,$P(TKB,U,7),COUNT) Set COUNT=COUNTX-1 ; Quit ; PM Set HG="",S=$P($T(PMT1),U,2),R=$P($T(PMT2),U,2) Do S1,S2 Write *7 Set COUNTX=COUNT For Set HG=$O(^KPM(" ",HG)) Quit:HG="" Do .Set GR="" .For Set GR=$O(^KPM(" ",HG,GR)) Quit:GR="" Do ..Set SG="" ..For Set SG=$O(^KPM(" ",HG,GR,SG)) Quit:SG="" Do ...Set PCC="" ...For Set PCC=$O(^KPM(" ",HG,GR,SG,PCC)) Quit:PCC="" Do ....Set PR=^KPM(" ",HG,GR,SG,PCC),Zr=$ZR ....If '$D(^KPR(PR)) Set R=Zr_D_$ZR_D_"PRODUKT ONBEKEND" Do S1 Quit ....Set PCX=PCC,PC=$P(^KPR(PR,0),D) Do SC ....If PCX'=PCC Set R=Zr_D_$ZR_D_"KORTTEKST VERSCHILLEND" Do S1 ....Set PCC=PCX,I="I",Ok=0 ....For Set I=$O(^KPR(PR,I)) Quit:$E(I)'="I"!Ok Do .....Set R=^KPR(PR,I) If $P(R,D)=HG,$P(R,D,2)=GR,$P(R,D,3)=SG Set Ok=1 Quit ....If 'Ok Set R=$D(^KPR(PR)),R=Zr_D_$ZR_D_"ONBEKEND BIJ PRODUKT" Do S1 Quit ; If COUNT=COUNTX Kill ^HULP($J,$P(TKB,U,7),COUNT) Set COUNT=COUNTX-1 ; Quit ; PL Set LEV="",S=$P($T(PLT1),U,2),R=$P($T(PLT2),U,2) Do S1,S2 Write *7 Set COUNTX=COUNT For Set LEV=$O(^KPL(LEV)) Quit:LEV="" Do .Set REF="" .For Set REF=$O(^KPL(LEV," ",REF)) Quit:REF="" Do ..Set PCC="" ..For Set PCC=$O(^KPL(LEV," ",REF,PCC)) Quit:PCC="" Do ...Set PR=^KPL(LEV," ",REF,PCC),Zr=$ZR ...If '$D(^KPR(PR)) Set R=Zr_D_$ZR_D_"PRODUKT ONBEKEND" Do S1 Quit ...Set PCX=PCC,PC=$P(^KPR(PR,0),D) Do SC ...If PCX'=PCC Set R=Zr_D_$ZR_D_"KORTTEKST VERSCHILLEND" Do S1 ...Set PCC=PCX,J="J",Ok=0 ...For Set J=$O(^KPR(PR,J)) Quit:$E(J)'="J"!Ok Do ....Set R=^KPR(PR,J) If $P(R,D)=$E(LEV,1,$L(LEV)-1),$P(R,D,3)=$E(REF,1,$L(REF)-1) Set Ok=1 Quit ...If 'Ok Set R=$D(^KPR(PR)),R=Zr_D_$ZR_D_"ONBEKEND BIJ PRODUKT" Do S1 Quit ; If COUNT=COUNTX Kill ^HULP($J,$P(TKB,U,7),COUNT) Set COUNT=COUNTX-1 ; Quit ; CHECKPR Do .New Check .Set Q="K" .Do ^cA604 If '$D(Check) Write !!,"*** Productbestanden ***",! ; ; ^KPR versus ^KPR1, ^KPR2, ^KPH, ^KPM, ^KPL, ^KPHG, ^KPGR, ^KPSG, Search index Set PRNr=0 For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do Quit:$G(Check)=0 . Set CompKort=$$COMPR^PRODUKT(PRNr) . Set KortTekst=$P(^KPR(PRNr,0),D),ComprKey=$$UPTRIMAN^vhRtn1(KortTekst)_" " . If '$D(^KPR1(CompKort)) Do Quit:$G(Check)=0 . . If $D(Check) Set Check=0 . . Else Write !,"^KPR(",PRNr,")"," - Index ^KPR1 onbekend" . If '$D(^Prod.SearchIndexD("K",ComprKey,PRNr)) Do Quit:$G(Check)=0 . . If $D(Check) Set Check=0 . . Else Write !,"^KPR(",PRNr,")"," - Index ^Prod.SearchIndexD(""K"","""_ComprKey_""","_PRNr_") onbekend" . If PRNr'=$P($G(^KPR1(CompKort)),D) Do Quit:$G(Check)=0 . . If $D(Check) Set Check=0 . . Else Write !,"^KPR(",PRNr,")"," - Index ^KPR1 PRNr ",$P($G(^KPR1(CompKort)),D)," verschillend" . Set IdentNr=$P(^KPR(PRNr,2),D,25),CompIdentNr=$$TRIMIDENT^vhRtn1(IdentNr)_" " ;[IDENT] CW . If '$D(^KPR2(CompIdentNr)) Do Quit:$G(Check)=0 . . If $D(Check) Set Check=0 . . Else Write !,"^KPR(",PRNr,")"," - Index ^KPR2 onbekend" . If '$D(^Prod.SearchIndexD("I",CompIdentNr,PRNr)) Do Quit:$G(Check)=0 . . If $D(Check) Set Check=0 . . Else Write !,"^KPR(",PRNr,")"," - Index ^Prod.SearchIndexD(""I"","""_CompIdentNr_""","_PRNr_") onbekend" . Set IKlas="I" . If $E($O(^KPR(PRNr,IKlas)))'="I" Do Quit:$G(Check)=0 . . If $D(Check) Set Check=0 . . Else Write !,"^KPR(",PRNr,")"," - ""I""-node onbekend" . For Set IKlas=$O(^KPR(PRNr,IKlas)) Quit:$E(IKlas)'="I" Do Quit:$G(Check)=0 . . Set R=^KPR(PRNr,IKlas),HoofdGr=$P(R,D),Groep=$P(R,D,2),SubGroep=$P(R,D,3) . . If '$D(^KPH(HoofdGr,Groep,SubGroep," ",CompKort)) Do Quit:$G(Check)=0 . . . If $D(Check) Set Check=0 . . . Else Write !,"^KPR(",PRNr,")"," - Index ^KPH onbekend" . . If '$D(^KPM(" ",HoofdGr,Groep,SubGroep,CompKort)) Do Quit:$G(Check)=0 . . . If $D(Check) Set Check=0 . . . Else Write !,"^KPR(",PRNr,")"," - Index ^KPM onbekend" . . If '$D(^KPHG1(HoofdGr)) Do Quit:$G(Check)=0 . . . If $D(Check) Set Check=0 . . . Else Write !,"^KPR(",PRNr,")"," - Hoofdgroep onbekend in ^KPHG" . . If '$D(^KPGR1(Groep)) Do Quit:$G(Check)=0 . . . If $D(Check) Set Check=0 . . . Else Write !,"^KPR(",PRNr,")"," - Groep onbekend in ^KPGR" . . If '$D(^KPSG1(SubGroep)) Do Quit:$G(Check)=0 . . . If $D(Check) Set Check=0 . . . Else Write !,"^KPR(",PRNr,")"," - Subgroep onbekend in ^KPSG" . Quit:$G(Check)=0 . Set JLev="J" . If $E($O(^KPR(PRNr,JLev)))'="J" Do Quit:$G(Check)=0 . . If $D(Check) Set Check=0 . . Else Write !,"^KPR(",PRNr,")"," - ""J""-node onbekend" . For Set JLev=$O(^KPR(PRNr,JLev)) Quit:$E(JLev)'="J" Do Quit:$G(Check)=0 . . Set R=^KPR(PRNr,JLev),LevNr=$P(R,D)_" ",LevRef=$P(R,D,3)_" ",LevRefKey=$$UPTRIMAN^vhRtn1(LevRef)_" " . . If '$D(^KPL(LevNr," ",LevRef,CompKort)) Do Quit:$G(Check)=0 . . . If $D(Check) Set Check=0 . . . Else Write !,"^KPR(",PRNr,")"," - Index ^KPL onbekend" . . If $L(LevRefKey)>1,'$D(^Prod.SearchIndexD("LR",LevRefKey,PRNr)) Do Quit:$G(Check)=0 . . . If $D(Check) Set Check=0 . . . Else Write !,"^KPR(",PRNr,")"," - Index ^Prod.SearchIndexD(""LR"","""_LevRefKey_""","_PRNr_") onbekend" . Quit:$G(Check)=0 . Set Dossier=$P($G(^KPR(PRNr,"G")),D),DossierKey=Dossier_" " . If $L(DossierKey)>1,'$D(^Prod.SearchIndexD("D",DossierKey,PRNr)) Do Quit:$G(Check)=0 . . If $D(Check) Set Check=0 . . Else Write !,"^KPR(",PRNr,")"," - Index ^Prod.SearchIndexD(""D"","""_DossierKey_""","_PRNr_") onbekend" . Quit:$G(Check)=0 ; ; ^KPR1 versus ^KPR Set CompKort="" If $G(Check)'=0 For Set CompKort=$O(^KPR1(CompKort)) Quit:CompKort="" Do Quit:$G(Check)=0 . Set R=^KPR1(CompKort),PRNr=$P(R,D) . If '$D(^KPR(PRNr)) Do Quit:$G(Check)=0 . . If $D(Check) Set Check=0 . . Else Write !,"^KPR(",PRNr,")"," - ^KPR1 - product onbekend" . Else Do . . Set CompKortX=$$COMPR^PRODUKT(PRNr) . . If CompKort'=CompKortX Do Quit:$G(Check)=0 . . . If $D(Check) Set Check=0 . . . Else Write !,"^KPR(",PRNr,")"," - ^KPR1 verschillend" ;,!,"^KPR1(",CompKort,")" r " <-- Delete? ",Del ;k:Del="y" ^KPR1(CompKort) ; ; ^KPR2 versus ^KPR Set CompIdentNr="" If $G(Check)'=0 For Set CompIdentNr=$O(^KPR2(CompIdentNr)) Quit:CompIdentNr="" Do Quit:$G(Check)=0 . Set R=^KPR2(CompIdentNr),PRNr=$P(R,D),IdentNr=$P(R,D,2) . If '$D(^KPR(PRNr)) Do Quit:$G(Check)=0 . . If $D(Check) Set Check=0 . . Else Write !,"^KPR(",PRNr,")"," - ^KPR2 - product onbekend" . Else Do . . If IdentNr'=$P(^KPR(PRNr,2),D,25) Do Quit:$G(Check)=0 . . . If $D(Check) Set Check=0 . . . Else Write !,"^KPR(",PRNr,")"," - ^KPR2 verschillend" ; ; ^KPH versus ^KPR Set HoofdGroep="" If $G(Check)'=0 For Set HoofdGroep=$O(^KPH(HoofdGroep)) Quit:HoofdGroep="" Do Quit:$G(Check)=0 . Set Groep="" . For Set Groep=$O(^KPH(HoofdGroep,Groep)) Quit:Groep="" Do Quit:$G(Check)=0 . . Set SubGroep="" . . For Set SubGroep=$O(^KPH(HoofdGroep,Groep,SubGroep)) Quit:SubGroep="" Do Quit:$G(Check)=0 . . . Set CompKort="" . . . For Set CompKort=$O(^KPH(HoofdGroep,Groep,SubGroep," ",CompKort)) Quit:CompKort="" Do Quit:$G(Check)=0 . . . . Set PRNr=^KPH(HoofdGroep,Groep,SubGroep," ",CompKort) . . . . If '$D(^KPR(PRNr)) Do Quit:$G(Check)=0 . . . . . If $D(Check) Set Check=0 . . . . . Else Write !,"^KPR(",PRNr,")"," - ^KPH - product onbekend" . . . . Set IKlas=$O(^KPR(PRNr,"I")) . . . . If $E(IKlas)'="I" Do Quit:$G(Check)=0 . . . . . If $D(Check) Set Check=0 . . . . . Else Write !,"^KPR(",PRNr,"""I"") - onbekend" . . . . Set R=^KPR(PRNr,IKlas) . . . . If HoofdGroep'=$P(R,D)!(Groep'=$P(R,D,2))!(SubGroep'=$P(R,D,3)) Do Quit:$G(Check)=0 . . . . . If $D(Check) Set Check=0 . . . . . Else Write !,"^KPR(",PRNr,",""",IKlas,""") - ^KPH - verschillend - ",HoofdGroep," - ",Groep," - ",SubGroep . . . . Set CompKortX=$$COMPR^PRODUKT(PRNr) . . . . If CompKort'=CompKortX Do Quit:$G(Check)=0 . . . . . If $D(Check) Set Check=0 . . . . . Else Write !,"^KPR(",PRNr,")"," - ^KPH - verschillend" ;,!,"^KPH(",HoofdGroep,",",Groep,",",SubGroep,""" "",",CompKort,")" r " <-- Delete? ",Del ;k:Del="y" ^KPH(HoofdGroep,Groep,SubGroep," ",CompKort) . . . . If '$D(^KPHG1(HoofdGroep)) Do Quit:$G(Check)=0 . . . . . If $D(Check) Set Check=0 . . . . . Else Write !,"^KPR(",PRNr,")"," - ^KPHG - hoofdgroep onbekend" . . . . If '$D(^KPGR1(Groep)) Do Quit:$G(Check)=0 . . . . . If $D(Check) Set Check=0 . . . . . Else Write !,"^KPR(",PRNr,")"," - ^KPGR - groep onbekend" . . . . If '$D(^KPSG1(SubGroep)) Do Quit:$G(Check)=0 . . . . . If $D(Check) Set Check=0 . . . . . Else Write !,"^KPR(",PRNr,")"," - ^KPSG - subgroep onbekend" ; ; ^KPM versus ^KPR Set HoofdGroep="" If $G(Check)'=0 For Set HoofdGroep=$O(^KPM(" ",HoofdGroep)) Quit:HoofdGroep="" Do Quit:$G(Check)=0 . Set Groep="" . For Set Groep=$O(^KPM(" ",HoofdGroep,Groep)) Quit:Groep="" Do Quit:$G(Check)=0 . . Set SubGroep="" . . For Set SubGroep=$O(^KPM(" ",HoofdGroep,Groep,SubGroep)) Quit:SubGroep="" Do Quit:$G(Check)=0 . . . Set CompKort="" . . . For Set CompKort=$O(^KPM(" ",HoofdGroep,Groep,SubGroep,CompKort)) Quit:CompKort="" Do Quit:$G(Check)=0 . . . . Set PRNr=^KPM(" ",HoofdGroep,Groep,SubGroep,CompKort) . . . . If '$D(^KPR(PRNr)) Do Quit:$G(Check)=0 . . . . . If $D(Check) Set Check=0 . . . . . Else Write !,"^KPR(",PRNr,")"," - ^KPM - product onbekend" . . . . Set IKlas=$O(^KPR(PRNr,"I")) . . . . If $E(IKlas)'="I" Do Quit:$G(Check)=0 . . . . . If $D(Check) Set Check=0 . . . . . Else Write !,"^KPR(",PRNr,"""I"") - onbekend" . . . . Set R=^KPR(PRNr,IKlas) . . . . If HoofdGroep'=$P(R,D)!(Groep'=$P(R,D,2))!(SubGroep'=$P(R,D,3)) Do Quit:$G(Check)=0 . . . . . If $D(Check) Set Check=0 . . . . . Else Write !,"^KPR(",PRNr,",""",IKlas,""") - ^KPM - verschillend - ",HoofdGroep," - ",Groep," - ",SubGroep . . . . Set CompKortX=$$COMPR^PRODUKT(PRNr) . . . . If CompKort'=CompKortX Do Quit:$G(Check)=0 . . . . . If $D(Check) Set Check=0 . . . . . Else Write !,"^KPR(",PRNr,")"," - ^KPM - verschillend" ;,!,"^KPM("" "",",HoofdGroep,",",Groep,",",SubGroep,",",CompKort,")" r " <-- Delete? ",Del ;k:Del="y" ^KPM(" ",HoofdGroep,Groep,SubGroep,CompKort) . . . . If '$D(^KPHG1(HoofdGroep)) Do Quit:$G(Check)=0 . . . . . If $D(Check) Set Check=0 . . . . . Else Write !,"^KPR(",PRNr,")"," - ^KPHG - hoofdgroep onbekend" . . . . If '$D(^KPGR1(Groep)) Do Quit:$G(Check)=0 . . . . . If $D(Check) Set Check=0 . . . . . Else Write !,"^KPR(",PRNr,")"," - ^KPGR - groep onbekend" . . . . If '$D(^KPSG1(SubGroep)) Do Quit:$G(Check)=0 . . . . . If $D(Check) Set Check=0 . . . . . Else Write !,"^KPR(",PRNr,")"," - ^KPSG - subgroep onbekend" ; ; ^KPL versus ^KPR Set LevNr="" If $G(Check)'=0 For Set LevNr=$O(^KPL(LevNr)) Quit:LevNr="" Do Quit:$G(Check)=0 . Set LevRef="" . For Set LevRef=$O(^KPL(LevNr," ",LevRef)) Quit:LevRef="" Do Quit:$G(Check)=0 . . Set CompKort="" . . For Set CompKort=$O(^KPL(LevNr," ",LevRef,CompKort)) Quit:CompKort="" Do Quit:$G(Check)=0 . . . Set PRNr=^KPL(LevNr," ",LevRef,CompKort) . . . If '$D(^KPR(PRNr)) Do Quit:$G(Check)=0 . . . . If $D(Check) Set Check=0 . . . . Else Write !,"^KPR(",PRNr,")"," - ^KPL - product onbekend" . . . Set CompKortX=$$COMPR^PRODUKT(PRNr) . . . If CompKort'=CompKortX Do Quit:$G(Check)=0 . . . . If $D(Check) Set Check=0 . . . . Else Write !,"^KPR(",PRNr,")"," - ^KPL - verschillend" ;,!,"^KPL(",LevNr,""" "",",LevRef,",",CompKort,")" r " <-- Delete? ",Del ;k:Del="y" ^KPL(LevNr," ",LevRef,CompKort) ; ; Search index versus ^KPR If $G(Check)'=0 Do CHECKSI(.Check) Quit ; CHECK() New Set Check=1 Do CHECKPR Quit Check ; ; Search index CHECKSI(Check) New I,Type,ComprKey,PRNr,lbSI,Active,Grouping,Origine,Pool,ProductType,Saleable,Sort,StockType,FullKey,GRec,DossierNr,Alias,AlisOk New IdentNr,KortTekst,LevRef,CommAct,LinkType,StockTypeKPR,GenerischeRoutine Set Type="" For Set Type=$O(^Prod.SearchIndexD(Type)) Quit:Type="" Do Quit:$G(Check)=0 . Set ComprKey="" . For Set ComprKey=$O(^Prod.SearchIndexD(Type,ComprKey)) Quit:ComprKey="" Do Quit:$G(Check)=0 . . Set PRNr="" . . For Set PRNr=$O(^Prod.SearchIndexD(Type,ComprKey,PRNr)) Quit:PRNr="" Do Quit:$G(Check)=0 . . . Set lbSI=^Prod.SearchIndexD(Type,ComprKey,PRNr),ZR=$ZR . . . If '$D(^KPR(PRNr)) Do Quit . . . . If $D(Check) Set Check=0 . . . . Else Write !,ZR," - ^KPR(",PRNr,") onbekend" . . . Set Active=$LI(lbSI,2),Grouping=$LI(lbSI,3),Origine=$LI(lbSI,4),Pool=$LI(lbSI,5),ProductType=$LI(lbSI,6) . . . Set Saleable=$LI(lbSI,7),Sort=$LI(lbSI,8),StockType=$LI(lbSI,9),FullKey=$LI(lbSI,10) . . . Set Product=##Class(Prod.Product).%OpenId(PRNr) . . . Set KortTekst=Product.KortTekst . . . Set IdentNr=Product.IdentNummer . . . Set DossierNr=$P($G(^KPR(PRNr,"G")),D) . . . Set LevRef=$P(^KPR(PRNr,$O(^KPR(PRNr,"J"))),D,3) . . . Set Alias="" . . . If Type="K" Do ; Korttekst . . . . Set AliasOk=0 . . . . If $E(ComprKey,1,$L(ComprKey)-1)'=$$UPTRIMAN^vhRtn1(KortTekst) Do Quit:$G(Check)=0 . . . . . Set:Origine="A" Alias=##class(Prod.Kenmerk.DataDefinitie).Get("OEI",PRNr,"AliasK") . . . . . For I=1:1:$LL(Alias) Set AliasOk=$E(ComprKey,1,$L(ComprKey)-1)=$$UPTRIMAN^vhRtn1($LI(Alias,I)) Quit:AliasOk . . . . . If AliasOk Set AliasOk=I Quit . . . . . If $D(Check) Set Check=0 . . . . . Else Write !,ZR," - Korttekstsleutel(Alias) verschillend" . . . . If FullKey'=KortTekst Do Quit:$G(Check)=0 . . . . . If AliasOk,FullKey=$LI(Alias,AliasOk) Quit ; FullKey is gelijk aan een van de aliassen . . . . . If $D(Check) Set Check=0 . . . . . Else Write !,ZR," - Korttekst verschillend" . . . Else If Type="I" Do ; Identnummer . . . . Set AliasOk=0 . . . . If $E(ComprKey,1,$L(ComprKey)-1)'=$TR(IdentNr,".","") Do Quit:$G(Check)=0 . . . . . Set:Origine="A" Alias=##class(Prod.Kenmerk.DataDefinitie).Get("OEI",PRNr,"AliasI") . . . . . For I=1:1:$LL(Alias) Set AliasOk=$E(ComprKey,1,$L(ComprKey)-1)=$TR($LI(Alias,I),".","") Quit:AliasOk . . . . . If AliasOk Set AliasOk=I Quit . . . . . If $D(Check) Set Check=0 . . . . . Else Write !,ZR," - Identnummersleutel(Alias) verschillend" . . . . If FullKey'=IdentNr Do Quit:$G(Check)=0 . . . . . If AliasOk,FullKey=$LI(Alias,AliasOk) Quit ; FullKey is gelijk aan een van de aliassen . . . . . If $D(Check) Set Check=0 . . . . . Else Write !,ZR," - Identnummer verschillend",!,$$LCVT^vhLib(Alias) . . . Else If Type="LR" Do ; Leveranciersreferentie . . . . Set AliasOk=0 . . . . If $E(ComprKey,1,$L(ComprKey)-1)'=$$UPTRIMAN^vhRtn1(LevRef) Do Quit:$G(Check)=0 . . . . . Set:Origine="A" Alias=##class(Prod.Kenmerk.DataDefinitie).Get("OEI",PRNr,"AliasLR") . . . . . For I=1:1:$LL(Alias) Set AliasOk=$E(ComprKey,1,$L(ComprKey)-1)=$TR($LI(Alias,I),".","") Quit:AliasOk . . . . . If AliasOk Set AliasOk=I Quit . . . . . If $D(Check) Set Check=0 . . . . . Else Write !,ZR," - LevRefsleutel(Alias) verschillend" . . . . If FullKey'=LevRef Do Quit:$G(Check)=0 . . . . . If AliasOk,FullKey=$LI(Alias,AliasOk) Quit ; FullKey is gelijk aan een van de aliassen . . . . . If $D(Check) Set Check=0 . . . . . Else Write !,ZR," - LevRef verschillend" . . . Else If Type="D" Do ; Dossiernummer . . . . If $E(ComprKey,1,$L(ComprKey)-1)'=DossierNr Do Quit:$G(Check)=0 . . . . . If $D(Check) Set Check=0 . . . . . Else Write !,ZR," - Dossiersleutel verschillend" . . . . If FullKey'=DossierNr Do Quit:$G(Check)=0 . . . . . If $D(Check) Set Check=0 . . . . . Else Write !,ZR," - Dossier verschillend" . . . Set CommAct=Product.NONAktief ; Commercieel actief . . . If $P("A\N\B",D,CommAct+1)'=Active Do Quit:$G(Check)=0 . . . . If $D(Check) Set Check=0 . . . . Else Write !,ZR," - Commercieel actief verschillend" ;,!,"Rebuild ",PRNr Kill @ZR Do BLDIND^PRODUKT2(PRNr) w " -> ok" ; cw 11.04.11 . . . Set LinkType=Product.LinkType ; Linktype . . . If $S(LinkType["H":"H",LinkType="K":"K",$E(Product.IdentNummer)=6:"K",1:"S")'=Saleable Do Quit:$G(Check)=0 . . . . If $D(Check) Set Check=0 . . . . Else Write !,ZR," - Linktype verschillend" . . . Set StockTypeKPR=Product.StockType ; Stocktype . . . If $S($E(IdentNr)=7:"D",StockTypeKPR="C":"C",StockTypeKPR="S":"S",1:"N")'=StockType Do Quit:$G(Check)=0 . . . . If $D(Check) Set Check=0 . . . . Else Write !,ZR," - Stocktype verschillend" . . . Set GenerischeRoutine=Product.GenerischeRoutine ; Producttype . . . If $S(GenerischeRoutine?3.7N:"D",$$ISORGAL^ORGALUX(PRNr):"O",1:"B")'=ProductType Do Quit:$G(Check)=0 . . . . If $D(Check) Set Check=0 . . . . Else Write !,ZR," - Producttype verschillend" . . . If Grouping'=Product.Klas.Sectie Do Quit:$G(Check)=0 ; Grouping . . . . If $D(Check) Set Check=0 . . . . Else Write !,ZR," - Groepering verschillend" . . . Set SelectPool=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("OEI",PRNr,"Pool")) . . . If $S(SelectPool="KS":"KS",SelectPool="I":"IP",1:"NS")'=Pool Do Quit:$G(Check)=0 . . . . If $D(Check) Set Check=0 . . . . Else Write !,ZR," - Klantenpool verschillend" Quit ;