Updating ETL methods for bulk deletion
If you are upgrading from NexJ Contact version 7.2 or earlier, you must update ETL methods for bulk deletion.
Note: This is a developer task and must be performed
in NexJ Studio by a
person with access to the model.
In version 8.2, the ETL method
for bulk deletion was changed to support only a list of object IDs passed in
through NexJ Model Engine.
API support for using a WHERE
clause to perform bulk
deletion has been deprecated. The invoke-bi-sync
method is
used instead.
Make the appropriate changes in your project. Change the method
call from:
(BISyncTargetClassHelper.invokeETL syncClass where event isBulkSync)
To:(invoke-bi-sync syncClass where event . preloadAttributes)
Where
preloadAttributes
is a list of
attributes to preload to prevent lazy loads during instance deletion.
Specify attributes to load before deletion to prevent multiple calls
to the database for each item that is deleted.In the following example, the city attribute is loaded during
the read of BI_1_BILead before bulk deletion.
(invoke-bi-sync BI_1_BISyncClass_BILead `(= (@ address1) "test address" ) "delete" '(city))
In the following example, the exchangeRatesFrom, exchangeRatesTo, and symbol attributes are loaded during the read of the BI_1_BICurrency and APDimCurrency classes.
(invoke-bi-sync BI_1_BISyncClass_BICurrency `(= (@) ,currencyOID) "delete" '(exchangeRatesFrom exchangeRatesTo symbol))
delete
event on this helper class so that they use
the new method signature, passing in the appropriate arguments as
before.