Upload Table Changes Using Separate Requests for Each Row
If the target REST service does not support multi-row processing or multi-row processing is turned off, Oracle Visual Builder Add-in for Excel sends each changed row in a separate request ("row-wise" processing) during upload.
Row-wise processing is also used when either:
- Multi-row support has been disabled by the workbook developer for a specific ADF REST business object.
- When the set of pending changes includes a row marked for a custom action that does not support multi-row requests. See Multi-Row Mode for Custom Actions.
Note:
"multi-row" processing refers to sending multiple rows' worth of changes in a single POST request. This processing is enabled by default on ADF REST services. See Upload Changes Using Multi-Row Requests.Row-wise Behavior
When a user clicks the Upload Changes button (and multi-row processing is not supported or enabled), here's what happens:
- The add-in divides all changed rows into sequential collections (blocks) of 25 rows each.
For example, block 1 has changed rows 1-25, block 2 has rows 26-50, and so on.
Note:
Each block may contain a mixture of kinds of changed rows such as Update, Create, Delete, and custom action invocation. - The add-in creates up to 4 background threads, if the Supports Parallel Requests check box is enabled, and assigns each thread a block as a unit of work. See Enable Parallel Requests During Upload.
- Each background thread then processes the block by:
- Sending a separate REST request for each of the 25 changed rows in the block (
PATCH
orPUT
for update,POST
for create,DELETE
, orPOST
for invoking a custom action). - Waiting for the response for each row before sending the next request.
- Sending a separate REST request for each of the 25 changed rows in the block (
- When the add-in has received responses from the REST service, it processes the responses for each block, in order.
The add-in updates the Change and Status columns. If the REST service returns the row's field values in the response, the add-in writes these values for changed rows back into the table rows.
- The add-in repeats these steps for the entire set of changed rows, processing up to 4 blocks of 25 changed rows at a time, until all changed rows have been processed.