Tabulating System Program Structure

Continuing our series on the principles behind tabulating system, let’s discuss the basic program structure.

Perhaps some of the first tabulating systems were developed before the idea of structured programming, but this pattern for program structure developed very early in the life of system development.  Most Tabulating Systems have as the top constructs the following:

  • Initiate Processing
  • Perform Until End of File
  • Terminate Processing

These major sections developed because tabulating systems are periodic systems–effectively batch.  They were executed, perhaps once a day, accumulating all the transactions since the last time they were run, and updating all outputs for those transactions.

As the program began, it would first set up its processes, opening files, printing headers on control reports, reading parameters.

The Perform Until End of File process typically read the input transactions at a minimum, and performed some action on each of those records.  If the program was a posting program, it would have read at least one additional file, the master file.  The output of this program would have been at least a new, updated master file.

When the last record was read from all the input files, the program would have finished up processing, printing control reports and control records, closing files.

When systems were converted from reading punch cards to records on tape or disk, the program structure did not need to change.  It was simply a change in the file format for the input or output files.  Thus many of these systems continue to operate today.

If one knows the principles behind Tabulating Systems, it is easy to detect the great order in them, which is not possible with a system composed of Spaghetti Code.

This is Episode 158 of Conversations with Kip, the best financial system vlog there is. Learn more at

Next Up: Posting Processes in Tabulating Systems 

2 thoughts on “Tabulating System Program Structure

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s