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 LedgerLearning.com
[…] Next up: Tabulating System Program Structures. […]
[…] Continuing our series on how many of today’s financial systems are fundamentally tabulating systems in nature, today we’ll discuss where posting processes fit in these systems. (See prior post Series Introduction, and Tabulating System Program Structure). […]