APPS.AKP.AankoopControle.BLUM.INVOIC02Verwerker,TECH.Mockable %String 5005 APPS.AKP.Zending.impl.ZendingService 1 Blum.FacturenRepository 1 APPS.AKP.AankoopControle.BLUM.impl.PrijsVerschillenMailer 1 APPS.AKP.AankoopControle.BLUM.impl.INVOIC02TransactionService 1 %Integer 150 ZendingService:APPS.AKP.Zending.impl.ZendingService,BlumFacturenRepository:Blum.FacturenRepository,PrijsVerschillenMailer:APPS.AKP.AankoopControle.BLUM.impl.PrijsVerschillenMailer,TransactionService:APPS.AKP.AankoopControle.BLUM.impl.INVOIC02TransactionService 1 1 %Status 1 INVOIC02:APPS.AKP.AankoopControle.BLUM.XML.Faktuur.Invoice.INVOIC02 %Integer INVOIC02:APPS.AKP.AankoopControle.BLUM.XML.Faktuur.Invoice.INVOIC02 %ListOfDataTypes INVOICE02:APPS.AKP.AankoopControle.BLUM.XML.Faktuur.Invoice.INVOIC02 INVOIC02:APPS.AKP.AankoopControle.BLUM.XML.Faktuur.Invoice.INVOIC02 %Integer BlumPrijs:VHPrijs-BlumPrijs,1:BlumPrijs-VHPrijs) if PrijsVerschil > 0.05 { #Dim prijsverschil as String = ..BepaalTypePrijsVerschil(E1EDP01) do ..ZendingService.ZetFaktuurPrijsVerschil(..#BlumLevNr,..GeefZendingID(INVOIC02),BlumFaktuurNr,"1") do ..ZendingService.ZetFaktuurLijnPrijsVerschil(..#BlumLevNr,..GeefZendingID(INVOIC02),BlumFaktuurNr,NieuweVervLijnNr, prijsverschil) do ..ZendingService.ZetFaktuurLijnWaarde(..#BlumLevNr,..GeefZendingID(INVOIC02),BlumFaktuurNr,NieuweVervLijnNr, ..GeefFaktuurLijnBedrag(E1EDP01)) } } else { ;is voor deze zending dit product/aantal van de toelevering al gefaktureerd? #Dim tmpblumfaktuurnr as %String = ..ZendingService.GeefBlumFaktuurNrVanVervFaktuurLijnVoorProductAantal(..#BlumLevNr,..GeefZendingID(INVOIC02),..GeefToeleveringInfo(E1EDP01),..GeefIdentNummer(E1EDP01),..GeefAantalGefaktureerd(E1EDP01)) if tmpblumfaktuurnr { set exceptionbericht = ..GeefAantalGefaktureerd(E1EDP01) _ "stuks van Identnr " _ ..GeefIdentNummer(E1EDP01) _ " van toelevering " set exceptionbericht = exceptionbericht _ ..GeefToeleveringInfo(E1EDP01) _ " zijn reeds gefaktureerd op blumfaktuurnummer " _ tmpblumfaktuurnr _ " voor zending (vrachtwagen) " _ ..GeefZendingID(INVOIC02) } else { set exceptionbericht = ..GeefAantalGefaktureerd(E1EDP01) _ " stuks van Identnr " _ ..GeefIdentNummer(E1EDP01) _ " van toelevering " set exceptionbericht = exceptionbericht _ ..GeefToeleveringInfo(E1EDP01) _ " op blumfaktuurnummer " _ BlumFaktuurNr _ " komen niet voor in zending (vrachtwagen) " _ ..GeefZendingID(INVOIC02) } do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.GeneralErrorException).%New(exceptionbericht)) } Do ..ZendingService.HerrekenDummyFaktuur(..#BlumLevNr,..GeefZendingID(INVOIC02)) } do ..TransactionService.CommitTransactie() } catch { do ..TransactionService.RollBackTransactie() #Dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() Do ##class(TECH.ExceptionHandler).Rethrow(Exception) } } else { ;kan tx niet starten : Locks op ^Verv of ^RCP -> zal volgende verwerking opnieuw geprobeerd worden. quit 0 } if $$$Not(..ZendingService.BestaatFaktuur(..#BlumLevNr,..GeefZendingID(INVOIC02),999999)){ ;vervoer volledig gefactureerd do ..PrijsVerschillenMailer.PrijsVerschilMail(..#BlumLevNr,..GeefZendingID(INVOIC02)) } Quit 1 } ]]> E1EDP01:APPS.AKP.AankoopControle.BLUM.XML.Faktuur.Invoice.E1EDP01 %String BlumFaktuur:Blum.Facturen,INVOIC02:APPS.AKP.AankoopControle.BLUM.XML.Faktuur.Invoice.INVOIC02 INVOIC02:APPS.AKP.AankoopControle.BLUM.XML.Faktuur.Invoice.INVOIC02 E1EDP01:APPS.AKP.AankoopControle.BLUM.XML.Faktuur.Invoice.E1EDP01 1 %String E1EDP01:APPS.AKP.AankoopControle.BLUM.XML.Faktuur.Invoice.E1EDP01 1 %Integer E1EDP01:APPS.AKP.AankoopControle.BLUM.XML.Faktuur.Invoice.E1EDP01 1 %Numeric E1EDP01:APPS.AKP.AankoopControle.BLUM.XML.Faktuur.Invoice.E1EDP01,Bedrag:%Numeric 1 %Numeric E1EDP01:APPS.AKP.AankoopControle.BLUM.XML.Faktuur.Invoice.E1EDP01 1 %String INVOIC02:APPS.AKP.AankoopControle.BLUM.XML.Faktuur.Invoice.INVOIC02 1 %String INVOIC02:APPS.AKP.AankoopControle.BLUM.XML.Faktuur.Invoice.INVOIC02 %String INVOIC02:APPS.AKP.AankoopControle.BLUM.XML.Faktuur.Invoice.INVOIC02 %String INVOIC02:APPS.AKP.AankoopControle.BLUM.XML.Faktuur.Invoice.INVOIC02 %String INVOIC02:APPS.AKP.AankoopControle.BLUM.XML.Faktuur.Invoice.INVOIC02 1 %String INVOIC02:APPS.AKP.AankoopControle.BLUM.XML.Faktuur.Invoice.INVOIC02 %String YY-MM-DD set:(E1EDK03.IDDAT="012" ) datum = $Extract(E1EDK03.DATUM,3,4) _ "-" _ $Extract(E1EDK03.DATUM,5,6)_ "-"_ $Extract(E1EDK03.DATUM,7,8) } quit datum ]]> INVOIC02:APPS.AKP.AankoopControle.BLUM.XML.Faktuur.Invoice.INVOIC02 %Numeric