Try OpenEdge Now
skip to main content
Managing ABL Applications
ABL and R-code Deployment and Management : Managing Procedure Libraries : Libraries and PROPATH
 

Libraries and PROPATH

The following rules govern how standard and memory-mapped libraries interact with PROPATH during an OpenEdge session:
*The first time you run a member from a standard or memory-mapped 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. When OpenEdge opens a standard library, it loads the procedure into local memory. When OpenEdge opens a memory-mapped 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 library or unmaps a memory-mapped library.
*If you use a SEARCH or RUN statement to open a library that is not in the PROPATH, the library remains open until you end your OpenEdge session.
*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, or in an procedure library, OpenEdge reuses the member instead of searching the PROPATH again. For more information about the Quick Request (-q) startup parameter, see OpenEdge Deployment: Startup Command and Parameter Reference.
Note: To ensure that all users access the same memory-mapped 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 Runningmembers from a library.