What if the table is small enough and there is not a direct dedicated BO:Method for updating the table other than the main BO update. An example is a Sales Order Update method is used to update the table OrderHedUPS.
Additionally, it may not be possible to call a BO from a BPM. For example just declaring assemblies and BO for the Sales Order during a Quote Update method will result in compilation errors during the save of the BPM.
Below are just a few of the errors that you would get:
There is at least one compilation error.
Update.CommonTypes.cs(308,33): error CS0433: The type ‘QuoteQtyTable’ exists in both ‘Erp.Contracts.BO.Quote, Version=10.2.500.0, Culture=neutral, PublicKeyToken=5d3fa3c7105d7992’ and ‘Erp.Contracts.BO.SalesOrder, Version=10.2.500.0, Culture=neutral, PublicKeyToken=5d3fa3c7105d7992’
Update.CommonTypes.cs(333,33): error CS0433: The type ‘HedTaxSumTable’ exists in both ‘Erp.Contracts.BO.Quote, Version=10.2.500.0, Culture=neutral, PublicKeyToken=5d3fa3c7105d7992’ and ‘Erp.Contracts.BO.SalesOrder, Version=10.2.500.0, Culture=neutral, PublicKeyToken=5d3fa3c7105d7992’
Update.CommonTypes.cs(338,33): error CS0433: The type ‘PartSubsTable’ exists in both ‘Erp.Contracts.BO.Quote, Version=10.2.500.0, Culture=neutral, PublicKeyToken=5d3fa3c7105d7992’ and ‘Erp.Contracts.BO.SalesOrder, Version=10.2.500.0, Culture=neutral, PublicKeyToken=5d3fa3c7105d7992’
Update.CommonTypes.cs(343,33): error CS0433: The type ‘TaxConnectStatusTable’ exists in both ‘Erp.Contracts.BO.Quote, Version=10.2.500.0, Culture=neutral, PublicKeyToken=5d3fa3c7105d7992’ and ‘Erp.Contracts.BO.SalesOrder, Version=10.2.500.0, Culture=neutral, PublicKeyToken=5d3fa3c7105d7992’
CustomizationAdapter.cs(333,30): error CS0433: The type ‘ETCAddrValidationTableset’ exists in both ‘Erp.Contracts.BO.Quote, Version=10.2.500.0, Culture=neutral, PublicKeyToken=5d3fa3c7105d7992’ and ‘Erp.Contracts.BO.SalesOrder, Version=10.2.500.0, Culture=neutral, PublicKeyToken=5d3fa3c7105d7992’
CustomizationAdapter.cs(9,132): error CS0738: ‘QuoteSvcCustomization’ does not implement interface member ‘QuoteSvcContract.ETCValidateAddress(int, int, out bool, out bool, out string)’. ‘QuoteSvcCustomization.ETCValidateAddress(int, int, out bool, out bool, out string)’ cannot implement ‘QuoteSvcContract.ETCValidateAddress(int, int, out bool, out bool, out string)’ because it does not have the matching return type of ‘ETCAddrValidationTableset’.