The most flexible but least efficient way to reference r-code in a library is by using a pathname relative to a location on the PROPATH. When you reference a member using a relative pathname, OpenEdge searches the PROPATH.
When you reference a member in an unspecified library using a relative pathname, OpenEdge searches each directory and library defined in the PROPATH until it finds the first occurrence of the procedure. For example:
RUN mydir/appl/addcust.r
When you reference a member in a specific library using a relative pathname, OpenEdge searches the PROPATH until it finds the first occurrence of the library. For example:
RUN mydir/appl.pl<<addcust.r>>
When you reference a member in a specific library, you must enclose the member name in double angle brackets as shown.
The most flexible way to find r-code is to specify relative pathnames for all procedures run in your application. This enables you to include a procedure in a library at deployment, but maintain separate procedure and r-code files during development. In a development environment, either place the library in the PROPATH after your development directories or omit it from the PROPATH entirely. In a production environment, place the library at or near the beginning of the PROPATH to avoid long searches.
Note: OpenEdge can only find r-code members in a procedure library. While it is technically possible to include other types of files in a procedure library, OpenEdge cannot find them while searching the PROPATH.
For more information about how libraries interact with PROPATH, see Librariesand PROPATH. For more information about the RUN statement, see OpenEdge Development: ABL Reference.