Is it possible to update NCL procedures dynamically without causing problems on a running Solve or NetMaster region?
Yes! NCL procedures can be updated dynamically while a region is running, but how Solve/NetMaster regions access NCL procedures must be taken into consideration. The first time an NCL procedure is called, it is retrieved from disk storage and loaded into memory. Depending upon how often the procedure is called, how much memory it requires, or if it was specifically preloaded, it may still be present in memory at the time you perform your update to the copy on disk storage. Thus it is always good practice to unload the procedure from memory after making changes to ensure the newly updated version is pulled from disk storage and loaded into memory upon the next call. If this is not done, the old copy in memory may continue to execute without the new changes, even though the copy on disk has been updated.
To unload a NCL procedure from memory, perform these steps:
1. Go to the Command Entry screen in the Solve/NetMaster region by entering "CMD" at any user prompt (without the quotes).
2. Once at the Command Entry screen, enter the following command:
replacing "procname" with the name of the NCL procedure that was updated.
3. Either of these messages will be returned from the UNLOAD command:
N14904 PROCEDURE procname NOT PRELOADED
The message above indicates the procedure was not currently loaded in memory and that the updated version will be retrieved from disk storage the next time it is called for execution.
N14901 PROCEDURE procname UNLOADED
This message indicates that the old copy of the procedure was present in memory and has been removed by the UNLOAD command, so that the updated version will now be retrieved from disk storage the next time it is called for execution.
Following the simple procedure above will always ensure the latest copy of the NCL procedure is executed, especially during testing.
Detailed information regarding the UNLOAD command is available by going to the Command Entry screen described earlier and entering HELP UNLOAD on the command line. Entering HELP COMMANDS will display a list of all commands available in the region, where each can be selected to display detailed information regarding command syntax and keyword descriptions.