unit SchemaServer_Intf; interface uses Classes, DB, SysUtils, uROClasses, uDADataTable, uDABusinessProcessor, SchemaClient_Intf; const { Delta rules ids Feel free to change them to something more human readable but make sure they are unique in the context of your application } RID_CustomersDelta = '{484D754F-68A9-4DC0-AADF-EBDB00C9E40F}'; RID_OrdersDelta = '{6D8F66A7-58AC-4768-AC95-3437EABB042A}'; type { ICustomersDelta } ICustomersDelta = interface(ICustomers) ['{484D754F-68A9-4DC0-AADF-EBDB00C9E40F}'] { Property getters and setters } function GetOldCustomerIDValue : WideString; function GetOldCompanyNameValue : WideString; function GetOldContactNameValue : WideString; function GetOldContactTitleValue : WideString; function GetOldAddressValue : WideString; function GetOldCityValue : WideString; function GetOldRegionValue : WideString; function GetOldPostalCodeValue : WideString; function GetOldCountryValue : WideString; function GetOldPhoneValue : WideString; function GetOldFaxValue : WideString; { Properties } property OldCustomerID : WideString read GetOldCustomerIDValue; property OldCompanyName : WideString read GetOldCompanyNameValue; property OldContactName : WideString read GetOldContactNameValue; property OldContactTitle : WideString read GetOldContactTitleValue; property OldAddress : WideString read GetOldAddressValue; property OldCity : WideString read GetOldCityValue; property OldRegion : WideString read GetOldRegionValue; property OldPostalCode : WideString read GetOldPostalCodeValue; property OldCountry : WideString read GetOldCountryValue; property OldPhone : WideString read GetOldPhoneValue; property OldFax : WideString read GetOldFaxValue; end; { TCustomersBusinessProcessorRules } TCustomersBusinessProcessorRules = class(TDABusinessProcessorRules, ICustomers, ICustomersDelta) private protected { Property getters and setters } function GetCustomerIDValue: WideString; virtual; function GetCustomerIDIsNull: Boolean; virtual; function GetOldCustomerIDValue: WideString; virtual; function GetOldCustomerIDIsNull: Boolean; virtual; procedure SetCustomerIDValue(const aValue: WideString); virtual; procedure SetCustomerIDIsNull(const aValue: Boolean); virtual; function GetCompanyNameValue: WideString; virtual; function GetCompanyNameIsNull: Boolean; virtual; function GetOldCompanyNameValue: WideString; virtual; function GetOldCompanyNameIsNull: Boolean; virtual; procedure SetCompanyNameValue(const aValue: WideString); virtual; procedure SetCompanyNameIsNull(const aValue: Boolean); virtual; function GetContactNameValue: WideString; virtual; function GetContactNameIsNull: Boolean; virtual; function GetOldContactNameValue: WideString; virtual; function GetOldContactNameIsNull: Boolean; virtual; procedure SetContactNameValue(const aValue: WideString); virtual; procedure SetContactNameIsNull(const aValue: Boolean); virtual; function GetContactTitleValue: WideString; virtual; function GetContactTitleIsNull: Boolean; virtual; function GetOldContactTitleValue: WideString; virtual; function GetOldContactTitleIsNull: Boolean; virtual; procedure SetContactTitleValue(const aValue: WideString); virtual; procedure SetContactTitleIsNull(const aValue: Boolean); virtual; function GetAddressValue: WideString; virtual; function GetAddressIsNull: Boolean; virtual; function GetOldAddressValue: WideString; virtual; function GetOldAddressIsNull: Boolean; virtual; procedure SetAddressValue(const aValue: WideString); virtual; procedure SetAddressIsNull(const aValue: Boolean); virtual; function GetCityValue: WideString; virtual; function GetCityIsNull: Boolean; virtual; function GetOldCityValue: WideString; virtual; function GetOldCityIsNull: Boolean; virtual; procedure SetCityValue(const aValue: WideString); virtual; procedure SetCityIsNull(const aValue: Boolean); virtual; function GetRegionValue: WideString; virtual; function GetRegionIsNull: Boolean; virtual; function GetOldRegionValue: WideString; virtual; function GetOldRegionIsNull: Boolean; virtual; procedure SetRegionValue(const aValue: WideString); virtual; procedure SetRegionIsNull(const aValue: Boolean); virtual; function GetPostalCodeValue: WideString; virtual; function GetPostalCodeIsNull: Boolean; virtual; function GetOldPostalCodeValue: WideString; virtual; function GetOldPostalCodeIsNull: Boolean; virtual; procedure SetPostalCodeValue(const aValue: WideString); virtual; procedure SetPostalCodeIsNull(const aValue: Boolean); virtual; function GetCountryValue: WideString; virtual; function GetCountryIsNull: Boolean; virtual; function GetOldCountryValue: WideString; virtual; function GetOldCountryIsNull: Boolean; virtual; procedure SetCountryValue(const aValue: WideString); virtual; procedure SetCountryIsNull(const aValue: Boolean); virtual; function GetPhoneValue: WideString; virtual; function GetPhoneIsNull: Boolean; virtual; function GetOldPhoneValue: WideString; virtual; function GetOldPhoneIsNull: Boolean; virtual; procedure SetPhoneValue(const aValue: WideString); virtual; procedure SetPhoneIsNull(const aValue: Boolean); virtual; function GetFaxValue: WideString; virtual; function GetFaxIsNull: Boolean; virtual; function GetOldFaxValue: WideString; virtual; function GetOldFaxIsNull: Boolean; virtual; procedure SetFaxValue(const aValue: WideString); virtual; procedure SetFaxIsNull(const aValue: Boolean); virtual; { Properties } property CustomerID : WideString read GetCustomerIDValue write SetCustomerIDValue; property CustomerIDIsNull : Boolean read GetCustomerIDIsNull write SetCustomerIDIsNull; property OldCustomerID : WideString read GetOldCustomerIDValue; property OldCustomerIDIsNull : Boolean read GetOldCustomerIDIsNull; property CompanyName : WideString read GetCompanyNameValue write SetCompanyNameValue; property CompanyNameIsNull : Boolean read GetCompanyNameIsNull write SetCompanyNameIsNull; property OldCompanyName : WideString read GetOldCompanyNameValue; property OldCompanyNameIsNull : Boolean read GetOldCompanyNameIsNull; property ContactName : WideString read GetContactNameValue write SetContactNameValue; property ContactNameIsNull : Boolean read GetContactNameIsNull write SetContactNameIsNull; property OldContactName : WideString read GetOldContactNameValue; property OldContactNameIsNull : Boolean read GetOldContactNameIsNull; property ContactTitle : WideString read GetContactTitleValue write SetContactTitleValue; property ContactTitleIsNull : Boolean read GetContactTitleIsNull write SetContactTitleIsNull; property OldContactTitle : WideString read GetOldContactTitleValue; property OldContactTitleIsNull : Boolean read GetOldContactTitleIsNull; property Address : WideString read GetAddressValue write SetAddressValue; property AddressIsNull : Boolean read GetAddressIsNull write SetAddressIsNull; property OldAddress : WideString read GetOldAddressValue; property OldAddressIsNull : Boolean read GetOldAddressIsNull; property City : WideString read GetCityValue write SetCityValue; property CityIsNull : Boolean read GetCityIsNull write SetCityIsNull; property OldCity : WideString read GetOldCityValue; property OldCityIsNull : Boolean read GetOldCityIsNull; property Region : WideString read GetRegionValue write SetRegionValue; property RegionIsNull : Boolean read GetRegionIsNull write SetRegionIsNull; property OldRegion : WideString read GetOldRegionValue; property OldRegionIsNull : Boolean read GetOldRegionIsNull; property PostalCode : WideString read GetPostalCodeValue write SetPostalCodeValue; property PostalCodeIsNull : Boolean read GetPostalCodeIsNull write SetPostalCodeIsNull; property OldPostalCode : WideString read GetOldPostalCodeValue; property OldPostalCodeIsNull : Boolean read GetOldPostalCodeIsNull; property Country : WideString read GetCountryValue write SetCountryValue; property CountryIsNull : Boolean read GetCountryIsNull write SetCountryIsNull; property OldCountry : WideString read GetOldCountryValue; property OldCountryIsNull : Boolean read GetOldCountryIsNull; property Phone : WideString read GetPhoneValue write SetPhoneValue; property PhoneIsNull : Boolean read GetPhoneIsNull write SetPhoneIsNull; property OldPhone : WideString read GetOldPhoneValue; property OldPhoneIsNull : Boolean read GetOldPhoneIsNull; property Fax : WideString read GetFaxValue write SetFaxValue; property FaxIsNull : Boolean read GetFaxIsNull write SetFaxIsNull; property OldFax : WideString read GetOldFaxValue; property OldFaxIsNull : Boolean read GetOldFaxIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; destructor Destroy; override; end; { IOrdersDelta } IOrdersDelta = interface(IOrders) ['{6D8F66A7-58AC-4768-AC95-3437EABB042A}'] { Property getters and setters } function GetOldOrderIDValue : Integer; function GetOldCustomerIDValue : WideString; function GetOldEmployeeIDValue : Integer; function GetOldOrderDateValue : DateTime; function GetOldRequiredDateValue : DateTime; function GetOldShippedDateValue : DateTime; function GetOldShipViaValue : Integer; function GetOldFreightValue : Float; function GetOldShipNameValue : WideString; function GetOldShipAddressValue : WideString; function GetOldShipCityValue : WideString; function GetOldShipRegionValue : WideString; function GetOldShipPostalCodeValue : WideString; function GetOldShipCountryValue : WideString; { Properties } property OldOrderID : Integer read GetOldOrderIDValue; property OldCustomerID : WideString read GetOldCustomerIDValue; property OldEmployeeID : Integer read GetOldEmployeeIDValue; property OldOrderDate : DateTime read GetOldOrderDateValue; property OldRequiredDate : DateTime read GetOldRequiredDateValue; property OldShippedDate : DateTime read GetOldShippedDateValue; property OldShipVia : Integer read GetOldShipViaValue; property OldFreight : Float read GetOldFreightValue; property OldShipName : WideString read GetOldShipNameValue; property OldShipAddress : WideString read GetOldShipAddressValue; property OldShipCity : WideString read GetOldShipCityValue; property OldShipRegion : WideString read GetOldShipRegionValue; property OldShipPostalCode : WideString read GetOldShipPostalCodeValue; property OldShipCountry : WideString read GetOldShipCountryValue; end; { TOrdersBusinessProcessorRules } TOrdersBusinessProcessorRules = class(TDABusinessProcessorRules, IOrders, IOrdersDelta) private protected { Property getters and setters } function GetOrderIDValue: Integer; virtual; function GetOrderIDIsNull: Boolean; virtual; function GetOldOrderIDValue: Integer; virtual; function GetOldOrderIDIsNull: Boolean; virtual; procedure SetOrderIDValue(const aValue: Integer); virtual; procedure SetOrderIDIsNull(const aValue: Boolean); virtual; function GetCustomerIDValue: WideString; virtual; function GetCustomerIDIsNull: Boolean; virtual; function GetOldCustomerIDValue: WideString; virtual; function GetOldCustomerIDIsNull: Boolean; virtual; procedure SetCustomerIDValue(const aValue: WideString); virtual; procedure SetCustomerIDIsNull(const aValue: Boolean); virtual; function GetEmployeeIDValue: Integer; virtual; function GetEmployeeIDIsNull: Boolean; virtual; function GetOldEmployeeIDValue: Integer; virtual; function GetOldEmployeeIDIsNull: Boolean; virtual; procedure SetEmployeeIDValue(const aValue: Integer); virtual; procedure SetEmployeeIDIsNull(const aValue: Boolean); virtual; function GetOrderDateValue: DateTime; virtual; function GetOrderDateIsNull: Boolean; virtual; function GetOldOrderDateValue: DateTime; virtual; function GetOldOrderDateIsNull: Boolean; virtual; procedure SetOrderDateValue(const aValue: DateTime); virtual; procedure SetOrderDateIsNull(const aValue: Boolean); virtual; function GetRequiredDateValue: DateTime; virtual; function GetRequiredDateIsNull: Boolean; virtual; function GetOldRequiredDateValue: DateTime; virtual; function GetOldRequiredDateIsNull: Boolean; virtual; procedure SetRequiredDateValue(const aValue: DateTime); virtual; procedure SetRequiredDateIsNull(const aValue: Boolean); virtual; function GetShippedDateValue: DateTime; virtual; function GetShippedDateIsNull: Boolean; virtual; function GetOldShippedDateValue: DateTime; virtual; function GetOldShippedDateIsNull: Boolean; virtual; procedure SetShippedDateValue(const aValue: DateTime); virtual; procedure SetShippedDateIsNull(const aValue: Boolean); virtual; function GetShipViaValue: Integer; virtual; function GetShipViaIsNull: Boolean; virtual; function GetOldShipViaValue: Integer; virtual; function GetOldShipViaIsNull: Boolean; virtual; procedure SetShipViaValue(const aValue: Integer); virtual; procedure SetShipViaIsNull(const aValue: Boolean); virtual; function GetFreightValue: Float; virtual; function GetFreightIsNull: Boolean; virtual; function GetOldFreightValue: Float; virtual; function GetOldFreightIsNull: Boolean; virtual; procedure SetFreightValue(const aValue: Float); virtual; procedure SetFreightIsNull(const aValue: Boolean); virtual; function GetShipNameValue: WideString; virtual; function GetShipNameIsNull: Boolean; virtual; function GetOldShipNameValue: WideString; virtual; function GetOldShipNameIsNull: Boolean; virtual; procedure SetShipNameValue(const aValue: WideString); virtual; procedure SetShipNameIsNull(const aValue: Boolean); virtual; function GetShipAddressValue: WideString; virtual; function GetShipAddressIsNull: Boolean; virtual; function GetOldShipAddressValue: WideString; virtual; function GetOldShipAddressIsNull: Boolean; virtual; procedure SetShipAddressValue(const aValue: WideString); virtual; procedure SetShipAddressIsNull(const aValue: Boolean); virtual; function GetShipCityValue: WideString; virtual; function GetShipCityIsNull: Boolean; virtual; function GetOldShipCityValue: WideString; virtual; function GetOldShipCityIsNull: Boolean; virtual; procedure SetShipCityValue(const aValue: WideString); virtual; procedure SetShipCityIsNull(const aValue: Boolean); virtual; function GetShipRegionValue: WideString; virtual; function GetShipRegionIsNull: Boolean; virtual; function GetOldShipRegionValue: WideString; virtual; function GetOldShipRegionIsNull: Boolean; virtual; procedure SetShipRegionValue(const aValue: WideString); virtual; procedure SetShipRegionIsNull(const aValue: Boolean); virtual; function GetShipPostalCodeValue: WideString; virtual; function GetShipPostalCodeIsNull: Boolean; virtual; function GetOldShipPostalCodeValue: WideString; virtual; function GetOldShipPostalCodeIsNull: Boolean; virtual; procedure SetShipPostalCodeValue(const aValue: WideString); virtual; procedure SetShipPostalCodeIsNull(const aValue: Boolean); virtual; function GetShipCountryValue: WideString; virtual; function GetShipCountryIsNull: Boolean; virtual; function GetOldShipCountryValue: WideString; virtual; function GetOldShipCountryIsNull: Boolean; virtual; procedure SetShipCountryValue(const aValue: WideString); virtual; procedure SetShipCountryIsNull(const aValue: Boolean); virtual; { Properties } property OrderID : Integer read GetOrderIDValue write SetOrderIDValue; property OrderIDIsNull : Boolean read GetOrderIDIsNull write SetOrderIDIsNull; property OldOrderID : Integer read GetOldOrderIDValue; property OldOrderIDIsNull : Boolean read GetOldOrderIDIsNull; property CustomerID : WideString read GetCustomerIDValue write SetCustomerIDValue; property CustomerIDIsNull : Boolean read GetCustomerIDIsNull write SetCustomerIDIsNull; property OldCustomerID : WideString read GetOldCustomerIDValue; property OldCustomerIDIsNull : Boolean read GetOldCustomerIDIsNull; property EmployeeID : Integer read GetEmployeeIDValue write SetEmployeeIDValue; property EmployeeIDIsNull : Boolean read GetEmployeeIDIsNull write SetEmployeeIDIsNull; property OldEmployeeID : Integer read GetOldEmployeeIDValue; property OldEmployeeIDIsNull : Boolean read GetOldEmployeeIDIsNull; property OrderDate : DateTime read GetOrderDateValue write SetOrderDateValue; property OrderDateIsNull : Boolean read GetOrderDateIsNull write SetOrderDateIsNull; property OldOrderDate : DateTime read GetOldOrderDateValue; property OldOrderDateIsNull : Boolean read GetOldOrderDateIsNull; property RequiredDate : DateTime read GetRequiredDateValue write SetRequiredDateValue; property RequiredDateIsNull : Boolean read GetRequiredDateIsNull write SetRequiredDateIsNull; property OldRequiredDate : DateTime read GetOldRequiredDateValue; property OldRequiredDateIsNull : Boolean read GetOldRequiredDateIsNull; property ShippedDate : DateTime read GetShippedDateValue write SetShippedDateValue; property ShippedDateIsNull : Boolean read GetShippedDateIsNull write SetShippedDateIsNull; property OldShippedDate : DateTime read GetOldShippedDateValue; property OldShippedDateIsNull : Boolean read GetOldShippedDateIsNull; property ShipVia : Integer read GetShipViaValue write SetShipViaValue; property ShipViaIsNull : Boolean read GetShipViaIsNull write SetShipViaIsNull; property OldShipVia : Integer read GetOldShipViaValue; property OldShipViaIsNull : Boolean read GetOldShipViaIsNull; property Freight : Float read GetFreightValue write SetFreightValue; property FreightIsNull : Boolean read GetFreightIsNull write SetFreightIsNull; property OldFreight : Float read GetOldFreightValue; property OldFreightIsNull : Boolean read GetOldFreightIsNull; property ShipName : WideString read GetShipNameValue write SetShipNameValue; property ShipNameIsNull : Boolean read GetShipNameIsNull write SetShipNameIsNull; property OldShipName : WideString read GetOldShipNameValue; property OldShipNameIsNull : Boolean read GetOldShipNameIsNull; property ShipAddress : WideString read GetShipAddressValue write SetShipAddressValue; property ShipAddressIsNull : Boolean read GetShipAddressIsNull write SetShipAddressIsNull; property OldShipAddress : WideString read GetOldShipAddressValue; property OldShipAddressIsNull : Boolean read GetOldShipAddressIsNull; property ShipCity : WideString read GetShipCityValue write SetShipCityValue; property ShipCityIsNull : Boolean read GetShipCityIsNull write SetShipCityIsNull; property OldShipCity : WideString read GetOldShipCityValue; property OldShipCityIsNull : Boolean read GetOldShipCityIsNull; property ShipRegion : WideString read GetShipRegionValue write SetShipRegionValue; property ShipRegionIsNull : Boolean read GetShipRegionIsNull write SetShipRegionIsNull; property OldShipRegion : WideString read GetOldShipRegionValue; property OldShipRegionIsNull : Boolean read GetOldShipRegionIsNull; property ShipPostalCode : WideString read GetShipPostalCodeValue write SetShipPostalCodeValue; property ShipPostalCodeIsNull : Boolean read GetShipPostalCodeIsNull write SetShipPostalCodeIsNull; property OldShipPostalCode : WideString read GetOldShipPostalCodeValue; property OldShipPostalCodeIsNull : Boolean read GetOldShipPostalCodeIsNull; property ShipCountry : WideString read GetShipCountryValue write SetShipCountryValue; property ShipCountryIsNull : Boolean read GetShipCountryIsNull write SetShipCountryIsNull; property OldShipCountry : WideString read GetOldShipCountryValue; property OldShipCountryIsNull : Boolean read GetOldShipCountryIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; destructor Destroy; override; end; implementation uses Variants, uROBinaryHelpers; { TCustomersBusinessProcessorRules } constructor TCustomersBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); begin inherited; end; destructor TCustomersBusinessProcessorRules.Destroy; begin inherited; end; function TCustomersBusinessProcessorRules.GetCustomerIDValue: WideString; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersCustomerID]; end; function TCustomersBusinessProcessorRules.GetCustomerIDIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersCustomerID]); end; function TCustomersBusinessProcessorRules.GetOldCustomerIDValue: WideString; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_CustomersCustomerID]; end; function TCustomersBusinessProcessorRules.GetOldCustomerIDIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_CustomersCustomerID]); end; procedure TCustomersBusinessProcessorRules.SetCustomerIDValue(const aValue: WideString); begin BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersCustomerID] := aValue; end; procedure TCustomersBusinessProcessorRules.SetCustomerIDIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersCustomerID] := Null; end; function TCustomersBusinessProcessorRules.GetCompanyNameValue: WideString; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersCompanyName]; end; function TCustomersBusinessProcessorRules.GetCompanyNameIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersCompanyName]); end; function TCustomersBusinessProcessorRules.GetOldCompanyNameValue: WideString; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_CustomersCompanyName]; end; function TCustomersBusinessProcessorRules.GetOldCompanyNameIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_CustomersCompanyName]); end; procedure TCustomersBusinessProcessorRules.SetCompanyNameValue(const aValue: WideString); begin BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersCompanyName] := aValue; end; procedure TCustomersBusinessProcessorRules.SetCompanyNameIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersCompanyName] := Null; end; function TCustomersBusinessProcessorRules.GetContactNameValue: WideString; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersContactName]; end; function TCustomersBusinessProcessorRules.GetContactNameIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersContactName]); end; function TCustomersBusinessProcessorRules.GetOldContactNameValue: WideString; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_CustomersContactName]; end; function TCustomersBusinessProcessorRules.GetOldContactNameIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_CustomersContactName]); end; procedure TCustomersBusinessProcessorRules.SetContactNameValue(const aValue: WideString); begin BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersContactName] := aValue; end; procedure TCustomersBusinessProcessorRules.SetContactNameIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersContactName] := Null; end; function TCustomersBusinessProcessorRules.GetContactTitleValue: WideString; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersContactTitle]; end; function TCustomersBusinessProcessorRules.GetContactTitleIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersContactTitle]); end; function TCustomersBusinessProcessorRules.GetOldContactTitleValue: WideString; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_CustomersContactTitle]; end; function TCustomersBusinessProcessorRules.GetOldContactTitleIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_CustomersContactTitle]); end; procedure TCustomersBusinessProcessorRules.SetContactTitleValue(const aValue: WideString); begin BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersContactTitle] := aValue; end; procedure TCustomersBusinessProcessorRules.SetContactTitleIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersContactTitle] := Null; end; function TCustomersBusinessProcessorRules.GetAddressValue: WideString; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersAddress]; end; function TCustomersBusinessProcessorRules.GetAddressIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersAddress]); end; function TCustomersBusinessProcessorRules.GetOldAddressValue: WideString; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_CustomersAddress]; end; function TCustomersBusinessProcessorRules.GetOldAddressIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_CustomersAddress]); end; procedure TCustomersBusinessProcessorRules.SetAddressValue(const aValue: WideString); begin BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersAddress] := aValue; end; procedure TCustomersBusinessProcessorRules.SetAddressIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersAddress] := Null; end; function TCustomersBusinessProcessorRules.GetCityValue: WideString; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersCity]; end; function TCustomersBusinessProcessorRules.GetCityIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersCity]); end; function TCustomersBusinessProcessorRules.GetOldCityValue: WideString; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_CustomersCity]; end; function TCustomersBusinessProcessorRules.GetOldCityIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_CustomersCity]); end; procedure TCustomersBusinessProcessorRules.SetCityValue(const aValue: WideString); begin BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersCity] := aValue; end; procedure TCustomersBusinessProcessorRules.SetCityIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersCity] := Null; end; function TCustomersBusinessProcessorRules.GetRegionValue: WideString; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersRegion]; end; function TCustomersBusinessProcessorRules.GetRegionIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersRegion]); end; function TCustomersBusinessProcessorRules.GetOldRegionValue: WideString; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_CustomersRegion]; end; function TCustomersBusinessProcessorRules.GetOldRegionIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_CustomersRegion]); end; procedure TCustomersBusinessProcessorRules.SetRegionValue(const aValue: WideString); begin BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersRegion] := aValue; end; procedure TCustomersBusinessProcessorRules.SetRegionIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersRegion] := Null; end; function TCustomersBusinessProcessorRules.GetPostalCodeValue: WideString; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersPostalCode]; end; function TCustomersBusinessProcessorRules.GetPostalCodeIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersPostalCode]); end; function TCustomersBusinessProcessorRules.GetOldPostalCodeValue: WideString; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_CustomersPostalCode]; end; function TCustomersBusinessProcessorRules.GetOldPostalCodeIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_CustomersPostalCode]); end; procedure TCustomersBusinessProcessorRules.SetPostalCodeValue(const aValue: WideString); begin BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersPostalCode] := aValue; end; procedure TCustomersBusinessProcessorRules.SetPostalCodeIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersPostalCode] := Null; end; function TCustomersBusinessProcessorRules.GetCountryValue: WideString; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersCountry]; end; function TCustomersBusinessProcessorRules.GetCountryIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersCountry]); end; function TCustomersBusinessProcessorRules.GetOldCountryValue: WideString; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_CustomersCountry]; end; function TCustomersBusinessProcessorRules.GetOldCountryIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_CustomersCountry]); end; procedure TCustomersBusinessProcessorRules.SetCountryValue(const aValue: WideString); begin BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersCountry] := aValue; end; procedure TCustomersBusinessProcessorRules.SetCountryIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersCountry] := Null; end; function TCustomersBusinessProcessorRules.GetPhoneValue: WideString; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersPhone]; end; function TCustomersBusinessProcessorRules.GetPhoneIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersPhone]); end; function TCustomersBusinessProcessorRules.GetOldPhoneValue: WideString; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_CustomersPhone]; end; function TCustomersBusinessProcessorRules.GetOldPhoneIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_CustomersPhone]); end; procedure TCustomersBusinessProcessorRules.SetPhoneValue(const aValue: WideString); begin BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersPhone] := aValue; end; procedure TCustomersBusinessProcessorRules.SetPhoneIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersPhone] := Null; end; function TCustomersBusinessProcessorRules.GetFaxValue: WideString; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersFax]; end; function TCustomersBusinessProcessorRules.GetFaxIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersFax]); end; function TCustomersBusinessProcessorRules.GetOldFaxValue: WideString; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_CustomersFax]; end; function TCustomersBusinessProcessorRules.GetOldFaxIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_CustomersFax]); end; procedure TCustomersBusinessProcessorRules.SetFaxValue(const aValue: WideString); begin BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersFax] := aValue; end; procedure TCustomersBusinessProcessorRules.SetFaxIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_CustomersFax] := Null; end; { TOrdersBusinessProcessorRules } constructor TOrdersBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); begin inherited; end; destructor TOrdersBusinessProcessorRules.Destroy; begin inherited; end; function TOrdersBusinessProcessorRules.GetOrderIDValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersOrderID]; end; function TOrdersBusinessProcessorRules.GetOrderIDIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersOrderID]); end; function TOrdersBusinessProcessorRules.GetOldOrderIDValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersOrderID]; end; function TOrdersBusinessProcessorRules.GetOldOrderIDIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersOrderID]); end; procedure TOrdersBusinessProcessorRules.SetOrderIDValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersOrderID] := aValue; end; procedure TOrdersBusinessProcessorRules.SetOrderIDIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersOrderID] := Null; end; function TOrdersBusinessProcessorRules.GetCustomerIDValue: WideString; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersCustomerID]; end; function TOrdersBusinessProcessorRules.GetCustomerIDIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersCustomerID]); end; function TOrdersBusinessProcessorRules.GetOldCustomerIDValue: WideString; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersCustomerID]; end; function TOrdersBusinessProcessorRules.GetOldCustomerIDIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersCustomerID]); end; procedure TOrdersBusinessProcessorRules.SetCustomerIDValue(const aValue: WideString); begin BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersCustomerID] := aValue; end; procedure TOrdersBusinessProcessorRules.SetCustomerIDIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersCustomerID] := Null; end; function TOrdersBusinessProcessorRules.GetEmployeeIDValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersEmployeeID]; end; function TOrdersBusinessProcessorRules.GetEmployeeIDIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersEmployeeID]); end; function TOrdersBusinessProcessorRules.GetOldEmployeeIDValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersEmployeeID]; end; function TOrdersBusinessProcessorRules.GetOldEmployeeIDIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersEmployeeID]); end; procedure TOrdersBusinessProcessorRules.SetEmployeeIDValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersEmployeeID] := aValue; end; procedure TOrdersBusinessProcessorRules.SetEmployeeIDIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersEmployeeID] := Null; end; function TOrdersBusinessProcessorRules.GetOrderDateValue: DateTime; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersOrderDate]; end; function TOrdersBusinessProcessorRules.GetOrderDateIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersOrderDate]); end; function TOrdersBusinessProcessorRules.GetOldOrderDateValue: DateTime; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersOrderDate]; end; function TOrdersBusinessProcessorRules.GetOldOrderDateIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersOrderDate]); end; procedure TOrdersBusinessProcessorRules.SetOrderDateValue(const aValue: DateTime); begin BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersOrderDate] := aValue; end; procedure TOrdersBusinessProcessorRules.SetOrderDateIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersOrderDate] := Null; end; function TOrdersBusinessProcessorRules.GetRequiredDateValue: DateTime; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersRequiredDate]; end; function TOrdersBusinessProcessorRules.GetRequiredDateIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersRequiredDate]); end; function TOrdersBusinessProcessorRules.GetOldRequiredDateValue: DateTime; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersRequiredDate]; end; function TOrdersBusinessProcessorRules.GetOldRequiredDateIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersRequiredDate]); end; procedure TOrdersBusinessProcessorRules.SetRequiredDateValue(const aValue: DateTime); begin BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersRequiredDate] := aValue; end; procedure TOrdersBusinessProcessorRules.SetRequiredDateIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersRequiredDate] := Null; end; function TOrdersBusinessProcessorRules.GetShippedDateValue: DateTime; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShippedDate]; end; function TOrdersBusinessProcessorRules.GetShippedDateIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShippedDate]); end; function TOrdersBusinessProcessorRules.GetOldShippedDateValue: DateTime; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersShippedDate]; end; function TOrdersBusinessProcessorRules.GetOldShippedDateIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersShippedDate]); end; procedure TOrdersBusinessProcessorRules.SetShippedDateValue(const aValue: DateTime); begin BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShippedDate] := aValue; end; procedure TOrdersBusinessProcessorRules.SetShippedDateIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShippedDate] := Null; end; function TOrdersBusinessProcessorRules.GetShipViaValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipVia]; end; function TOrdersBusinessProcessorRules.GetShipViaIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipVia]); end; function TOrdersBusinessProcessorRules.GetOldShipViaValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersShipVia]; end; function TOrdersBusinessProcessorRules.GetOldShipViaIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersShipVia]); end; procedure TOrdersBusinessProcessorRules.SetShipViaValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipVia] := aValue; end; procedure TOrdersBusinessProcessorRules.SetShipViaIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipVia] := Null; end; function TOrdersBusinessProcessorRules.GetFreightValue: Float; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersFreight]; end; function TOrdersBusinessProcessorRules.GetFreightIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersFreight]); end; function TOrdersBusinessProcessorRules.GetOldFreightValue: Float; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersFreight]; end; function TOrdersBusinessProcessorRules.GetOldFreightIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersFreight]); end; procedure TOrdersBusinessProcessorRules.SetFreightValue(const aValue: Float); begin BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersFreight] := aValue; end; procedure TOrdersBusinessProcessorRules.SetFreightIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersFreight] := Null; end; function TOrdersBusinessProcessorRules.GetShipNameValue: WideString; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipName]; end; function TOrdersBusinessProcessorRules.GetShipNameIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipName]); end; function TOrdersBusinessProcessorRules.GetOldShipNameValue: WideString; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersShipName]; end; function TOrdersBusinessProcessorRules.GetOldShipNameIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersShipName]); end; procedure TOrdersBusinessProcessorRules.SetShipNameValue(const aValue: WideString); begin BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipName] := aValue; end; procedure TOrdersBusinessProcessorRules.SetShipNameIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipName] := Null; end; function TOrdersBusinessProcessorRules.GetShipAddressValue: WideString; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipAddress]; end; function TOrdersBusinessProcessorRules.GetShipAddressIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipAddress]); end; function TOrdersBusinessProcessorRules.GetOldShipAddressValue: WideString; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersShipAddress]; end; function TOrdersBusinessProcessorRules.GetOldShipAddressIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersShipAddress]); end; procedure TOrdersBusinessProcessorRules.SetShipAddressValue(const aValue: WideString); begin BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipAddress] := aValue; end; procedure TOrdersBusinessProcessorRules.SetShipAddressIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipAddress] := Null; end; function TOrdersBusinessProcessorRules.GetShipCityValue: WideString; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipCity]; end; function TOrdersBusinessProcessorRules.GetShipCityIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipCity]); end; function TOrdersBusinessProcessorRules.GetOldShipCityValue: WideString; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersShipCity]; end; function TOrdersBusinessProcessorRules.GetOldShipCityIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersShipCity]); end; procedure TOrdersBusinessProcessorRules.SetShipCityValue(const aValue: WideString); begin BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipCity] := aValue; end; procedure TOrdersBusinessProcessorRules.SetShipCityIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipCity] := Null; end; function TOrdersBusinessProcessorRules.GetShipRegionValue: WideString; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipRegion]; end; function TOrdersBusinessProcessorRules.GetShipRegionIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipRegion]); end; function TOrdersBusinessProcessorRules.GetOldShipRegionValue: WideString; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersShipRegion]; end; function TOrdersBusinessProcessorRules.GetOldShipRegionIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersShipRegion]); end; procedure TOrdersBusinessProcessorRules.SetShipRegionValue(const aValue: WideString); begin BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipRegion] := aValue; end; procedure TOrdersBusinessProcessorRules.SetShipRegionIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipRegion] := Null; end; function TOrdersBusinessProcessorRules.GetShipPostalCodeValue: WideString; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipPostalCode]; end; function TOrdersBusinessProcessorRules.GetShipPostalCodeIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipPostalCode]); end; function TOrdersBusinessProcessorRules.GetOldShipPostalCodeValue: WideString; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersShipPostalCode]; end; function TOrdersBusinessProcessorRules.GetOldShipPostalCodeIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersShipPostalCode]); end; procedure TOrdersBusinessProcessorRules.SetShipPostalCodeValue(const aValue: WideString); begin BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipPostalCode] := aValue; end; procedure TOrdersBusinessProcessorRules.SetShipPostalCodeIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipPostalCode] := Null; end; function TOrdersBusinessProcessorRules.GetShipCountryValue: WideString; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipCountry]; end; function TOrdersBusinessProcessorRules.GetShipCountryIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipCountry]); end; function TOrdersBusinessProcessorRules.GetOldShipCountryValue: WideString; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersShipCountry]; end; function TOrdersBusinessProcessorRules.GetOldShipCountryIsNull: Boolean; begin result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_OrdersShipCountry]); end; procedure TOrdersBusinessProcessorRules.SetShipCountryValue(const aValue: WideString); begin BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipCountry] := aValue; end; procedure TOrdersBusinessProcessorRules.SetShipCountryIsNull(const aValue: Boolean); begin if aValue then BusinessProcessor.CurrentChange.NewValueByName[fld_OrdersShipCountry] := Null; end; initialization RegisterBusinessProcessorRules(RID_CustomersDelta, TCustomersBusinessProcessorRules); RegisterBusinessProcessorRules(RID_OrdersDelta, TOrdersBusinessProcessorRules); end.