Catalog Your Fields

This is related to the parameterization idea, but relates to your actual fields (data fields and the screen messages which accompany them) rather than to program structure per se. Having a catalog (simple data dictionary) of all your fields will be even more valuable when you get around to converting to a database, but it is also quite useful in the GUI conversion because it naturally leads towards better separation of business logic from user interface issues. As an example, if you had a catalog (database or maybe just a spreadsheet) of all the fields used in your application, you could have a non-programmer go through it to add tool tips, assign field id’s for documentation links, correct formatting and other inconsistencies, etc. Meanwhile, by getting these user interface details (like the actual text of the field prompts) out of the programs, you will automatically be that much closer to separating your business and interface logic, while encouraging a discipline of parameterization on your programming efforts.

A-Shell can help you get started with such a field catalog by creating a spreadsheet on demand of all GUI controls currently on the screen, when you Ctrl+Shift+Double-Click. By using SET AUTOTPRINT prior to running the program, then invoking the capture when you have a complete set of prompts and data on the screen, you’ll at least have all of the text messages and their positions and sizes. If you use INFLD for data display, you’ll also have the INFLD parameters associated with the data fields, which will get you well on your way.