OE Techniques and Coding

Code samples, whitepapers, and discussion on techniques for using various ABL features and solving various requirements faced in writing ABL code.


Code Samples

Small fragments of ABL code which illustrate some principle or technique


Coding Standards and Best Practice

Discussions and Examples related to coding standards and best practices in developing ABL applications


Components & Managers

Code samples which are unifed components or managers ready to be incorporated in other code


Interfaces to Other Languages or Databases

Code and tools for creating a connection between ABL applications and other language systems or databases


OOABL

Code, discussions, and whitepapers related to the use of object-oriented techniques in coding ABL applications.


Operating System and Application Interfaces

Information and examples for interfacing ABL applications to the operating system and common applications such as word processors, spreadsheets, and e-mail


ProDataSets

Documentation and examples on how to use ProDataSets


Reporting

Code, discussions, and whitepapers related to reporting from ABL applications


UI design guidelines

General User Interface design and review guidelines


Web Services & Other Integration Technologies

Whitepapers and code samples related to webservices and other related integration technologies.


Web UI Development

This section covers WebSpeed, Ajax, eScript and any other technology for creating and deploying browser user interfaces (WUI).


XML

Tools and samples related to the use of XML


pro2myv2 amduus edition

Use of CLI tools for exporting of Progress schema and data to MySQL with Amduus modifications to Mark Newnham's Pro2myv2 Open Source tool.

The open source tool pro2myv2 has been modified by Amduus to be more UNIX oriented. (It originally was GUI oriented and can still be used in a GUI environment.) This way it can be used from a non-GUI environment and from cron for automatic data exporting and loading from Progress to MySQL.

Attn: This tool requires a developers or query license for the version of Progress it is being used on.


pro2my or pro2myv2

Pro2My is a simple group of PROGRESS source code routines that can be run against any PROGRESS database greater than version 6 to produce a series of files containing MySQL format SQL statements. These files can be used to produce a MySQL database that is a mirror of the PROGRESS database. The routines provide a method of:

  • Extracting the data schema from the PROGRESS database
  • Checking and converting PROGRESS data to prevent MySQL database load errors.
  • Extracting the data from the PROGRESS database.

pro2mysql

Interface for Progress 4GL to query mysql databases.
Functions work like they do in php.

code: browse the code in the Subversion repository http://www.oehive.org/amduus/pro2mysql/

contributed by Matthew Lang


pro2jdbc

pro2jdbc - Progress to JDBC interface

pro2jdbc.p usage:

  1. Run pro2jdbc.p as persistent procedure then open server connection usging jdbcOpenConnection() (that two steps might be done at the beginning of your application).
  2. Run several selects using jdbcExecuteQuery(), retrieve records using jdbcGetRecord().
  3. Finally close connection using jdbcCloseConnection() and remove persistent procedure (that two steps might be done at the end of your application).

http://www.oehive.org/amduus/pro2jdbc/


Session Variable Manager

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


Natural Language

dollars.p - converts decimal amount to text

http://www.oehive.org/amduus/NaturalLanguage/


Zeno process-spawner

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/


Kitty chatboard

Kitty is a simple chat board written for use with Webspeed and Progress.

Features:
- Generating web pages from data in the database
- Login security
- Control over who has access to what information
- Using a state table to storeWIP info (instead of exposing it all as HTML form hidden values the user can mess with.)

Browse the code: http://www.oehive.org/amduus/Kitty/


EQN

The software began as a simple algebraic calculator. Send it an algebraic expression in a string and it would return a string representing the numeric result.

The idea was that software using the system would be able to keep equations in a parameter file or database table allowing the user to manipulate not just the numbers for a value in the system, but how to calculate that value to begin with!
Imagine allowing a user to not only tweak numbers of an inventory level equation, but to configure the actual equation to determine inventory levels!


Denkh HTML Reporter

More and more often companies are asking for output in PDF files. They can be more visually sophisticated with fonts, bolding, lines, bar graphs, etc. One of the problems with HTML is the lack of page numbering on listings. This can be accomplished in PDF with headers and footers available too!

Denkh is in the "amduus" repository: http://www.oehive.org/amduus/Denkh/


Syndicate content