TECH.RegisteredObject,APPS.EDIExport.AankoopOrderResponse.BLUM.BLOrdRspService %String ^BLOrdRsp %String 0 %String 1 vhLib.Logger 1 TECH.DateTime.impl.DateTimeAPI 1 APPS.EDIExport.AankoopOrderResponse.BLUM.impl.Kopieerder 1 DateTimeAPI:TECH.DateTime.impl.DateTimeAPI,Kopieerder:APPS.EDIExport.AankoopOrderResponse.BLUM.impl.Kopieerder 1 1 %Status 1 COASO:APPS.EDIExport.AankoopOrderResponse.BLUM.dto.COASO ToeleveringsNummer:%String,ToeleveringsUniekLijnNummer:%String,Aantal:%String,LeverDatum:%String niet verwerkte lijn met oudste leverdatum YYMMDD aanpassen set index = eersteindexvoortlnr While index'=""{ if (..IsTeVerwerken(ToeleveringsNummer,ToeleveringsLijnNummer,index)){ set:(indexoudste=0) indexoudste = index ;eerste nog te verwerken set:(..GeefLeverDatum(ToeleveringsNummer,ToeleveringsLijnNummer,index) < ..GeefLeverDatum(ToeleveringsNummer,ToeleveringsLijnNummer,indexoudste) ) indexoudste = index if ..GeefAantal(ToeleveringsNummer,ToeleveringsLijnNummer,index) = +Aantal { set:(indexoudstemetjuistehoeveelheid = 0) indexoudstemetjuistehoeveelheid = index ;eerste nog te verwerken set:(..GeefLeverDatum(ToeleveringsNummer,ToeleveringsLijnNummer,index) < ..GeefLeverDatum(ToeleveringsNummer,ToeleveringsLijnNummer,indexoudstemetjuistehoeveelheid) ) indexoudstemetjuistehoeveelheid = index } } set index = $Order(@..#Global(ToeleveringsNummer,ToeleveringsLijnNummer,index)) } if (indexoudstemetjuistehoeveelheid) { Do ..ZetRecordAlsVerwerkt(ToeleveringsNummer,ToeleveringsLijnNummer,indexoudstemetjuistehoeveelheid) } else { if (indexoudste){ Do ##class(vhLib.Logger).%New().WarningMail("Blum OrderBevestiging","Geen match gevonden op datum en/of hoeveelheid : "_ToeleveringsNummer_" "_ToeleveringsLijnNummer) Do ..ZetRecordAlsVerwerkt(ToeleveringsNummer,ToeleveringsLijnNummer,indexoudste) } else { ; is al up to date. } } } } ]]> ToeleveringsNummer:%String zijn niet geleverd en moeten manueel behandeld worden ; Do ..ZetVervallenLijnenAlsVerwerkt() Do ..Kopieerder.Kopieer() ]]> 1 Lijn:%String 1 %Boolean Lijn:%String 1 %Boolean ToeleveringNummer:%String,ToeleveringLijnNummer:%String,index:%Integer 1 ToeleveringNummer:%String,ToeleveringLijnNummer:%String,index:%Integer,Aantal:%Integer,LeverDatum:%String 1 %Boolean ToeleveringNummer:%String,ToeleveringLijnNummer:%String,index:%Integer %String ToeleveringNummer:%String,ToeleveringLijnNummer:%String,index:%Integer 1 %Integer ToeleveringNummer:%String,ToeleveringLijnNummer:%String,index:%Integer 1 %Boolean ToeleveringNr:%String,ToeleveringLijnNr:%String,lijnnr:%Integer,Record:%String ToeleveringNr:%String,Record:%String Record:%String ToelevNr:%String,ToelevLijnNr:%String,Aantal:%Integer %Boolean 60) continue:$$$Not($piece(LijnData,"\",13)=ToelevLijnNr) continue:$$$Not($piece(LijnData,"\",3)=Aantal) do Items.Insert(LijnData) } if Items.Count()>1 { set Exception = ##class(TECH.Exceptions.GeneralErrorException).%New("oeps meer dan eentje gevonden voor "_ToelevNr_":"_ToelevLijnNr_":"_Aantal) do ##class(TECH.ExceptionHandler).Throw(Exception) } quit (Items.Count() > 0) ]]> ToelevNr:%String,ProductNummer:%String,Aantal:%Integer %Boolean 60) continue:$$$Not($piece(LijnData,"\",2)=ProductNummer) continue:$$$Not($piece(LijnData,"\",3)=Aantal) do Items.Insert(LijnData) } if Items.Count()>1 { set Exception = ##class(TECH.Exceptions.GeneralErrorException).%New("oeps meer dan eentje gevonden voor "_ToelevNr_":"_ProductNummer_":"_Aantal) do ##class(TECH.ExceptionHandler).Throw(Exception) } quit (Items.Count() > 0) ]]> IdentNummer:%String,KundeNummer:%String 1 0 %String