1 %RegisteredObject 0 1 LocID %Integer LocID %Integer Set bl=##class(BL.Prod.ORDW).Instantiate() Do bl.ControleMaatwerk(.Maatwerk,.FoutLijst) 1 ; geen test als er maar één product op de pallet staat . . . If $Piece(xx,"\",2)>$Piece(xx,"\",1) Set Teveel(LocID,PRNr,ORDNr)=Maatwerk(ORDNr,PRNr)_"\"_$Piece(xx,"\") ;er staat meer van een product op het order dan op de pallet . . Set Lijst(LocID,PRNr)=xx . Set LocID="" For Set LocID=$O(Lijst(LocID)) Quit:LocID="" Do . . ;b "s+" . . Quit:..AantalOpPallet(LocID)'>1 ; geen test als er maar één product op de pallet staat . . Set PRNr="" . . For Set PRNr=$O(Maatwerk(ORDNr,PRNr)) Quit:PRNr="" Do . . . ; een product staat van een order staat niet op een pallet . . . If '$D(Lijst(LocID,PRNr)) Set Lijst(LocID,PRNr)="\"_Maatwerk(ORDNr,PRNr),Teveel(LocID,PRNr,ORDNr)=Maatwerk(ORDNr,PRNr) quit ;opstellen van foutlijst Set LocID="" For Set LocID=$O(Onvolledig(LocID)) Quit:LocID="" Do . Set FoutLijst(LocID)="Van pallet "_LocID_" ontbreekt volgende product(en)" . Set PRNr="" . For Set PRNr=$O(Onvolledig(LocID,PRNr)) Quit:PRNr="" Do . . Set ORDNr="",VNR=0 . . For Set ORDNr=$O(Onvolledig(LocID,PRNr,ORDNr)) Quit:ORDNr="" Do . . . Set VNR=$O(FoutLijst(LocID,""),-1)+1 . . . Set ORDXX=$O(^ORD("IP",PRNr,"")) . . . Set FoutLijst(LocID,VNR)=$Piece($G(^KPR(PRNr,0)),"\")_" order "_ORDXX ;$O(^EWPAL("D",PRNr,LocID,"")) For Set LocID=$O(Teveel(LocID)) Quit:LocID="" Do . Set PRNr="" . For Set PRNr=$O(Teveel(LocID,PRNr)) Quit:PRNr="" Do . . Set ORDNr="",VNR=$O(FoutLijst(LocID,""),-1) . . For Set ORDNr=$O(Teveel(LocID,PRNr,ORDNr)) Quit:ORDNr="" Do . . . set xTeveel=Teveel(LocID,PRNr,ORDNr) . . . Set VNR=$O(FoutLijst(LocID,""),-1)+1 . . . Set FoutLijst(LocID,VNR)="Van product "_$Piece($G(^KPR(PRNr,0)),"\")_" van order "_ORDNr_" met aantal "_$Piece(xTeveel,"\")_" zijn er teveel goederen op de pallet "_LocID_" met aantal "_$Piece(xTeveel,"\",2) ]]> Toont alle paletten (met de inhoud) waarop bepaalde producten staan %Query ProductList:%List Execute-method van de query qPalletLijst 1 %Status Fetch-method van de query qPalletLijst 1 qPalletLijstExecute %Status Close-Method van de query qPalletLijst 1 qPalletLijstExecute %Status Set bl=##class(BL.Prod.ORDW).Instantiate() Do bl.TestSQL($LB(4362,9219))]]> 1 ProductList:%List %String Set bl=##class(BL.Prod.ORDW).Instantiate() Do bl.TestKOD() 0