Production Process Steering - Tandembox Genereert van een Toelevering de verpakkingsdefinitie Prod.Product,BL.Prod.OptiBox,BL.Sys.Toegang,BL.Sys.Proxy 1 %RegisteredObject KAD||Vouw errond KAD PH PB MON VPK 20 10 %Boolean %Integer %Integer WS.Prod.PanOpti.q1.OPTIREQ 1 TOENr 1 1 PRNr PRNr:%Integer,ProdQty:%Integer,Qty:%Integer,BaseRef,CallBack:%List,SnijPrioriteit:%Integer,PPSOutput:%Integer,MachineID:%String BL.Sys.Proxy.pxStatus Do ##class(BL.PPS.KAD.OptiBox).%New().SnijOne(PRNr,Qty,"", ,9,1,"HALUX") B:H,1:B) Set Params("BREEDTE")=$S(H>B:B,1:H) Set Params("KADAANTAL")=ProdQty ]]> TOENr 1 TOENr 3 ; Minimum 3 laden voor vert stack ]]> "P" : pallet stapeling "S" : Stuks V1 verpakking "V" : Vertical stacking 1 PRNr (1200-32) "S" ; Max. breedte Quit "P" ; tijdelijk pallet Quit "V" ; Vert Stacked ]]> Berekent de nodige lengte van het VFF-karton om een gemonteerde kaderdeur te verpakken. Parameters in mm doorgeven. Resultaat wordt ook in mm teruggegeven. Er zijn 4 mogelijke manieren om het kader met het karton te verpakken; - Case 1 en Case 4 ligt de deur in "Portrait" - Case 2 en Case 3 ligt de deur in "Landscape" Afhankelijk van de orientatie en afmetingen van de kaderdeur, zal een andere lengte van het karton berekend worden. 1 KartonBreedteBrut:%String,LenPMax:%Float,LenPMin:%Float meest economische situatie Set NodigeLengte = LenPMin+$$$DubbeleZijflappen } Else { Set BreedteKaderPastOpHalfKarton = ( ((LenPMin*2)+$$$RugPlusVoorflap) <= KartonBreedte ) Set LengteKaderPastOpKarton = ( (LenPMax+$$$DubbeleZijflappen) <= KartonBreedte ) Set:(BreedteKaderPastOpHalfKarton) NodigeLengteCase2 = LenPMax+$$$DubbeleZijflappen ; Case 2 Set:(LengteKaderPastOpKarton ) NodigeLengteCase3 = (LenPMin*2)+$$$RugPlusVoorflap ; Case 3 If BreedteKaderPastOpHalfKarton && LengteKaderPastOpKarton { Set NodigeLengte = $S(NodigeLengteCase2 welke van de 2 het minste karton vereist (in lopende mmeter) } ElseIf BreedteKaderPastOpHalfKarton { // Case 2. Kader in de breedte is kleiner dan halve breedte van VFF-karton Set NodigeLengte = NodigeLengteCase2 } ElseIf LengteKaderPastOpKarton { // Case 3. Kader in de lengte is kleiner dan de breedte van VFF-karton Set NodigeLengte = NodigeLengteCase3 } Else { Set BreedteKaderPastOpKarton = ( (LenPMin+$$$DubbeleZijflappen) <= KartonBreedte ) If BreedteKaderPastOpKarton { // Case 4. Kader in de breedte is kleiner dan de breedte van VFF-karton Set NodigeLengte = (LenPMax*2)+$$$RugPlusVoorflap } Else { // PROBLEEM : Kader past op geen enkele wijze op het karton --> manueel knutselen !!! Set NodigeLengte=9999999 ; expres heel groot, zodat prijs extreem hoog wordt } } } Quit NodigeLengte ]]> D ##class(BL.PPS.KAD.OptiBox).CreateMeta() 1 DelAllFirst D ##class(BL.PPS.KAD.OptiBox).CreateData() 1 DelAllFirst