Development Tools Group

This is a group for keeping track of all ABL development support tools on the Hive

Suprema Biomini Fingerprint scanner

Classes to access and enroll with Suprema's Biomini fingerprint scanners

PDSOE F3 key re-assignment


This has to do with PDSOE, not OEDA, but that wasn't an option when selecting.

I want to be able to re-assign the F3 key to run a program. I cannot see how to do that in Windows--> Preferences --> General --> Keys. Ultimately when this program runs it will allow the user to enter in a program that will be retrieved from the trunk in SVN (already setup, and the program works) and copied to the branch the user is working on. This is to make things easier than the many clicks that takes place now.



table usage

Ho do we create a rule which will identify whether the program is using a DB table or not ?

Prolint - tablename rule for class method parameters not working

I am having a class with method and that method is having 2 input parameters assigning to some other local vars.

Using Prolint I am generating ouput for the same class and output is showing warning like "inpt1 must be qualified with table name" and same for the 2nd input parameter for the line number where I am assigning it to other local vars.

But the same is working for procedure file having input parameters, no warning in the output page.

Please suggest

OpenEdge Database Advisor

The OpenEdge Database Advisor is intended to provide a quick checkup for common database configuration issues. Obviously proper tuning for an application requires much more than any tool can provide, but the advisor should highlight some of the most common low hanging fruit.

For best results you will need a recent database analysis file (proutil -C dbanalys) and you should run this against your production database. A large portion of the suggestions will be based on VST information that will differ greatly between your production and test environments.

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.

Change Log prior to version 1.00

0.50 - Initial Release
0.51 - Parameterize overall log location in variable
0.52 - Clean up GetDescription logic
0.53 - Fix separator bug in BuildRunLinks.cls
0.59 - Add M support for LOB-SIZE and LOB-BYTES
       - Support TABLE-TRIGGER
       - Support N separate DBs with their own schema
       - Support DB in table links
       - Support DB Connect params (including live DBs)

Proparse Utilities

Having started to use Proparse as a part of ABL2DB, I have created several utilities for Proparse, either to call from ABL2DB or to provide information to use in development of ABL2DB. Since these utilities might be useful to someone doing other development with Proparse, I am documenting them here. For now, they are available as a part of the ABL2DB distribution. If there was demand, I could package them separately. All are published in the com.cintegrity.Proparse package.


how I can read the computer name if the user is connected via CITRIX

Unused Database Column

In the course of evolving an application, it is not uncommon for database columns to be added in anticipation of some change that never happens or for once used column to be replaced by other schema or even for whole tables to be abandoned because the functionality they supported is no longer needed or relevant. These columns present no actual harm, but may be confusing since one assumes they are used, especially since they may contain legacy data from when they were used.

Shared Variable Usage in a Functional Unit

One of the common tasks in modernization is replacing the use of shared variables with explicitly passed parameters or references to persistent procedures or objects.

References to an Integer DB column in programs

With the advent of the INT64 datatype, there can be the desire to change the datatype of an existing database column of type integer to type INT64. When this is done, it is desirable to examine the code where this column is referenced to see if there are local variables which also need to be changed.

This report starts with a designated database column and finds all of the references in code where that column is used.

The ABL code and a sample report are provided. The IntRefs_James sample is from James Palmer examining the proposed change of their customer number to INT64.

Blocks in Compile Unit

We all know how important buffer and transaction scope can be to the proper operation of an ABL program. We have COMPILE LISTING to show us these scopes, but many programmers are either unaware of the tool or seem to forget to use it to check their work. But, this information is critical to understanding many issues of many problems.

Sample Reports

While it is possible that fancier and more sophisticated reports and inquiries will arise on top of ABL2DB over time, not the least of which is its possible role as the front end for ABL2UML, it is likely that the bulk of analytical report for ABL2DB will be specific, project oriented programs. Fortunately, they are also likely to be quite simple. Therefore, the samples presented here are not fancy works of art, but very simple little programs designed to get the desired information with as little development effort as possible.

Thank you

This page is intended to provide recognition for people who have contributed to the development of this utility. I will probably forget someone, for which apologies are offered, but I will try.

  • James Palmer - testing and interaction about problems.
  • Simon Prinsloo - testing and interaction about problems.
  • Stefan Houtzager - testing, feedback on issues and actual code to fix problems and add features, and a sample report.

Syndicate content