Development Support Tools

Tools to assist in the development process

OpenEdge Session Tracing

Tuning OpenEdge application code can be daunting for a beginner. Although the tools required to debug and tune your code are available in the 4GL, they are not always easy to use and understand. This toolset aims to simplify the process of tuning without requiring major (or any) changes to your code.

Database Activity Monitor

A ChUI Database Activity Monitor that asks you to select a database connection. Database activity for that connection is then displayed in a browses - there is a Table view and an Index view. Reads / Creates / Updates by Table or Index. The activity is read from _UserTableStat and _UserIndexStat VSTs. There is a one minute auto-refresh, or it can be refreshed manually by pressing the space bar. There is a hotkey to display the stack trace for the connection, but statement caching must be enabled for this to work. There is an option to reset all stats to Zero.

ABL2DB - Databasing ABL information for Analysis

The ABL compiler provides some valuable tools for analyzing individual compile units, but this information can become far more valuable if systematically gathered into a database and supplemented with other information and analysis tools. Presentation on this project can be found at and .

Progress Profiler

There is a capability built in to ABL to provide run-time execution detail on a program. It collects execution times on blocks of code so that one can evaluate performance. It returns:

  • Line numbers.
  • Number of repetitions.
  • Average time.
  • Cumulative time.

It can be used by:

  • -profile run time parameter. Profiles whole session, but does not require modifying code.


Group for discussing the Maia code generator from dot.r


Maia is a Progress ABL code generator that takes a user-defined template and produces clean, understandable, consistent code. If you have ever copied and pasted a block of code, then Maia is for you. Maia removes the need for manual code duplication.

Even better, Maia removes the need for the vast majority of dynamic coding, making your code understandable to the programmer that follows you


abljsonabljsonJSON Parser for Progress ABL is a "wrapper" for the cJSON parser - ultra-lightweight, portable, single-file, simple-as-can-be ANSI-C compliant JSON parser.

The reader object can be used to load and parse a JSON string from either a file on the file system or from a character, longchar or memptr variable.

Application performance profile viewer

This profiler identifies performancebottlenecks in your application by analysing the logfile you create with the log-manager. ProfilerProfiler

Memoryleak inspector

Identifies possible memory leaks and their source by extracting those lines from logmanager output that point at created objects that are not deleted later on or allocated space that is not (fully) deallocated.
This analyser goes a bit further than and can handle OE 10.2A extra's


There's a very good plugin for Eclipse which integrates Eclipse with Microsoft Visual SourceSafe. It's org.vssplugin developed by Marcus Nylander, unfortunately it's not been updated since 2007. The latest version is 1.6.2 and it was developed for Eclipse 3.2, so it doesn't work with 3.4 and higher. Since I work with a quite unique VSS configuration I desperately needed to modify this plugin but before that I had to make it work on Eclipse 3.4.

Syndicate content