D
dbeavon
Guest
In Eclipse I cannot find an easy way to generate a listing of an ABL program that shows the most interesting facts about the program, insofar as the compiler is concerned. For example, one of the most interesting facts that someone can discover about one's own ABL program is where the compiler decides to start new OE transactions or "sub transactions" (provided the programmer doesn't explicitly start one themselves with a DO TRANSACTION block). This can sometimes feel a bit like black magic to a new developer or to someone who is trying to transfer their skills from another database programming platform. (It might be just me, but it always found it a bit scary that the compiler would "help" the developer to create implicit transaction scopes - as if such a decision was so uninteresting that no ABL developer should need to know or care about such things. I've occasionally found myself bewildered by the behavior of some ABL program where the work is undone in only one of several iterations of a FOR EACH loop. I.e. some work on a business document's data is undone, while it is committed in other iterations. This is normally a scenario where the developer was uninterested and the compiler was demonstrating its "helpfulness".) In any case, the compiler listing is really, really useful when reviewing programs written by developers who make use of implicit ("helpful") transactions that are created at the compiler's discretion. The compile listing will also show the scoping of other items used in a program, like record buffers. It is helpful to see this information too. I have used PDSOE for over a year and haven't discovered where this feature is hidden yet, so I normally have to open a command window and generate the listing for a program manually. In the perfect world, these kinds of annotations would show up immediately while editing the code in the IDE itself (like a "code lens" in visual studio). I've found preprocessor output but not the compile listing. Any pointers would be appreciated. I am certain that I'm overlooking something...
Continue reading...
Continue reading...