Libraries and PROPATH
- Last Updated: February 11, 2026
- 2 minute read
- OpenEdge
- Version 13.0
- Documentation
Libraries and PROPATH
The following rules govern how procedure libraries (.pl) and archive files (.apl) interact with PROPATH during an OpenEdge session:
- The first time you run a member from a library that is specified in the PROPATH, OpenEdge locates the member by searching through each directory and library in the PROPATH until it finds the member. To search a library for a member, OpenEdge must open the library. If the library is a signed archive, the archive signature is validated. When OpenEdge opens a standard procedure library or an archive file, it loads the procedure into local memory. When OpenEdge opens a memory-mapped procedure library, it maps the library in shared memory.
- When searching through directories and libraries in the PROPATH, OpenEdge starts at the beginning of the PROPATH and searches each directory and library, in defined order, until it finds the member. Thus, placing the library at the beginning of the PROPATH improves performance.
- A library remains open until the end of your OpenEdge session or until you remove the library from the PROPATH. If you remove a library from the PROPATH while a member is still active (either running, or waiting for a subprocedure to return), OpenEdge displays an error message and the library remains open until you end your OpenEdge session. Otherwise, OpenEdge closes a standard procedure library or archive, or unmaps a memory-mapped procedure library.
- If you use a
SEARCHorRUNstatement to open a library that is not in the PROPATH, the library remains open until you end your OpenEdge session. For a signed archive, its signature is validated. - If you use libraries, OpenEdge accesses r-code as if you had specified the
Quick Request (
-q) startup parameter. That is, OpenEdge searches the PROPATH only on the first reference to a member. Thereafter, if the member still resides in memory, in the local session compile file, in a procedure library, or in an archive file, OpenEdge reuses the member instead of searching the PROPATH again. For more information about the Quick Request (-q) startup parameter, see Startup Command and Parameter Reference.
Note: To ensure that all users access the same memory-mapped
procedure library in shared memory, each user must place the library in their PROPATH using
the same library pathname.
For more information about running members from a library, see Run members from a library.