#include BL.Derde.LevSpecifiek #include BL.Derde.KlantSpecifiek #include vhLib.Macro ; w $$ShowViaBon^PVStatusOrder(316372) ShowViaBon(BONNr,AltijdTonen) Set KLNr=$P($G(^KU1(BONNr,"F")),"\") Quit:KLNr="" 1 Quit:KLNr=2913 1 ; Tristar Set StraatGemeente=$$GeefCompactAdresVanBon(KLNr,BONNr) Quit $$Show(KLNr,StraatGemeente,,BONNr,$G(AltijdTonen)) Show(KLNr,StraatGemeente,VerzendDatum,MarkBONNr,AltijdTonen) Kill Cache,ProductieCache,OrdIndex,OrdCnt,List,Input Set VerzendDatum=$G(VerzendDatum,+$H) Set MarkBONNr=$G(MarkBONNr,"*") Do FetchOrders(KLNr,StraatGemeente,VerzendDatum) Do FetchReedsOpBon(KLNr,StraatGemeente,VerzendDatum) ;w ! zw Cache ;, ProductieCache ;w ! zw OrdIndex Do GroepBon ; het initieel opsplitsen van orders en prodgroepen zoveel mogelijk groeperen zodat de lijst klein blijft. Do GroepOrder ; Groeperen van deels nog te produceren en deel geproduceerde laden ;w ! zw Cache ;, ProductieCache Do FlattenCache(MarkBONNr) ;w ! zw List ;w !!!!!!!!!!!!!!!!! Set Input=1 Set:($O(List(""),-1)>1)||(AltijdTonen) Input=$$Popup(KLNr) Quit Input ExtraMagInfoViaBon(BONNr) New OrdNr, ListItem, Counter, MaxCounter, BevatBeslag, BevatMaatwerk,BevatOL,ObjtOrderNr, ExtraInfo Kill Cache,ProductieCache,OrdIndex,OrdCnt,List Set ExtraInfo = "" Set KLNr=$P($G(^ORDW("D",BONNr)),"\") Set OrdNr = $O(^ORDW("D",BONNr,"D","")) Set StraatGemeente=$$GeefCompactAdresVanOrder(KLNr, OrdNr) ; als nog niet op bon staat Set:(StraatGemeente=";") StraatGemeente=$$GeefCompactAdresVanBon(KLNr,BONNr) ; als het al op bon staat Set VerzendDatum=+$H Set MarkBONNr=BONNr Do FetchOrders(KLNr,StraatGemeente,VerzendDatum) Do FetchReedsOpBon(KLNr,StraatGemeente,VerzendDatum) ;w ! zw Cache , ProductieCache ;w ! zw OrdIndex Do GroepBon ; het initieel opsplitsen van orders en prodgroepen zoveel mogelijk groeperen zodat de lijst klein blijft. Do GroepOrder ; Groeperen van deels nog te produceren en deel geproduceerde laden ;w ! zw Cache ;, ProductieCache Do FlattenCache(MarkBONNr) ;zw List Set Counter = "", Counter=$O(List(Counter)) Set MaxCounter = 0 Set (BevatBeslag,BevatMaatwerk,BevatOL) = $$$False While (Counter'=""){ If ($$$Not( $Piece(List(Counter),"\",8) [ "Op transport" )) && ($$$Not($P(List(Counter),"\",6)="DD1")) { Set MaxCounter = Counter Set:($Piece(List(Counter),"\",7) [ "BSL") BevatBeslag = $$$True Set:(($Piece(List(Counter),"\",7) [ "LADE") ! ($Piece(List(Counter),"\",7) [ "HAL")) BevatMaatwerk = $$$True Set:($Piece(List(Counter),"\",7) [ "OL") BevatOL = $$$True } Set Counter=$O(List(Counter)) } if ((MaxCounter=1) && (BevatMaatwerk=$$$False) && (BevatOL = $$$False)) { ;check in objt of single order picklist -> 'S' if ##class(OBJTimpl.WMSOrder.OphalenOrderInOBJT).%New().IsSingleOrderPicklist(BONNr) { Set ExtraInfo = "S" ;w !,ObjtOrderNr,$Select(((MaxCounter=1) && (BevatMaatwerk=$$$False) && (BevatOL = $$$False)):"S",1:"") } } else { ;w !,$Select( (BevatMaatwerk && ( BevatBeslag ! BevatOL)):"M",1:"") if (BevatMaatwerk && ( BevatBeslag ! BevatOL)) { Set ExtraInfo = "M" } } Quit ExtraInfo Popup(KLNr) Do STORE^vhTERMINA() New Titel,Input Set Titel=KLNr_" "_$P(^KKL(^KK1(KLNr),0),"\",2) Do INIT^vhLIST("ULTOER","KLANTVANDAAG",.LD) Set LD("SELECT")="" Do WRITE^vhLIST(.LD) Set Input=$$SCROLL^vhLIST(.LD) Do REFRESH^vhTERMINA(2,23) Quit Input FetchOrders(KLNr,StraatGemeente,VerzendDatum) New ORDNr,OLNr Set ORDNr="",ORDNr=$O(^KOD(KLNr,"F",ORDNr)) While ORDNr'="" { If $$GeldigOrder(KLNr,ORDNr,StraatGemeente) { Set OLNr="",OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) While OLNr'="" { If $$GeldigOrderlijn(KLNr,ORDNr,OLNr,VerzendDatum) { Do AddOrderlijn(KLNr,ORDNr,OLNr) } Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) } } Set ORDNr=$O(^KOD(KLNr,"F",ORDNr)) } Quit FlattenCache(MarkBONNr) New CONSNr,LijnNr,ORDNR,TOENr,ProdGrp,LijnNr,Rec Set CONSNr="",CONSNr=$O(Cache(CONSNr)) Set LijnNr=0 While CONSNr'="" { Set ORDNr="",ORDNr=$O(Cache(CONSNr,ORDNr)) While ORDNr'="" { Set TOENr="",TOENr=$O(Cache(CONSNr,ORDNr,TOENr)) While TOENr'="" { Set ProdGrp="", ProdGrp=$O(Cache(CONSNr,ORDNr,TOENr,ProdGrp)) While ProdGrp'="" { Set lb=Cache(CONSNr,ORDNr,TOENr,ProdGrp) Set Rec="" Set $P(Rec,"\",1)=$LI(lb,1) ; Aantal lijnen Set:$LG(lb,2)>0 $P(Rec,"\",2)=$LG(lb,2) ; Aantal laden Set $P(Rec,"\",3)=CONSNr Set $P(Rec,"\",4)=ORDNr Set $P(Rec,"\",5)=TOENr Set $P(Rec,"\",6)=$LG(lb,9) ; Verzendwijze Set $P(Rec,"\",7)=$LG(lb,10) ; Product groepen Set $P(Rec,"\",8)=$$ListToPieces^vhLib($LG(lb,4),";") ; Status Set $P(Rec,"\",9)=$LG(lb,3) ;Productie tijdstip Set $P(Rec,"\",10)=$LG(lb,11) ;Dezelfde bon Set:CONSNr=MarkBONNr $P(Rec,"\",11)=1 ; Markeer Set List($I(LijnNr))=Rec Set ProdGrp=$O(Cache(CONSNr,ORDNr,TOENr,ProdGrp)) } Set TOENr=$O(Cache(CONSNr,ORDNr,TOENr)) } Set ORDNr=$O(Cache(CONSNr,ORDNr)) } Set CONSNr=$O(Cache(CONSNr)) } Quit GroepBon New CONSNr,LijnNr,ORDNR,TOENr,ProdGrp,NewProdGrp,NewORDNr,AantalBons,ProdGrpen Set CONSNr="",CONSNr=$O(Cache(CONSNr)) While CONSNr'="" { If CONSNr'="*" { Set ORDNr="",ORDNr=$O(Cache(CONSNr,ORDNr)) Set TOENr="*" If $D(Cache(CONSNr,ORDNr,TOENr)) ; Geen toeleveringen meer dus verdichten { Set NewProdGrp="*",NewORDNr="*" While ORDNr'="" { Set ProdGrp="", ProdGrp=$O(Cache(CONSNr,ORDNr,TOENr,ProdGrp)) While ProdGrp'="" { If ProdGrp'="*" { If '$D(Cache(CONSNr,NewORDNr,TOENr,NewProdGrp)) { Set Cache(CONSNr,NewORDNr,TOENr,NewProdGrp)=Cache(CONSNr,ORDNr,TOENr,ProdGrp) Set $li(Cache(CONSNr,NewORDNr,TOENr,NewProdGrp),1)=0 Set $li(Cache(CONSNr,NewORDNr,TOENr,NewProdGrp),2)=0 } Set $li(Cache(CONSNr,NewORDNr,TOENr,NewProdGrp),1)=$lg($g(Cache(CONSNr,NewORDNr,TOENr,NewProdGrp)),1)+$li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),1) ; aantal lijnen Set:ProdGrp="LADE" $li(Cache(CONSNr,NewORDNr,TOENr,NewProdGrp),2)=$lg($g(Cache(CONSNr,NewORDNr,TOENr,NewProdGrp)),2)+$li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),2) ; aantal laden Set ProdGrpen=$lg($g(Cache(CONSNr,NewORDNr,TOENr,NewProdGrp)),10) Set:ProdGrpen'[ProdGrp ProdGrpen=ProdGrpen_";"_ProdGrp Set $Li(Cache(CONSNr,NewORDNr,TOENr,NewProdGrp),10)=ProdGrpen Set AantalBons=$$AantalBonsVanHetZelfdeOrder(ORDNr) Set:AantalBons>1 $Li(Cache(CONSNr,NewORDNr,TOENr,NewProdGrp),11)=ORDNr Kill Cache(CONSNr,ORDNr,TOENr,ProdGrp) } Set ProdGrp=$O(Cache(CONSNr,ORDNr,TOENr,ProdGrp)) } Set ORDNr=$O(Cache(CONSNr,ORDNr)) } }} Set CONSNr=$O(Cache(CONSNr)) } Quit GroepOrder New CONSNr,LijnNr,ORDNR,TOENr,ProdGrp Set CONSNr="",CONSNr=$O(Cache(CONSNr)) While CONSNr'="" { If CONSNr="*" { Set ORDNr="",ORDNr=$O(Cache(CONSNr,ORDNr)) While ORDNr'="" { Set TOENr="", TOENr=$O(Cache(CONSNr,ORDNr,TOENr)) While TOENr'="" { Set ProdGrp="LADE" If TOENr'="*",$D(Cache(CONSNr,ORDNr,TOENr,ProdGrp)) && $D(Cache(CONSNr,ORDNr,"*",ProdGrp)) ; Deel nog te produceren en deel reeds geproduceerd (zonder toelevering) { Set $li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),1)=$lg($g(Cache(CONSNr,ORDNr,TOENr,ProdGrp)),1)+$li(Cache(CONSNr,ORDNr,"*",ProdGrp),1) ; aantal lijnen Set $li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),2)=$lg($g(Cache(CONSNr,ORDNr,TOENr,ProdGrp)),2)+$li(Cache(CONSNr,ORDNr,"*",ProdGrp),2) ; aantal laden Set:$lg(Cache(CONSNr,ORDNr,TOENr,ProdGrp),4)=$lb("Nog te produceren") $li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),4)=$lb("Deel nog te prod.") Kill Cache(CONSNr,ORDNr,"*",ProdGrp) } Set TOENr=$O(Cache(CONSNr,ORDNr,TOENr)) } Set ORDNr=$O(Cache(CONSNr,ORDNr)) } } Set CONSNr=$O(Cache(CONSNr)) } Quit AantalBonsVanHetZelfdeOrder(ORDNr) New ZelfdeBon,Cnt Set ZelfdeBon="",ZelfdeBon=$O(OrdIndex(ORDNr,ZelfdeBon)) Set Cnt=0 While ZelfdeBon'="" { Set Cnt=Cnt+1 Set ZelfdeBon=$O(OrdIndex(ORDNr,ZelfdeBon)) } Quit Cnt FetchReedsOpBon(KLNr,StraatGemeente,VerzendDatum) NEw CONSNr,BONNr,ORDNr,ULNr Set CONSNr="",CONSNr=$O(^ORDW("IK",KLNr,CONSNr)) While CONSNr'="" { Set BONNr=CONSNr Set ORDNr="" If $$GeldigPicking(KLNr,CONSNr,VerzendDatum) && $$GeldigBon(KLNr,BONNr,StraatGemeente) { Set ULNr=99,ULNr=$O(^KUL(KLNr,"F",BONNr,ULNr)) While ULNr?3.4N { If $$GeldigOrderOpBon(KLNr,BONNr,ULNr) { Set ORDNr=$P($P(^KUL(KLNr,"F",BONNr,ULNr),"\",5)," -") Set:ORDNr?6N OrdIndex(ORDNr,BONNr)="",OrdCnt(ORDNr)=$G(OrdCnt(ORDNr))+1 } ElseIf $$GeldigBonlijn(KLNr,BONNr,ULNr) { Do AddBonlijn(KLNr,BONNr,ULNr) } Set ULNr=$O(^KUL(KLNr,"F",BONNr,ULNr)) } } Set CONSNr=$O(^ORDW("IK",KLNr,CONSNr)) } Quit GeldigBon(KLNr,BONNr,StraatGemeente) Quit:'$D(^KUL(KLNr,"F",BONNr)) 0 Quit:$$GeefCompactAdresVanBon(KLNr,BONNr)'=StraatGemeente 0 Quit 1 GeldigPicking(KLNr,BONNr,VerzendDatum) Set DueOut=$P(^ORDW("D",CONSNr),"\",3) Quit:VerzendDatum'=+DueOut 0 Quit 1 GeldigBonlijn(KLNr,BONNr,ULNr) Set ULRec=^KUL(KLNr,"F",BONNr,ULNr) Quit:$P($P(ULRec,"\",17),"#")'="KF6" 0 ; geen productlijn Quit:$P(ULRec,"\",3)'>0 0 ; Aantal moet groter zijn dan nul Quit 1 GeldigOrderOpBon(KLNr,BONNr,ULNr) Set ULRec=^KUL(KLNr,"F",BONNr,ULNr) Quit:$P($P(ULRec,"\",17),"#")'="KF5" 0 ; orderverwijzing Quit 1 AddBonlijn(KLNr,BONNr,ULNr) New ULRec,Verzendwijze,Qty,PRNr,ProdGrp,Status,TOENr,TranspLink,TranspNr,TranspBONNr,TranspTijdstip,Transporteur Set ULRec=^KUL(KLNr,"F",BONNr,ULNr) Set Verzendwijze=$P($P(^KUL(KLNr,"F",BONNr,1),"\",7)," #") Set Qty=$P(ULRec,"\",3) Set PRNr=$P(ULRec,"\",2) Set ProdGrp=$$ProductGroep(PRNr) ;Set ORDNr="*" Set TOENr="*" Set Status="Geraapt "_$$VertaalTijdstip($P($G(^ORDW("D",BONNr)),"\",19)) If ProdGrp="OL" { Set Verpaktijdstip=$$GeefVerpakTijdstip(BONNr) If Verpaktijdstip { Set Status="Verpakt "_$$VertaalTijdstip(Verpaktijdstip) } } ; op Transport Set TranspLink=$P(^KUL(KLNr,"F",BONNr,1),"\",8) Set TranspNr=$P(TranspLink,";") Set TranspBONNr=$P(TranspLink,";",2) Set TranspTijdstip="",Transporteur="" Set:TranspNr&&TranspBONNr TranspTijdstip=$P(^TRANSP("D",TranspNr),"\",12),Transporteur=$P(^TRANSP("T",$P(^TRANSP("D",TranspNr),"\",1)),"\"),Status="Op transport "_Transporteur Set $li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),1)=$lg($g(Cache(CONSNr,ORDNr,TOENr,ProdGrp)),1)+1 ; aantal lijnen Set:ProdGrp="LADE" $li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),2)=$lg($g(Cache(CONSNr,ORDNr,TOENr,ProdGrp)),2)+Qty ; aantal laden Set lbStatus=$lg($g(Cache(CONSNr,ORDNr,TOENr,ProdGrp)),4) Set:'$lf(lbStatus,Status) lbStatus=lbStatus_$lb(Status) Set $li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),4)=lbStatus Set $Li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),5)=TranspNr Set $Li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),6)=TranspBONNr Set $Li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),7)=TranspTijdstip Set $Li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),8)=Transporteur Set $Li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),9)=Verzendwijze Set $Li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),10)=ProdGrp Quit VertaalTijdstip(Tijdstip) If $P(Tijdstip,",",1)<$P($H,",",1) Quit "vorige wd" If $P(Tijdstip,",",1)=$P($H,",",1) Quit "vandaag "_$P($zt($P(Tijdstip,",",2)),":")_"h" Quit "" GeefVerpakTijdstip(BONNr) New result,SnijTijdstip Set result=##class(%ResultSet).%New("%DynamicQuery:SQL") Set SnijTijdstip="" Set sc=result.Prepare("select max(updatetijdstip) as SnijTijdstip from Prod.OptiBox_queue where objtype='L' and objref=? and type='S'") If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit "" Set sc=result.Execute(BONNr) If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit "" Set x=result.Next(.sc) If $$$ISERR(sc) Quit "" Set SnijTijdstip=result.Data("SnijTijdstip") If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit "" Quit $S(SnijTijdstip="":"",1:$zdth(SnijTijdstip,8)) GeldigOrder(KLNr,ORDNr,StraatGemeente) Quit:$$GeefCompactAdresVanOrder(KLNr,ORDNr)'=StraatGemeente 0 Quit 1 GeldigOrderlijn(KLNr,ORDNr,OLNr,VerzendDatum) New OLRec Set OLRec=^KOD(KLNr,"F",ORDNr,OLNr) Quit:$P($P(OLRec,"\",17),"#")'="KF0" 0 ; geen productlijn Quit:VerzendDatum<$$GetPickDatum^EWORDS6(ORDNr,OLNr) 0 ; verschillende verzenddatum Quit:$P(OLRec,"\",3)'>0 0 ; Aantal moet groter zijn dan nul Quit 1 AddOrderlijn(KLNr,ORDNr,OLNr) New OLRec,OLUNr,Qty,PRNr,Verzendwijze,ProdGrp,Status,lbStatus,CONSNr,WMSStatus,WMSErrorStatus,TOENr,TLNr Set OLRec=^KOD(KLNr,"F",ORDNr,OLNr) Set OLUNr=$P(OLRec,"\",15) Set Qty=$P(OLRec,"\",3) Set PRNr=$P(OLRec,"\",2) Set Verzendwijze=$P($P(^KOD(KLNr,"F",ORDNr,1),"\",7)," #") Set ProdGrp=$$ProductGroep(PRNr) Set Status="Nog in order" ;Picking Set CONSNr=$G(^ORDW("IO",ORDNr,OLUNr)) If CONSNr { Set WMSStatus=$P(^ORDW("D",CONSNr),"\",20) Set Status=$case(WMSStatus,"":"Niet doorgestuurd","W":"Wachten op picking","P":"Wachten op picking","C":"Geraapt maar nog niet op bon","A":"Geraapt maar nog niet op bon",:"Stataus onbekend: "_WMSStatus) Set WMSErrorStatus=$P(^ORDW("D",CONSNr),"\",21) Set:WMSErrorStatus'="" Status="In fout" Set Verzendwijze=$P($P(^ORDW("D",CONSNr),"\",2),"#") } Set:CONSNr="" CONSNr="*" ; Productie Set TOENr=$P(OLRec,"\",27) Set TLNr=$P(OLRec,"\",28) If (TLNr="KOM") && (Status="Nog in order") { Set Status="Geproduceerd" } Set ProductieTijdstip="" If TOENr && (Status="Nog in order") { Set:'$D(ProductieCache(TOENr)) ProductieCache(TOENr)=$$GetGeplandProductieEinde(TOENr,TLNr) Set Status="Nog te produceren" Set ProductieTijdstip=ProductieCache(TOENr) } Set:TOENr="" TOENr="*" Set $li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),1)=$lg($g(Cache(CONSNr,ORDNr,TOENr,ProdGrp)),1)+1 ; aantal lijnen Set:ProdGrp="LADE" $li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),2)=$lg($g(Cache(CONSNr,ORDNr,TOENr,ProdGrp)),2)+Qty ; aantal stuks Set lbStatus=$lg($g(Cache(CONSNr,ORDNr,TOENr,ProdGrp)),4) Set:'$lf(lbStatus,Status) lbStatus=lbStatus_$lb(Status) Set $li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),4)=lbStatus Set $li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),9)=$$CompactVerzendwijze(Verzendwijze) Set $Li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),10)=ProdGrp Set OrdIndex(ORDNr,CONSNr)="",OrdCnt(ORDNr)=$G(OrdCnt(ORDNr))+1 If ProductieTijdstip ; Bepaal maximum productietijdstip (is eigenlijk overbodig door dat het tijdstip per toelevering wordt bepaald) { Set OldTijdstip=$lg(Cache(CONSNr,ORDNr,TOENr,ProdGrp),3) If ( OldTijdstip="" ) || ( $P(OldTijdstip,",")<$P(ProductieTijdstip,",") ) || ( ($P(OldTijdstip,",")=$P(ProductieTijdstip,",")) && ($P(OldTijdstip,",",2)<$P(ProductieTijdstip,",",2)) ) { Set $li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),3)= ProductieTijdstip } } Quit CompactVerzendwijze(Verzendwijze) Set Verzendwijze=$P($P(Verzendwijze,"`"),";") Quit Verzendwijze GetGeplandProductieEinde(TOENr,TLNr) New TLUNr,result,EindTijdstip Set TLUNr= "" If $D(^KTO($$$LevHalux,TOENr,TLNr)) { Set TLUNr=$P(^KTO($$$LevHalux,TOENr,TLNr),"\",15) } Else { Set TLUNr=$P(^KTO(7695,TOENr,TLNr),"\",15) //leverancier 'Bouttens' } ;Write !,ORDNr," ",TOENr," " Set result=##class(%ResultSet).%New("%DynamicQuery:SQL") Set EindTijdstip="" Set sc=result.Prepare("Select max(EindTijdstip) as EindTijdstip from APPS_Halux_Planning_Pitching_dto.ResourcePitched where ToeleveringNr = ? and IsLeading=2") If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit "" Set sc=result.Execute(TOENr) If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit "" Set x=result.Next(.sc) If $$$ISERR(sc) Quit "" Set EindTijdstip=result.Data("EindTijdstip") If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit "" Quit $S(EindTijdstip="":"",1:$zdth(EindTijdstip,8,3)) GeefCompactAdresVanBon(KLNr, BONNr) New StraatGemeente, Rec Set Rec=$G(^KUL(KLNr,"F",BONNr,3)) Set StraatGemeente=$P(Rec,"\",5)_";"_$P(Rec,"\",7) ;w !,"B:",BONNr," ",StraatGemeente Quit StraatGemeente GeefCompactAdresVanOrder(KLNr, ORDNr) New StraatGemeente, Rec Set Rec=$G(^KOD(KLNr,"F",ORDNr,3)) Set Straat=$P(Rec,"\",5) Set StraatGemeente=$P(Rec,"\",5)_";"_$P(Rec,"\",7) ;w !,"O:",ORDNr," ",StraatGemeente Quit StraatGemeente ProductGroep(PRNr) New ProdGrp Set ProdGrp=$$PRODGRP^PRODUKT(PRNr) Set:ProdGrp="LBX" ProdGrp="LADE" Set:ProdGrp="TBX" ProdGrp="LADE" Set:ProdGrp="MVX" ProdGrp="LADE" Set:ProdGrp="TA.B" ProdGrp="LADE" Set:ProdGrp="REST" ProdGrp="BSL" Set:ProdGrp="BLUM" ProdGrp="BSL" Quit ProdGrp