Each of these approaches has its merits. One thing to remember is that you can mix the approaches. Mixing approaches can be quite useful in a large project. Imagine a standard accounting package. In it, you might use the dual code method to handle the main menu of the package. For example, the graphical version might display a nice graphic and use the system's menu bar to initiate the subsidiary applications. The character version might instead display the menu as the main contents of the opening screen since it can't show a graphical image. Parts of the application that perform maintenance of minor files (such as shipping codes and user passwords) or entry of report parameters, might use the single interface approach because the screens are simple. Finally the key transaction entry screens (such as an order entry screen) might use the dual interface, single code approach to ensure that the screens work well for the respective systems while also ensuring that the entered data is handled the same way by both systems.
You can even mix approaches inside a single program, or even a single screen. You might have most of a screen use the single interface approach, while a small portion of it is customized by using the dual interface technique.
You do not need any special tools to use the dual interface, dual code approach (although a good source-code control system always helps). For the two single code approaches, ACUCOBOL-GT has special features to simplify use of the single interface and dual interface methods. The topics in this section discuss these features and when you might use them.