Code samples which are unifed components or managers ready to be incorporated in other code
The Progress Standard Libraries In general the libraries are compatible with Progress version 9 and upwards and are O/S neutral, unless noted differently. To install the libraries place the slib/ directory in a directory on your PROPATH and you're ready to go, no need to change your PROPATH. I usually just copy the slib dir to every project I do. To use a library add the library include file to the external procedure file. Although the libraries are essentially persistent super procedures.
Contributed by Jeff Pilant
This program is designed to assist in the generation of output for other programs. Its basic function is to take a temp table and create a file with the contents of the temp table in a convenient form. Output can be to the screen via a browse, or to a file in any of the following formats: plain text (*.TXT), comma-separated values (*.CSV), Excel spreadsheet (*.XLS), Sylk spreadsheet (*.SLK), XML file (*.XML), and Dictionary Definition file (*.DF).
The program is called as follows:
RUN tt-file.p(temp-table tt-name:handle, filename, switch)
The variable manager is a super procedure which can replace the functionality usually provided by SHARED and GLOBAL-SHARED variables, as well as adding functionality such as access permissions.
See "SessionVariableManager" in Amduus code repository: http://www.oehive.org/amduus/
by Tim Keuhn
The Zeno processor is a framework of scripts and code that allows the user to spawn off on or more processes on one or more machines to handle requests.
Browse the code (and documentation): http://www.oehive.org/amduus/Zeno/
Often in web applications we will need to draw up a large set of result data stored in a table. This often takes a lot of time to pull out of the main tables, collate, and join together fields. This can become expensive on pages only meant to display a portion of the data at a time (the concept of “paging” the data so the web page is manageable to read.) By using a cache manager, it will be easier to store the result set to disk and use some procedures to pull back “pages” of data that we desire.
This manager can be used in Web 1.0 as well as in AJAX type web applications.
Unzip the files, make sure they're on the PROPATH and that's it.
The procedure manager provides a standardized way of managing when a persistent or super procedure is instantiated, which procedures parent it, how many procedure instances are created, and when they are deleted.
The primary application for this program is enabling writing new PP/SP code with OO style structures, which enables easier development of new code and upgrading existing legacy applications with minimal code impact.
The query manager abstracts commonly-performed life-cycle management of static and dynamic queries, and browses into a standard block of 4GL / ABL code.
This enables a developer to compose a query filter with an arbitrary number of AND conditions by performing a RUN to add each filter condition to a given buffer of the query.
dir-tools.p can be used to work with files and directories and:
* obtain file information for a specified directory level or for an entire directory tree.
* compile programs and saving r-code to a target directory tree
* copying files and directories
* merge multiple directory trees to a target directory path
* delete files, directories, and directory trees
* show a status to the user as it works