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:

  1. 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.
  2. 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.
  3. Each background thread then processes the block by:
    • Sending a separate REST request for each of the 25 changed rows in the block (PATCH or PUT for update, POST for create, DELETE, or POST for invoking a custom action).
    • Waiting for the response for each row before sending the next request.
  4. 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.

  5. 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.