Plugin: Defer Report Load on Tab focus

Plugin: Defer Report Load on Tab focus

I am happy to announce my new Dynamic Action plugin: “Defer Report Load on Tab focus”. Get it ap!

This Dynamic Action plugin is meant to be used for slow reports that run under a tab container. Put another way, it’s for reports that are not visible right away and perhaps may not be unless the user clicks on the tab.
The plugin assists in deferring the load of an IR or Classic report until the tab gets focus. In reality, the report does run, but it should use a “trigger” item set to ‘N’ the first time it loads. Then, the DA will switch the trigger item to Y when the tab receives focus and refresh report and load the data.

Demo App: here
Github Repo

I made a quick video to show how it’s used.

How to use the “Defer Report Load on Tab focus” plugin

Hi, I'm Jorge Rimblas. Father, husband, photographer, Oraclenerd, Oracle APEX expert, Oracle ACE, coffee lover, car guy, gadget addict, etc... I'm an APEX Tech Lead DRW. I have worked with Oracle since 1995 and done eBusiness Suite implementations and customizations. Nowadays I specialize almost exclusively in Oracle APEX.

3 Comments on “Plugin: Defer Report Load on Tab focus

  1. Hi Jorge ,

    I tried the plugin in my apex environment .
    Db version – , apex – 20.1

    Getting this error while running . Can you please help?

    Error in PLSQL code raised during plug-in processing.

    Contact your application administrator.
    Technical Info (only visible for developers)

    is_internal_error: true
    apex_error_code: WWV_FLOW_PLUGIN.RUN_PLSQL_ERR
    ora_sqlcode: -6550
    ora_sqlerrm: ORA-06550: line 4, column 55: PLS-00201: identifier 'JMR_DEFER_REPORT_LOAD_PLUGIN.RENDER' must be declared ORA-06550: line 4, column 1: PL/SQL: Statement ignored

    ORA-06512: at "SYS.DBMS_SYS_SQL", line 1445
    ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_200100", line 513
    ORA-06512: at "APEX_200100.WWV_FLOW_DYNAMIC_EXEC", line 1539
    ORA-06512: at "APEX_200100.WWV_FLOW_PLUGIN", line 1494


    begin declare

    wwv_flow_plugin_api.g_dynamic_action_render_result := jmr_defer_report_load_plugin.render (p_dynamic_action => wwv_flow_plugin_api.g_dynamic_action,p_plugin => wwv_flow_plugin_api.g_plugin );end;

I love comments, write me a line