I have a large system in OpenEdge ABL that could use some documentation-love. Currently a team member is working on a utility that can find methods and functions and make some "Javadoc-esque" html pages out of it. It's pretty rough around the edges. Okay, it's like sawblades around the edges.

I'm trying to find something like Javadoc or Doxygen that is capable of parsing OpenEdge ABL to generate some kind of API documentation. I know the market for OpenEdge isn't the best, but there is a lot of stuff that's passed along by word of mouth. It's difficult to search for because it used to be called "Progress" which throws off your search queries with non-relevant information.

I'm also open to a system that lets you define the regex's to look for to define your own syntax. Then it parses and gives you an output based on that.

  • Trying joining the Progress Email Group (peg.com/lists) for General and asking on there. It has a dedicated group of Progress programmers who would know the answer
    – briddums
    Dec 14, 2011 at 0:52

4 Answers 4


I wrote an xref->TT converter years ago which'll take apart your source files and return all sorts of stuff, including API's and their parameter lists. You can find the source code file here: http://communities.progress.com/pcom/docs/DOC-16588

One caveat is that I stopped working on this ~2008, so the code will be a bit out of date. If your code base doesn't use OOABL too much, I think you should be good.

  • One note - I haven't verified that that file is still what I think it is - if not, drop me a line and I'll dig up a real copy and get it to you. If you need any other help documenting your system, let me know!
    – Tim Kuehn
    Dec 15, 2011 at 22:05

If you are running OpenEdge 11.5 or above, you can use ABLDoc.

Since OpenEdge is largely backwards compatible, you can also probably use this tool if you have an 11.5 install, even if you primarily develop in another version.

From the Progress Knowledgebase:

Does Progress provide a tool similar to javadoc for OpenEdge ABL?

Progress provides an ABLDoc starting from version 11.5, and runs from Progress Developer Studio (PDS). Also Apache Ant can be used to generate ABL Documentation.


I don't know of any utility that would do this.

BUT. If your code is all in structured procedures and structured includes -- that is, written in the AppBuilder instead of in straight text files -- then it should be relatively trivial to create a simple Javadoc-style report for the whole system. It's just a matter of searching for the preprocessor tags that the AppBuilder writes into the code.

In the (relatively unlikely, unfortunately) event that you are running Openedge under *NIX, you could probably get most of the way with Bash, Awk and grep...

Looking at the code I have here, a few pointers for you in case it helps (if this is too obvious, my apologies):

&Scoped-define PROCEDURE-TYPE <Window,etc>

Maybe I can help you some more -- let me know.

  • Of the 18,000 or so files in the code base, I would suspect about 3000 are UIB generated. We are running AIX systems, and we do have grep utilities. We could grep for PROCEDURE\s*[a-zA-Z\-]*(\.|\((IN|OUT)PUT\s*[a-zA-Z\-](\,|\)\.)* (Obviously this is just a start at how complex a regex for it could be) but I'm really hoping someone has come across a need for this already :-) Thanks for the input though!
    – corsiKa
    Jun 16, 2011 at 20:58
  • Well, thank goodness -- just think how difficult it would have been under Windows! I coded something like this about 15 years ago(!), but the source is long gone, I'm afraid. Good luck...
    – Andy
    Jun 16, 2011 at 21:21
  • I'm tempted to say the language has changed so much it wouldn't work well anyway, but honestly, my firm acquired the software when I was 8 years old. You can do the math on that one. It has exploded, I mean, grown organically ever since.
    – corsiKa
    Jun 16, 2011 at 22:37
  • @glowcoder: That probably just means I'm a lot older than you. I remember Progress v4...!
    – Andy
    Jun 17, 2011 at 13:36
  • @Andy You know, I love their new features, I really do. I hate a lot of things about Progress because the old ways encourage (and sometimes enforce) things that are now considered very bad practices, even if they made sense at the time. But when you have an 18k file system, you can't exactly do a clean sweep and take out those bad things. So we're really limited in how we can take advantage of things that I (with a Java background) see as no-brainers.
    – corsiKa
    Jun 17, 2011 at 16:44

We've had the same issue with an undocumented (and large) legacy codebase. We're planning to give RoboDoc a try, since it only seems to care about comments (Progress's c-style comments are supported).

  • 1
    This really doesn't answer the question and really should have just been added as a comment.
    – Walter
    Oct 20, 2012 at 16:29

Not the answer you're looking for? Browse other questions tagged or ask your own question.