Because of the sophisticated code generation capabilities of AcuBench, the definition of what constitutes a program has grown. Without AcuBench, a program is, at its simplest, a COBOL source file and its COPY files (if any). In AcuBench, a program can still be just a COBOL source file and its COPY files, but it can also be something more.

If you plan to use any of AcuBench's automated code generation facilities, your program must have a program structure file. Programs created in AcuBench using the File > New > Program command are automatically give a program structure file. For information about using AcuBench's code generation with source code created outside the workbench, see Bringing Existing Code Into AcuBench.

All of the development work that is done with workbench tools that generate code, such as the Screen Designer or File Designer, is stored in the program structure file. When you generate code for the program, based on the information in the program structure file, several COPY files are created and some code may be generated directly into the program file (you have control over what files are created and what code is generated). It is important to understand that vital program information is stored in the program structure file (in a non-COBOL representation), and that a program that uses automated code generation facilities cannot be constituted without it. In a very real sense, the program structure file is as much a part of the program as the COBOL program source file (.cbl).

For a discussion of program development approaches, see Development Approaches.