FishEye: Tag 38074 refers to a dead (removed) revision in file `KKOVEXP.mac.rou'. FishEye: No comparison available. Pass `N' to diff? Index: KKOVEXP2.mac.rou =================================================================== diff -u --- KKOVEXP2.mac.rou (revision 0) +++ KKOVEXP2.mac.rou (revision 38074) @@ -0,0 +1,188 @@ +KKOVEXP ; Potentieel export + Quit + +Export + New %SC,ProdGroep,LijstType,FromCust,ToCust + Kill ^HULP($J) + Set ProdGroep=$$GetAllProdGroep(),LijstType="V" + Do EDIT^vhScherm("KKOVEXP") + If %SC,$L(ProdGroep) Do + . Set FromCust=$O(^KKL(0)),ToCust=$O(^KKL(""),-1) + . ;Set FromCust="Z",ToCust="ZYDANTE 8608" + . ;Set FromCust="VANRAEMDONCKCO 1523",ToCust="VANRAEMDONCKCO 1523" + . Do Fetch(FromCust,ToCust,ProdGroep) + . Do Output($NA(^HULP($J)),$TR($$ShowProdGroep(ProdGroep),";",","),LijstType) + . Kill ^HULP($J) + Quit + + ; Ophalen van sortkey van alle mogelijke productgroepen +GetAllProdGroep() + New I,AllProdGroep,HoofdGr + Set AllProdGroep="CH;KB;GL;BX" + For I=1:1 Quit:$P(AllProdGroep,";",I)="" Set AllProdGroep($$GETSORTKEY^KLASS($P(AllProdGroep,";",I)))="" + Set (AllProdGroep,HoofdGr)="" + For Set HoofdGr=$O(AllProdGroep(HoofdGr)) Quit:HoofdGr="" Set AllProdGroep=AllProdGroep_";"_HoofdGr + Set $E(AllProdGroep)="" + Quit AllProdGroep + + ; Selecteer een of meerdere productgroepen voor verwerking +SelectProdGroep(ProdGroep,Pos) + New R,zb,SelectProdGroep + Set AllProdGroep=$$GetAllProdGroep() + For I=1:1 Quit:$P(AllProdGroep,";",I)="" Set ProdGroep($P(AllProdGroep,";",I))=$P(AllProdGroep,";",I)_D_$P($$DISPLS^KLASS($P(AllProdGroep,";",I),1)," ",2) + Set SelectProdGroep=$$WILD^vhPOPUP($G(Pos,"C;C"),"-1OM","Productgroep",.ProdGroep,$G(ProdGroep)) + Set:zb="CANC" SelectProdGroep=ProdGroep + Quit SelectProdGroep + + ; Vertalen van de productgroepen voor display op het scherm +ShowProdGroep(ProdGroep) + New I + For I=1:1 Quit:$P(ProdGroep,";",I)="" Set $P(ProdGroep,";",I)=$$DISPLS^KLASS($P(ProdGroep,";",I)) + Quit ProdGroep + + ; Verzamelen van de gegevens +Fetch(FromCust,ToCust,ProdGroep) + New Count,Potentieel,KlKey,KLNr,KlNaam,Regio,HoofdGr,ProdGrpAantal,ProdGrpOmzet,Verdeler,Fabrikant,VerdelerCode,FabrikantCode,FabrikantVerdelerCode,Aantal,Omzet + Set KlKey=$O(^KKL(FromCust),-1),Count=0 + For Set KlKey=$O(^KKL(KlKey)) Quit:KlKey="" Quit:KlKey]ToCust Do + . Set KLNr=$P(^KKL(KlKey,0),D),KlNaam=$P(^KKL(KlKey,0),D,2),Regio=$P(^KKL(KlKey,0),D,20) + . Set ^HULP($J,"V",KlKey)=KLNr_D_KlNaam_D_Regio + . Set HoofdGr="" + . For Set HoofdGr=$O(^KKOV(KLNr,HoofdGr)) Quit:HoofdGr="" Do + . . Quit:";"_ProdGroep_";"'[(";"_HoofdGr_";") ; Hoofdgroep niet geselecteerd + . . Set (ProdGrpAantal,ProdGrpOmzet,Groep)=0 + . . For Set Groep=$O(^KKOV(KLNr,HoofdGr,Groep)) Quit:Groep="" Do + . . . Set Verdeler=0 + . . . For Set Verdeler=$O(^KKOV(KLNr,HoofdGr,Groep,Verdeler)) Quit:Verdeler="" Do + . . . . Set VerdelerCode=$P(^KVER(^KVER1(Verdeler),0),D,10),Fabrikant=0 + . . . . For Set Fabrikant=$O(^KKOV(KLNr,HoofdGr,Groep,Verdeler,Fabrikant)) Quit:Fabrikant="" Do + . . . . . Set FabrikantCode=$P(^KFAB(^KFAB1(Fabrikant),0),D,10) + . . . . . Set R=^KKOV(KLNr,HoofdGr,Groep,Verdeler,Fabrikant),Aantal=$P(R,D,3),Omzet=$P(R,D,16) + . . . . . Set ProdGrpAantal=ProdGrpAantal+Aantal,ProdGrpOmzet=ProdGrpOmzet+Omzet + . . . . . Set FabrikantVerdelerCode=FabrikantCode_"/"_VerdelerCode + . . . . . Set R=$G(^HULP($J,"V",KlKey,HoofdGr,FabrikantVerdelerCode)),$P(R,D)=$P(R,D)+Aantal,$P(R,D,2)=$P(R,D,2)+Omzet + . . . . . Set ^HULP($J,"V",KlKey,HoofdGr,FabrikantVerdelerCode)=R + . . . . . Set R=$G(^HULP($J,"H",FabrikantVerdelerCode,KlKey,HoofdGr)),$P(R,D)=$P(R,D)+Aantal,$P(R,D,2)=$P(R,D,2)+Omzet + . . . . . Set ^HULP($J,"H",FabrikantVerdelerCode,KlKey,HoofdGr)=R + . . Set:$O(^HULP($J,"V",KlKey,HoofdGr,""))'="" ^HULP($J,"V",KlKey,HoofdGr)=ProdGrpAantal_D_ProdGrpOmzet + . Kill:$O(^HULP($J,"V",KlKey,""))="" ^HULP($J,"V",KlKey) + Quit + + ; Wegschrijven naar de shared map +Output(Ref,Titel,LijstType) + New R,ExpRec,Dev,KlKey,Klant,HoofdGr,ProdGroep,Fabrikant,Verdeler,FabrikantCode,VerdelerCode,FabrikantVerdeler,FabrikantVerdelerCode + Set Titel="Productgroep("_Titel + Do:$L(Titel)>25 + . For Quit:$L(Titel)<22 Set Titel=$P(Titel,",",1,$L(Titel,",")-1) + . Set Titel=Titel_"..." + Set Titel=Titel_")" + Set Dev=$$OPEN^vhDEV(,Titel_".TXT","W","A") + Do:Dev'=0 + . Use Dev + . Set ExpRec="Klantnummer"_$C(9)_"Naam"_$C(9)_"Regio"_$C(9)_"Productgroep"_$C(9)_"Aantal/productgroep"_$C(9)_"Omzet/productgroep"_$C(9) + . If LijstType="V" Set ExpRec=ExpRec_"Fabrikant/Verdeler"_$C(9)_"Aantal" + . Else Do + . . Set (R,FabrikantVerdeler,FabrikantVerdelerCode)="" + . . For Set FabrikantVerdelerCode=$O(@Ref@("H",FabrikantVerdelerCode)) Quit:FabrikantVerdelerCode="" Do + . . . Set R=R_$C(9)_FabrikantVerdelerCode + . . . Set FabrikantVerdeler=FabrikantVerdeler_$LB(FabrikantVerdelerCode) + . . Set $E(R)="",ExpRec=ExpRec_R + . Write ExpRec,$C(13) + . Set KlKey="" + . For Set KlKey=$O(@Ref@("V",KlKey)) Quit:KlKey="" Do + . . Set Klant=@Ref@("V",KlKey),HoofdGr="" + . . For Set HoofdGr=$O(@Ref@("V",KlKey,HoofdGr)) Quit:HoofdGr="" Do + . . . Set R=@Ref@("V",KlKey,HoofdGr),ProdGrpAantal=$P(R,D),ProdGrpOmzet=$P(R,D,2) + . . . Set ProdGroep=$$DISPLS^KLASS(HoofdGr)_D_ProdGrpAantal_D_ProdGrpOmzet + . . . Set ExpRec=Klant_D_ProdGroep + . . . Set FabrikantVerdelerCode="" + . . . For Set FabrikantVerdelerCode=$O(@Ref@("V",KlKey,HoofdGr,FabrikantVerdelerCode)) Quit:FabrikantVerdelerCode="" Do + . . . . Set R=@Ref@("V",KlKey,HoofdGr,FabrikantVerdelerCode),ProdGrpAantal=$P(R,D) + . . . . If LijstType="V" Set ExpRec=Klant_D_ProdGroep_D_FabrikantVerdelerCode_D_ProdGrpAantal + . . . . Else Set $P(ExpRec,D,6+$LF(FabrikantVerdeler,FabrikantVerdelerCode))=ProdGrpAantal + . . . . Do:LijstType="V" + . . . . . Write $TR(ExpRec,D,$C(9)),$C(13) + . . . . . For I=1:1:$L(Klant,D) Set $P(Klant,D,I)="" + . . . . . For I=1:1:$L(ProdGroep,D) Set $P(ProdGroep,D,I)="" + . . . Do:LijstType="H" + . . . . Write $TR(ExpRec,D,$C(9)),$C(13) + . . . . For I=1:1:$L(Klant,D) Set $P(Klant,D,I)="" + . . . . For I=1:1:$L(ProdGroep,D) Set $P(ProdGroep,D,I)="" + . Close Dev + Quit + + ; Verzamelen van de gegevens +oFetch(FromCust,ToCust,ProdGroep) + New Count,Potentieel,KlKey,KLNr,KlNaam,Regio,HoofdGr,ProdGrpAantal,ProdGrpOmzet,Verdeler,Fabrikant,VerdelerCode,FabrikantCode,Aantal,Omzet + Set KlKey=$O(^KKL(FromCust),-1),Count=0 + For Set KlKey=$O(^KKL(KlKey)) Quit:KlKey="" Quit:KlKey]ToCust Do + . Set KLNr=$P(^KKL(KlKey,0),D),KlNaam=$P(^KKL(KlKey,0),D,2),Regio=$P(^KKL(KlKey,0),D,20) + . Set ^HULP($J,"V",KlKey)=KLNr_D_KlNaam_D_Regio + . Set HoofdGr="" + . For Set HoofdGr=$O(^KKOV(KLNr,HoofdGr)) Quit:HoofdGr="" Do + . . Quit:";"_ProdGroep_";"'[(";"_HoofdGr_";") ; Hoofdgroep niet geselecteerd + . . Set (ProdGrpAantal,ProdGrpOmzet,Groep)=0 + . . For Set Groep=$O(^KKOV(KLNr,HoofdGr,Groep)) Quit:Groep="" Do + . . . Set Verdeler=0 + . . . For Set Verdeler=$O(^KKOV(KLNr,HoofdGr,Groep,Verdeler)) Quit:Verdeler="" Do + . . . . Set VerdelerCode=$P(^KVER(^KVER1(Verdeler),0),D,10),Fabrikant=0 + . . . . For Set Fabrikant=$O(^KKOV(KLNr,HoofdGr,Groep,Verdeler,Fabrikant)) Quit:Fabrikant="" Do + . . . . . Set FabrikantCode=$P(^KFAB(^KFAB1(Fabrikant),0),D,10) + . . . . . Set R=^KKOV(KLNr,HoofdGr,Groep,Verdeler,Fabrikant),Aantal=$P(R,D,3),Omzet=$P(R,D,16) + . . . . . Set ProdGrpAantal=ProdGrpAantal+Aantal,ProdGrpOmzet=ProdGrpOmzet+Omzet + . . . . . Set R=$G(^HULP($J,"V",KlKey,HoofdGr,Fabrikant,Verdeler)),$P(R,D)=$P(R,D)+Aantal,$P(R,D,2)=$P(R,D,2)+Omzet + . . . . . Set ^HULP($J,"V",KlKey,HoofdGr,Fabrikant,Verdeler)=R + . . . . . Set R=$G(^HULP($J,"H",FabrikantCode_"/"_VerdelerCode,KlKey,HoofdGr)),$P(R,D)=$P(R,D)+Aantal,$P(R,D,2)=$P(R,D,2)+Omzet + . . . . . Set ^HULP($J,"H",FabrikantCode_"/"_VerdelerCode,KlKey,HoofdGr)=R + . . Set:$O(^HULP($J,"V",KlKey,HoofdGr,""))'="" ^HULP($J,"V",KlKey,HoofdGr)=ProdGrpAantal_D_ProdGrpOmzet + . Kill:$O(^HULP($J,"V",KlKey,""))="" ^HULP($J,"V",KlKey) + Quit + + ; Wegschrijven naar de shared map +oOutput(Ref,Titel,LijstType) + New R,ExpRec,Dev,KlKey,Klant,HoofdGr,ProdGroep,Fabrikant,Verdeler,FabrikantCode,VerdelerCode,FabrikantVerdeler,FabrikantVerdelerCode + Set Titel="Productgroep("_Titel + Do:$L(Titel)>25 + . For Quit:$L(Titel)<22 Set Titel=$P(Titel,",",1,$L(Titel,",")-1) + . Set Titel=Titel_"..." + Set Titel=Titel_")" + Set Dev=$$OPEN^vhDEV(,Titel_".TXT","W","A") + Do:Dev'=0 + . Use Dev + . Set ExpRec="Klantnummer"_$C(9)_"Naam"_$C(9)_"Regio"_$C(9)_"Productgroep"_$C(9)_"Aantal/productgroep"_$C(9)_"Omzet/productgroep"_$C(9) + . If LijstType="V" Set ExpRec=ExpRec_"Fabrikant/Verdeler"_$C(9)_"Aantal" + . Else Do + . . Set (R,FabrikantVerdeler,FabrikantVerdelerCode)="" + . . For Set FabrikantVerdelerCode=$O(@Ref@("H",FabrikantVerdelerCode)) Quit:FabrikantVerdelerCode="" Do + . . . Set R=R_$C(9)_FabrikantVerdelerCode + . . . Set FabrikantVerdeler=FabrikantVerdeler_$LB(FabrikantVerdelerCode) + . . Set $E(R)="",ExpRec=ExpRec_R + . Write ExpRec,$C(13) + . Set KlKey="" + . For Set KlKey=$O(@Ref@("V",KlKey)) Quit:KlKey="" Do + . . Set Klant=@Ref@("V",KlKey),HoofdGr="" + . . For Set HoofdGr=$O(@Ref@("V",KlKey,HoofdGr)) Quit:HoofdGr="" Do + . . . Set R=@Ref@("V",KlKey,HoofdGr),ProdGrpAantal=$P(R,D),ProdGrpOmzet=$P(R,D,2) + . . . Set ProdGroep=$$DISPLS^KLASS(HoofdGr)_D_ProdGrpAantal_D_ProdGrpOmzet + . . . Set ExpRec=Klant_D_ProdGroep + . . . Set Fabrikant="" + . . . For Set Fabrikant=$O(@Ref@("V",KlKey,HoofdGr,Fabrikant)) Quit:Fabrikant="" Do + . . . . Set FabrikantCode=$P(^KFAB(^KFAB1(Fabrikant),0),D,10),Verdeler="" + . . . . For Set Verdeler=$O(@Ref@("V",KlKey,HoofdGr,Fabrikant,Verdeler)) Quit:Verdeler="" Do + . . . . . Set VerdelerCode=$P(^KVER(^KVER1(Verdeler),0),D,10) + . . . . . Set R=@Ref@("V",KlKey,HoofdGr,Fabrikant,Verdeler),ProdGrpAantal=$P(R,D) + . . . . . If LijstType="V" Set ExpRec=Klant_D_ProdGroep_D_FabrikantCode_"/"_VerdelerCode_D_ProdGrpAantal + . . . . . Else Set $P(ExpRec,D,6+$LF(FabrikantVerdeler,(FabrikantCode_"/"_VerdelerCode)))=ProdGrpAantal + . . . . . Do:LijstType="V" + . . . . . . Write $TR(ExpRec,D,$C(9)),$C(13) + . . . . . . For I=1:1:$L(Klant,D) Set $P(Klant,D,I)="" + . . . . . . For I=1:1:$L(ProdGroep,D) Set $P(ProdGroep,D,I)="" + . . . Do:LijstType="H" + . . . . Write $TR(ExpRec,D,$C(9)),$C(13) + . . . . For I=1:1:$L(Klant,D) Set $P(Klant,D,I)="" + . . . . For I=1:1:$L(ProdGroep,D) Set $P(ProdGroep,D,I)="" + . Close Dev + Quit + + +