Changing from hard-coded to variable field parameters won’t immediately improve the interface to your programs, but it will further the cause of separating your business and display logic, and make it much easier to implement more comprehensive application improvements, such as the switch to Event-Driven control.
One way to quickly extract the existing hard-coded field parameters and coordinates is to add the SBR=INFDEF:|G|E global switches and then bring up your main display and step through all of the fields so that they get processed by INFLD. Then hit Control-Right-Double-Click to capture the field data in a spreadsheet, then rearrange the columns to get it down to just the information you need for each field (row, column, type codes, etc.) Save your field parameters in a file for each screen, and use a standard MAP layout and import routine to load the parameters at the start of each program.
Among the many advantages of having your field parameters separated from the programs, it allows a non-programmer to do a lot of useful but otherwise tedious cleanup and improvement, for example, adding tooltips and help keys. It will also allow you to centralize your field editing logic in a single routine, used throughout your application, which you can then update once to add global features like field-level help.