Per klant de verlofperiodes bijhouden. Deze verlofperiodes worden gebruikt om de leverdatum aan te passen bij order ingave als ook bij het bepalen van de leveringsdatum van een leveringsbon. persistent TECH.Error 1 %Persistent Derde.Klant.Klant 1 DOM.dto.DatumPeriode Klant,Periode.Van,Periode.Tot 1 Klant:Derde.Klant.Klant 1 1 %Status controleren of deze periode NIET overlapt met een reeds ingegeven periode voor dezelfde klant %Status 1 KLNr,Datum:%Date %Date ID=:Klant and Periode_Tot <= :Datum and Periode_Van >= :Datum) &sql(OPEN EVB) For &sql(FETCH EVB) Quit:SQLCODE Do . Set Datum=Tot+1 &sql(CLOSE EVB) Quit Datum ]]> 1 KLNr,Datum:%Date %Date Alle verlofdagen van een klant, eventueel beperkt vanaf - tot 1 KLNr:%Integer,Van:%Date,Tot:%Date Tot Quit Set lbVerlofDagen=lbVerlofDagen_$LB(Dag) } } } Quit $G(lbVerlofDagen) ]]> Verlof %Status ID=:KlantNr ) &sql(OPEN CFetch) Set OverlapID="" For &sql(FETCH CFetch) Quit:SQLCODE Do . Set Count=Count+1,Verlof(Count)=ID_"\"_Van_"\"_Tot &sql(CLOSE CFetch) ]]> %SQLQuery KlantNr:%Integer,PeriodeVan:%Date,PeriodeTot:%Date,ID:%Integer = Periode_Van AND :PeriodeVan <= Periode_Tot) OR (:PeriodeTot >= Periode_Van AND :PeriodeTot <= Periode_Tot) OR (:PeriodeVan <= Periode_Van AND :PeriodeTot >= Periode_Tot)) AND Klant->ID = :KlantNr AND ID <> :ID GROUP BY Klant->ID]]> %SQLQuery ID KLNr,Klant->Naam KlantNaam,Klant->Sektor Regio,Periode_Van Van,Periode_Tot Tot FROM DOM_CRM_impl.KlantVerlofPeriode ORDER BY Klant->Sektor,Klant->Naam,Periode_Van]]> 1 %SQLQuery ID KLNr,Klant->Naam KlantNaam,Klant->Sektor Regio,Periode_Van Van,Periode_Tot Tot FROM DOM_CRM_impl.KlantVerlofPeriode WHERE Periode_Van < DateAdd('yy',1,CURRENT_DATE) AND Periode_Tot >= CURRENT_DATE]]> 1 %Library.CacheStorage ^DOM.CRM.impl.KlantVerlofP730D KlantVerlofPeriodeDefaultData ^DOM.CRM.impl.KlantVerlofP730D ^DOM.CRM.impl.KlantVerlofP730I ^DOM.CRM.impl.KlantVerlofP730S %%CLASSNAME Periode Klant GeregistreerdDoor GwijzigdDoor