IBM Support

IBM Navigator for i - Lazy Load Tables



Details on the implementation of lazy-load tables in IBM Navigator for i. This method is used to improve performance on queries with large potential results.



Lazy-load tables
Some tables within Navigator only return a subset of the result-list of data to the browser side at a time.  The rest is left on the server side for improved performance.  This implementation differs from how most of the tables in Navigator are handled with all the data being returned to the browser side.  The list of tables making using of lazy-load functionality are:
  • PTFs
  • Active Jobs
  • Messages
  • Printer Output
    • My Printer Output
  • History Log
  • IFS
  • Message Monitor
  • Network Connections
  • Audit Journal
  • Authority Collection
  • Users
  • System Operator Messages (QSYSOPR) - updated to lazy load 2024-Q2
This means that when you are looking at data for a lazy-load table, only a subset of rows are provided at a time.  As you scroll through the table or go to alternate pages, Navigator goes back to the server to pull in the additional rows. 
When you filter or sort the table, the SQL provided with the SQL button changes.  This is because the Navigator modifies the SQL and sends it back to the server to run and filter through all the data.  For non-lazy-load tables, the filtering and sorting is done completely on the browser side.  No changes to the SQL are required.

For some tables, even with lazy-load, the time taken to get the first rows of data back can be long.  We have added pre-filter dialogs for these tables.  This allows the user to specify column values to filter on before waiting for the table to be displayed.  That way the first view of the table will come up faster and is already filtered for what the user wants.  This eliminates the wait-time for the initial table to load before filtering.
The tables that have pre-filters are:
  • Users
  • History Log
  • My Printer Output

Access to lazy-load tables through NEWNAV in QNEWNAVSRV
IBM Navigator for i uses a lazy-load function to provide large lists of data more efficiently to the user.  The lazy-load service uses the NEWNAV procedure which has moved from library QUSRSYS  to library QNEWNAVSRV.  This process changed in the June 2022 PTFs.
When the lazy load function is first set up, the user logged-in during the setup is required to have enough authority for the NEWNAV service program to be set up in QNEWNAVSRV library.  This is a requirement for Navigator.
If the first user is a limited user (*USER) with no special authorities, the lazy load function will fail with message that there is not enough authority:
   [Error SQL0551] Not authorized to object QNEWNAVSRV in QSYS type *LIB
The error will be something like this (depending on the table being loaded): 
Not authorized to QNEWNAVSRV
Note:  Error could be a different number.  This applies to any message which indicates QNEWNAVSRV library is not found, or function NEWNAV in QNEWNAVSRV is not found.
To correct this issue, login to New Nav with a profile that has *ALLOBJ authority (preferably QSECOFR) and attempt to use the same feature of New Nav that is causing the error. Once the service program is successfully loaded for the first time by a profile with *ALLOBJ, this issue will not occur again.
In the IBM Navigator for i PTF exit program, the owner of NEWNAV under QNEWNAVSRV is changed to QWEBADMIN. This will happen at the next PTF apply after the SRVPGM QNEWNAVSRV/NEWNAV is created.

[{"Type":"MASTER","Line of Business":{"code":"LOB68","label":"Power HW"},"Business Unit":{"code":"BU070","label":"IBM Infrastructure"},"Product":{"code":"SWG60","label":"IBM i"},"ARM Category":[{"code":"a8m0z0000000CH1AAM","label":"IBM Navigator for i"}],"Platform":[{"code":"PF012","label":"IBM i"}],"Version":"7.3.0;7.4.0;and future releases"}]

Document Information

Modified date:
03 June 2024