The following are three methods that might be used to help speed up the time, after which, a client application is ready to be used:
1) Load the TEMP-TABLEs on an AppServer, through an asynchronous call, while the client application is starting. Since the loading of the TEMP-TABLEs is occurring at the same time as the client starting, the effect is to reduce the overall time during which the client application can't be used. If the application currently stores records in a ProDataSet, remember that ProDataSets cannot be passed as parameters to/from an AppServer as part of an asynchronous call. The records would have to be passed as TEMP-TABLEs.
2) Kick off an application (using OS_COMMAND for example) that reads the records needed from the database and writes them out to the file system as either JSON or XML. The client application could read in the file (JSON or XML) and reconstruct the ProDataSet. This method would require a method to signal the client application that the output file was available. A timer control such as a pstimer could be used to regularly look for the availability of the file and signal to the client application that the data is ready to be read.
3) Include field lists in the application query when loading TEMP-TABLEs or ProDataSets. Using field lists reduces the amount of data passed from database to client application. This can reduce the time it takes to load the TEMP-TABLE or ProDataSet. |