ZBCHKFLO ; klanten [ 12/19/2002 8:57 AM ] ; Do .New Check .Set Q="K" .Do ^cA604 If '$D(Check) Write !!,"*** Flow ***" Set KLNr=0 For Set KLNr=$O(^KOD(KLNr)) Quit:'KLNr Do .Set ORDNr=0 .For Set ORDNr=$O(^KOD(KLNr,"F",ORDNr)) Quit:'ORDNr Do ..Set OLNr=100 ..For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:'OLNr Do ...Set R=^KOD(KLNr,"F",ORDNr,OLNr),PRNr=$P(R,D,2),LevTerm=$P(R,D,25),TOENr=$P(R,D,27),TLNr=$P($P(R,D,28),";") ...If TOENr Do ....If 'TLNr Do Quit .....If $D(Check) Set Check=0 .....Else Write !!,$ZR,!,R,!,"TLNr onbekend" ....Set LEVNr=$P(^KTO1(TOENr),D) ....If '$D(^KTO(LEVNr,TOENr,TLNr)) Do Quit .....If $D(Check) Set Check=0 .....Else Write !!,$ZR," onbekend" ....Set R=^KTO(LEVNr,TOENr,TLNr) ....If $P(R,D,27)'=ORDNr!($P($P(R,D,28),";")'=OLNr) Do .....If $D(Check) Set Check=0 .....Write !,$ZR," verschil",!,ORDNr," ",OLNr,!,R ...If PRNr,LevTerm'?5N Do ....If $D(Check) Set Check=0 ....Else Write !,$ZR," Levertermijn ",LevTerm If $G(Check)'=0 Do .Set ORDNr="" .For Set ORDNr=$O(^KO1(ORDNr)) Quit:ORDNr="" Do ..Set R=^KO1(ORDNr,"F"),BONNr=$P(R,D,2) ..Quit:'BONNr ..If '$D(^KU1(BONNr)) Do Quit ...If $D(Check) Set Check=0 ...Else Write !!,"^KO1(",ORDNr,",""F"")",!,R,!,$ZR," onbekend" ; w " <- kill" ; Kill ^KO1(ORDNr,"F") ; Opkuis na STATDEL If $G(Check)'=0 Do .Set LEVNr=0 .For Set LEVNr=$O(^KTO(LEVNr)) Quit:'LEVNr Do ..Set TOENr=0 ..For Set TOENr=$O(^KTO(LEVNr,TOENr)) Quit:'TOENr Do ...Set R=^KTO(LEVNr,TOENr,1),ABNr=$$UPTRIMAN^vhRtn1($P(R,D,10)) ;Quit:ABNr="" ...If $L(ABNr),'$D(^KTO4(LEVNr,ABNr_D_TOENr)),'$$ISDIRORD^FLOWTOE(TOENr) Do ....If $D(Check) Set Check=0 ....Else Write !!,"^KTO(",LEVNr,",",TOENr,")",!,$ZR," onbekend" ...Set TLNr=100 ...For Set TLNr=$O(^KTO(LEVNr,TOENr,TLNr)) Quit:'TLNr Do ....Set R=^KTO(LEVNr,TOENr,TLNr),ORDNr=$P(R,D,27),OLNr=$P($P(R,D,28),";"),PRNr=$P(R,D,2),ABLNr=$P(R,D,13,14) ....If PRNr,'$D(^KTO3(TOENr,ABLNr_D_TLNr)) Do .....If $D(Check) Set Check=0 .....Else Write !!,"^KTO(",LEVNr,",",TOENr,",",TLNr,")",$ZR," onbekend" ....If ORDNr Do .....If 'OLNr Do Quit ......If $D(Check) Set Check=0 ......Else Write !!,$ZR,!,R,!,"OLNr onbekend" .....If '$D(^KO1(ORDNr,"F")) Do Quit ......If $D(Check) Set Check=0 ......Else Write !!,$ZR," onbekend" .....Set KLNr=$P(^KO1(ORDNr,"F"),D) .....If '$D(^KOD(KLNr,"F",ORDNr,OLNr)) Do Quit ......If $D(Check) Set Check=0 ......Else Write !!,$ZR," onbekend" .....Set R=^KOD(KLNr,"F",ORDNr,OLNr) .....If $P(R,D,27)'=TOENr!($P($P(R,D,28),";")'=TLNr) Do ......If $D(Check) Set Check=0 ......Else Write !,$ZR," verschil",!,TOENr," ",TLNr,!,R If $G(Check)'=0 Do .Set LEVNr="" .For Set LEVNr=$O(^KTO2(LEVNr)) Quit:LEVNr="" Do ..Set TOENr="" ..For Set TOENr=$O(^KTO2(LEVNr,TOENr)) Quit:TOENr="" Do ...If '$D(^KTO(LEVNr,TOENr)) Do Quit ....If $D(Check) Set Check=0 ....Else Write !!,"^KTO2(",LEVNr,",",TOENr,")",!,$ZR," onbekend" If $G(Check)'=0 Do .Set TOENr="" .For Set TOENr=$O(^KTO3(TOENr)) Quit:TOENr="" Do ..Set LEVNr=$P($G(^KTO1(TOENr)),D) ..If 'LEVNr Do Quit ...If $D(Check) Set Check=0 ...Else Write !!,"^KTO3(",TOENr,")",!,$ZR," onbekend" ..Set ABLTLNr="" ..For Set ABLTLNr=$O(^KTO3(TOENr,ABLTLNr)) Quit:ABLTLNr="" Do ...Set TLNr=$P(ABLTLNr,D,3),R=$G(^KTO(LEVNr,TOENr,TLNr)) ...If R="" Do Quit ....If $D(Check) Set Check=0 ....Else Write !!,"^KTO3(",TOENr,",",ABLTLNr,")",!,$ZR," onbekend" ...If $P(ABLTLNr,D,1,2)'=$P(R,D,13,14) Do ....If $D(Check) Set Check=0 ....Else Write !!,"^KTO3(",TOENr,",",ABLTLNr,")",!,$ZR," veschillend" If $G(Check)'=0 Do .Set TOENr="" .For Set TOENr=$O(^KTO1(TOENr)) Quit:TOENr="" Do ..Set LEVNr=$P(^KTO1(TOENr),D) ..If '$D(^KTO(LEVNr,TOENr)) Do Quit ....If $D(Check) Set Check=0 ....Else Write !!,"^KTO1(",TOENr,")",!,$ZR," onbekend" If $G(Check)'=0 Do .Set LEVNr="" .For Set LEVNr=$O(^KTO4(LEVNr)) Quit:LEVNr="" Do ..Set ABTOENr="" ..For Set ABTOENr=$O(^KTO4(LEVNr,ABTOENr)) Quit:ABTOENr="" Do ...Set ABNr=$P(ABTOENr,D),TOENr=$P(ABTOENr,D,2) ...If '$D(^KTO(LEVNr,TOENr)) Do Quit ....If $D(Check) Set Check=0 ....Else Write !!,"^KTO4(",LEVNr,",",ABTOENr,")",!,$ZR," onbekend" ...Set R=^KTO(LEVNr,TOENr,1),ABNr=$$UPTRIMAN^vhRtn1($P(R,D,10)) Quit:ABNr="" ...If ABNr'=$P(ABTOENr,D) Do ....If $D(Check) Set Check=0 ....Else Write !!,"^KTO4(",LEVNr,",",ABTOENr,")",!,$ZR," verschil ,",ABNr If $G(Check)'=0 Do .Set KLNr=0 .For Set KLNr=$O(^KUL(KLNr)) Quit:KLNr="" Do ..Set Soort="" ..For Set Soort=$O(^KUL(KLNr,Soort)) Quit:Soort="" Do:Soort'="T" ...Set BONNr="" ...For Set BONNr=$O(^KUL(KLNr,Soort,BONNr)) Quit:BONNr="" Do ....Set R=^KUL(KLNr,Soort,BONNr,1),Date=$$INTDATE^vhDTyp($P(R,D,2)),VerzW=$P($P(R,D,7)," ")_" " ....If '$D(^KU1(BONNr,"F")) Do Quit .....If $D(Check) Set Check=0 .....Else Write !!,$ZR,!,R,!,"Index U1 onbekend" ....Set R=^KU1(BONNr,"F") ....If $P(R,D)'=KLNr Do .....If $D(Check) Set Check=0 .....Else Write !!,$ZR,!,"Verschil",!,KLNr,!,R ....If '$D(^KU3(-Date,VerzW,BONNr)) Do Quit .....If $D(Check) Set Check=0 .....Else Write !!,$ZR,!,R,!,"Index U3 onbekend" ....Set R=^KU3(-Date,VerzW,BONNr) ....If R'=(KLNr_D_Soort) Do .....If $D(Check) Set Check=0 .....Else Write !!,$ZR,!,"Verschil",!,KLNr,"\F",!,R If 0,$G(Check)'=0 Do .Set BONNr="" .For Set BONNr=$O(^KU1(BONNr)) Quit:BONNr="" Do ..Set R=^KU1(BONNr,"F"),KLNr=$P(R,D),Soort="" ..For Set Soort=$O(^KUL(KLNr,Soort)) Quit:Soort="" Quit:$D(^KUL(KLNr,Soort,BONNr)) ..If Soort="" Do ...If $D(Check) Set Check=0 ...Else Write !!,"^KU1(",BONNr,",""F"")",!,"^KUL(",KLNr,",,",BONNr,") onbekend",!,R If $G(Check)'=0 Do .Set Date="" .For Set Date=$O(^KU3(Date)) Quit:Date="" Do ..Set VerzW="" ..For Set VerzW=$O(^KU3(Date,VerzW)) Quit:VerzW="" Do ...Set BONNr="" ...For Set BONNr=$O(^KU3(Date,VerzW,BONNr)) Quit:BONNr="" Do ....Set R=^KU3(Date,VerzW,BONNr),KLNr=$P(R,D),Soort=$P(R,D,2) ....If '$D(^KUL(KLNr,Soort,BONNr)) Do Quit .....If $D(Check) Set Check=0 .....Else Write !!,$ZR,!,R,!,"Bon onbekend" ....Set R=^KUL(KLNr,Soort,BONNr,1) ....If $P($P(R,D,7)," ")_" "'=VerzW Do .....If $D(Check) Set Check=0 .....Else Write !!,$ZR,!,"Verschil",!,VerzW,!,R ....If -$$INTDATE^vhDTyp($P(R,D,2))'=Date Do .....If $D(Check) Set Check=0 .....Else Write !!,$ZR,!,"Verschil",!,Date,!,R ; Offertes If $G(Check)'=0 Do .Set KLNr=0 .For Set KLNr=$O(^KOFKL(KLNr)) Quit:'KLNr Do ..Set OFFNr=0 ..For Set OFFNr=$O(^KOFKL(KLNr,"F",OFFNr)) Quit:'OFFNr Do ...If '$D(^KOFKL1(OFFNr,"F")) Do ....If $D(Check) Set Check=0 ....Else Write !!,$ZR," onbekend" ...Else If $P(^KOFKL1(OFFNr,"F"),D)'=KLNr Do ....If $D(Check) Set Check=0 ....Else Write !!,$ZR," klant verschillend" ...If '$D(^KOFKL2("F",KLNr,OFFNr)) Do ....If $D(Check) Set Check=0 ....Else Write !!,$ZR," onbekend" ...Set OFFLNr=100 ...For Set OFFLNr=$O(^KOFKL(KLNr,"F",OFFNr,OFFLNr)) Quit:OFFLNr'?3.4N Do ....Set R=^KOFKL(KLNr,"F",OFFNr,OFFLNr),PRNr=$P(R,D,2),OFFLUNr=$P(R,D,15) ....If PRNr,$D(^KPR(PRNr)) Do .....If $G(^KOFKLP(PRNr,OFFNr,OFFLNr))'=KLNr Do ......If $D(Check) Set Check=0 ......Else If '$D(^KOFKLP(PRNr,OFFNr,OFFLNr)) Write !!,$ZR,!," onbekend" ......Else Write !!,$ZR,!,"Klant verschillend" .....If OFFLUNr Do ......If $G(^OFF("IP",PRNr,OFFNr,OFFLUNr))'=OFFLNr Do .......If $D(Check) Set Check=0 .......Else If '$D(^OFF("IP",PRNr,OFFNr,OFFLUNr)) Write !!,$ZR,!," onbekend" .......Else Write !!,$ZR,!,"Lijnnummer verschillend" ......If $G(^OFF("IU",OFFNr,OFFLUNr))'=OFFLNr Do .......If $D(Check) Set Check=0 .......Else If '$D(^OFF("IU",OFFNr,OFFLUNr)) Write !!,$ZR,!," onbekend" .......Else Write !!,$ZR,!,"Lijnnummer verschillend" If $G(Check)'=0 Do .Set OFFNr="" .For Set OFFNr=$O(^KOFKL1(OFFNr)) Quit:OFFNr="" Do ..Set R=^KOFKL1(OFFNr,"F"),KLNr=$P(R,D) ..If '$D(^KOFKL(KLNr,"F",OFFNr)) Do Quit ...If $D(Check) Set Check=0 ...Else Write !!,$ZR," onbekend" If $G(Check)'=0 Do .Set KLNr=0 .For Set KLNr=$O(^KOFKL2("F",KLNr)) Quit:'KLNr Do ..Set OFFNr=0 ..For Set OFFNr=$O(^KOFKL2("F",KLNr,OFFNr)) Quit:'OFFNr Do ...If '$D(^KOFKL(KLNr,"F",OFFNr)) Do Quit ....If $D(Check) Set Check=0 ....Else Write !!,$ZR," onbekend" If $G(Check)'=0 Do .Set PRNr=0 .For Set PRNr=$O(^KOFKLP(PRNr)) Quit:'PRNr Do ..Set OFFNr=0 ..For Set OFFNr=$O(^KOFKLP(PRNr,OFFNr)) Quit:'OFFNr Do ...Set OFFLNr="" ...For Set OFFLNr=$O(^KOFKLP(PRNr,OFFNr,OFFLNr)) Quit:'OFFLNr Do ....Set KLNr=^KOFKLP(PRNr,OFFNr,OFFLNr),ZR=$ZR ....If '$D(^KOFKL(KLNr,"F",OFFNr,OFFLNr)) Do Quit .....If $D(Check) Set Check=0 .....Else Write !!,ZR," onbekend" ....If $P(^KOFKL(KLNr,"F",OFFNr,OFFLNr),D,2)'=PRNr Do Quit .....If $D(Check) Set Check=0 .....Else Write !!,$ZR," product verschillend" If $G(Check)'=0 Do .Set PRNr=0 .For Set PRNr=$O(^OFF("IP",PRNr)) Quit:'PRNr Do ..Set OFFNr=0 ..For Set OFFNr=$O(^OFF("IP",PRNr,OFFNr)) Quit:'OFFNr Do ...Set KLNr=$P(^KOFKL1(OFFNr,"F"),D) ...Set OFFLUNr="" ...For Set OFFLUNr=$O(^OFF("IP",PRNr,OFFNr,OFFLUNr)) Quit:'OFFLUNr Do ....Set OFFLNr=^OFF("IP",PRNr,OFFNr,OFFLUNr) ....If '$D(^KOFKL(KLNr,"F",OFFNr,OFFLNr)) Do Quit .....If $D(Check) Set Check=0 .....Else Write !!,$ZR," onbekend" ....If $P(^KOFKL(KLNr,"F",OFFNr,OFFLNr),D,2)'=PRNr Do Quit .....If $D(Check) Set Check=0 .....Else Write !!,$ZR," product verschillend" If $G(Check)'=0 Do .Set OFFNr=0 .For Set OFFNr=$O(^OFF("IU",OFFNr)) Quit:'OFFNr Do ..Set KLNr=$P(^KOFKL1(OFFNr,"F"),D) ..Set OFFLUNr="" ..For Set OFFLUNr=$O(^OFF("IU",OFFNr,OFFLUNr)) Quit:'OFFLUNr Do ...Set OFFLNr=^OFF("IU",OFFNr,OFFLUNr) ...If '$D(^KOFKL(KLNr,"F",OFFNr,OFFLNr)) Do Quit ....If $D(Check) Set Check=0 ....Else Write !!,$ZR," onbekend" Quit ; CHECK(What) New (What) Set What=$G(What),Check=1 Do @$S(What="O":"DUBLORD",What="B":"DUBLBON",1:"ZBCHKFLO") Quit Check ; DUBLORD Do .New Check .Set Q="K" .Do ^cA604 If '$D(Check) Write !!,"*** Dubbels orders ***" Set KLNr=0 For Set KLNr=$O(^KOD(KLNr)) Quit:KLNr="" Do .Set ORDNr="" .For Set ORDNr=$O(^KOD(KLNr,"F",ORDNr)) Quit:ORDNr="" Do ..Kill Enkel,Dubbel ..Set OLNr=100 ..For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:OLNr="" Do ...Set R=^KOD(KLNr,"F",ORDNr,OLNr),PRNr=$P(R,D,2),Omschr=$P(R,D,5),Netto=$P(R,D,9),LijnTyp=$P($P(R,D,17),"#") ...If PRNr ...Else If $L(Omschr) Do ....Quit:$TR(Omschr," -","")="" ....Set:$D(Enkel(LijnTyp,R)) Dubbel(LijnTyp,Omschr)=$G(Dubbel(LijnTyp,Omschr))+1 ....Set Enkel(LijnTyp,R)="" ...Else If $L(Netto) Set:$D(Enkel(Netto)) Dubbel(Netto)=$G(Dubbel(Netto))+1 Set Enkel(Netto)="" ..Quit:'$D(Dubbel) ..If $D(Check) Set Check=0 Quit ..Write !,KLNr," - ",ORDNr,! ..Set LijnTyp="" ..For Set LijnTyp=$O(Dubbel(LijnTyp)) Quit:LijnTyp="" Do ...Write ?7,LijnTyp ...Set Omschr="" ...For Set Omschr=$O(Dubbel(LijnTyp,Omschr)) Quit:Omschr="" Do ....Write ?18,Omschr," = ",Dubbel(LijnTyp,Omschr),! Quit ; DUBLBON Do .New Check .Set Q="K" .Do ^cA604 If '$D(Check) Write !!,"*** Dubbels leveringsbons ***" Set KLNr=0 For Set KLNr=$O(^KUL(KLNr)) Quit:KLNr="" Do .Set BONNr="" .For Set BONNr=$O(^KUL(KLNr,"F",BONNr)) Quit:BONNr="" Do ..Kill Enkel,Dubbel ..Set OLNr=100 ..For Set OLNr=$O(^KUL(KLNr,"F",BONNr,OLNr)) Quit:'OLNr Do ...Set R=^KUL(KLNr,"F",BONNr,OLNr),PRNr=$P(R,D,2),Omschr=$P(R,D,5),Netto=$P(R,D,9),LijnTyp=$P($P(R,D,17),"#") ...If PRNr ...Else If $L(Omschr) Do ....Quit:$TR(Omschr," -","")="" ....Set:$D(Enkel(LijnTyp,R)) Dubbel(LijnTyp,Omschr)=$G(Dubbel(LijnTyp,Omschr))+1 ....Set Enkel(LijnTyp,R)="" ...Else If $L(Netto) Set:$D(Enkel(Netto)) Dubbel(Netto)=$G(Dubbel(Netto))+1 Set Enkel(Netto)="" ..Quit:'$D(Dubbel) ..If $D(Check) Set Check=0 Quit ..Write !,KLNr," - ",BONNr,! ..Set LijnTyp="" ..For Set LijnTyp=$O(Dubbel(LijnTyp)) Quit:LijnTyp="" Do ...Write ?7,LijnTyp ...Set Omschr="" ...For Set Omschr=$O(Dubbel(LijnTyp,Omschr)) Quit:Omschr="" Do ....Write ?18,Omschr," = ",Dubbel(LijnTyp,Omschr),! Quit ; DUBLFAK If '$D(Q) Set Q="K" Do ^cA604 Set FANr="" For Set FANr=$O(^KFA("F",FANr)) Quit:FANr="" Do .Set R=^KFA("F",FANr,0,0),FaktDate=$P(R,D,6) .Set BONNr="U" .For Set BONNr=$O(^KFA("F",FANr,BONNr)) Quit:BONNr="" Do ..Kill Enkel,Dubbel ..Set ULNr=100 ..For Set ULNr=$O(^KFA("F",FANr,BONNr,ULNr)) Quit:ULNr="" Do ...Set R=^KFA("F",FANr,BONNr,ULNr),PRNr=$P(R,D,2),Omschr=$P(R,D,5),Netto=$P(R,D,9),LijnTyp=$P($P(R,D,17),"#") ...If PRNr ...Else If $L(Omschr) Do ....Quit:$TR(Omschr," -","")="" ....Set:$D(Enkel(LijnTyp,R)) Dubbel(LijnTyp,Omschr)=$G(Dubbel(LijnTyp,Omschr))+1 ....Set Enkel(LijnTyp,R)="" ...Else If $L(Netto) Set:$D(Enkel(Netto)) Dubbel(Netto)=$G(Dubbel(Netto))+1 Set Enkel(Netto)="" ..Quit:'$D(Dubbel("KF1925")) ..Write !,FANr," - ",FaktDate," - ",BONNr,! ..Set LijnTyp="" ..For Set LijnTyp=$O(Dubbel(LijnTyp)) Quit:LijnTyp="" Do ...Write ?9,LijnTyp ...Set Omschr="" ...For Set Omschr=$O(Dubbel(LijnTyp,Omschr)) Quit:Omschr="" Do ....Write ?20,Omschr," = ",Dubbel(LijnTyp,Omschr),! Quit ; DUBLPRF If '$D(Q) Set Q="K" Do ^cA604 Set PROFNr="" For Set PROFNr=$O(^KFAP("F",PROFNr)) Quit:PROFNr="" Do .Set R=^KFAP("F",PROFNr,0,0),ProfDate=$P(R,D,6) .Set BONNr="U" .For Set BONNr=$O(^KFAP("F",PROFNr,BONNr)) Quit:BONNr="" Do ..Kill Enkel,Dubbel ..Set ULNr=100 ..For Set ULNr=$O(^KFAP("F",PROFNr,BONNr,ULNr)) Quit:ULNr="" Do ...Set R=^KFAP("F",PROFNr,BONNr,ULNr),PRNr=$P(R,D,2),Omschr=$P(R,D,5),Netto=$P(R,D,9),LijnTyp=$P($P(R,D,17),"#") ...If PRNr ...Else If $L(Omschr) Do ....Quit:$TR(Omschr," -","")="" ....Set:$D(Enkel(LijnTyp,Omschr)) Dubbel(LijnTyp,Omschr)=$G(Dubbel(LijnTyp,Omschr))+1 Set Enkel(LijnTyp,Omschr)="" ...Else If $L(Netto) Set:$D(Enkel(Netto)) Dubbel(Netto)=$G(Dubbel(Netto))+1 Set Enkel(Netto)="" ..Quit:'$D(Dubbel("KF1925")) ..Write !,PROFNr," - ",ProfDate," - ",BONNr,! ..Set LijnTyp="" ..For Set LijnTyp=$O(Dubbel(LijnTyp)) Quit:LijnTyp="" Do ...Write ?9,LijnTyp ...Set Omschr="" ...For Set Omschr=$O(Dubbel(LijnTyp,Omschr)) Quit:Omschr="" Do ....Write ?20,Omschr," = ",Dubbel(LijnTyp,Omschr),! Quit ;