ABL provides several options for loading and unloading shared libraries. How this is done in ABL depends on how you access the shared library, either statically or dynamically. The following table compares these options for statically and dynamically accessed shared libraries.

Table 1. Loading and unloading shared libraries
If you want to ... Static Dynamic(Call object handle)
Load and unload a shared library each time you invoke it PROCEDURE statement without the PERSISTENT option call-object:PERSISTENT = FALSE or do not specify the attribute
Load a shared library and keep it loaded PROCEDURE statement with the PERSISTENT option call-object:PERSISTENT = TRUE
Manually unload a shared library RELEASE EXTERNAL statement RELEASE EXTERNAL statement