Table Download

When a business user performs a download for a Table layout, Oracle Visual Builder Add-in for Excel performs a number of actions including clearing existing data from the table, sending a GET request on the business object collection path, processing the response, and writing values to the worksheet.

Here is a detailed breakdown of what happens when the business user clicks Download Data for a Table layout:

  1. If the business user is not logged in, they are prompted to log in.
  2. If polymorphic business objects are used in the layout(s), then the polymorphic metadata is refreshed.
  3. The add-in may display one or more prompts in this order. If any of the prompts are canceled, the download operation is terminated.
    1. If the table has any pending changes, a warning is displayed and the business user can cancel to avoid losing changes.
    2. If path parameter values are required, the business user is prompted for these.
    3. If a row finder is configured and the finder includes row finder variables, the business user is prompted to provide values for the variables.
    4. If a search is configured, the business user is prompted to provide values for the search conditions.
  4. When the final prompt has been accepted, a progress window is displayed. The business user may cancel the download at any time.
  5. During download:
    1. If there are any worksheet filters, these are cleared.
    2. All existing data is cleared from the table.
    3. Table, including headers, is fully redrawn.
    4. All polymorphic field sets are expanded at this time to include the global segments, discriminator (context segment), and context-sensitive segments.
  6. List of values (LOV) columns are initialized.

    If a given LOV already has choices cached, that cache is used at this point. If a given LOV has no cache, a REST request is sent for the first 300 choices.

  7. The first page of items is requested from the REST service.

    The add-in issues a GET request on the business object collection path. This request includes various query parameters and request headers.

  8. The add-in uses a single background thread to request the second page of items while processing the response from the first page.
  9. For each row received, the add-in:
    1. Prepares the values to be written to the worksheet.
    2. Determines the appropriate cell styling.
    3. For LOVs, the identity values are exchanged for display values using the cache. Missing identity values are captured for later.
  10. If there are more rows to download after the first page is processed, the add-in prompts the business user to continue.

    If the business user clicks Stop Now, the download operation stops immediately. If they click Download All, the operation continues to retrieve additional pages until no more pages are available.

  11. For each page of rows, the add-in:
    1. Issues additional GET requests on the LOV data source for LOV cache misses, and completes the swap of identity values for display values.
    2. Writes blocks of values to the worksheet.
    3. Applies appropriate styling to blocks of cells.
  12. The add-in continues to fetch page after page until there are no more items to fetch.
  13. The columns are resized to fit the current content.
  14. The table row height is reset to the add-in's standard height.
  15. If the table is not visible, the upper-left corner is selected to make it visible.
  16. The post-download macro is invoked, if configured.
During the download operation:
  • The add-in populates a special column called the "Key" column. The content of the cells in the key column is not human-readable. This column contains "housekeeping" information for each row. This information is essential to the proper working of the table features. You should never edit or attempt to remove the key column. If you sort the table, you must include the key column in the range of sorted cells. Otherwise, you may get data corruption.
  • The status viewer is updated at various stages.

Note:

Problems communicating with the REST service may interrupt the download process. You can use the Network Monitor to see details of each request and response. See Network Monitor.