Release 10.1A: OpenEdge Deployment:
Managing 4GL Applications

> ## Libraries and PROPATH

> The following rules govern how standard and memory-mapped libraries interact with PROPATH during a Progress 4GL session:

> - The first time you run a member procedure from a standard or memory-mapped library that is specified in the PROPATH, OpenEdge locates the procedure by searching through each directory and library in the PROPATH until it finds the procedure. To search a library for a member procedure, 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 procedure. Thus, placing the library at the beginning of the PROPATH improves performance.

> - A library remains open until the end of your Progress 4GL session or until you remove the library from the PROPATH. If you remove a library from the PROPATH while a member procedure 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 Progress 4GL session. Otherwise, OpenEdge closes a standard library and 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 Progress 4GL session.

> - If you use libraries, OpenEdge accesses r-code files as if you had specified the Quick Request (`-q`) startup parameter. That is, OpenEdge searches the PROPATH only on the first reference to a procedure. Thereafter, if the procedure still resides in memory, in the local session compile file, or in an r-code library, OpenEdge reuses the procedure 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 procedures from a library, see the "Running procedures from a library" section.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095