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.

To update ETL methods for bulk deletion:
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))
ETL methods for bulk deletion are updated.
You must also change any project level customizations that invoke the delete event on this helper class so that they use the new method signature, passing in the appropriate arguments as before.