One of the primary developers of what became Prime Information was John Drumheller. I was employed at Prime computer and was introduced to Prime Information. In my work I came across a document that described a method of processing the data in a file using an efficient method that was attributed to John Drumheller. Typically in processing the data in a file you would select the records you wish to process, which requires reading every record in the file. Then you would process those selected records which required a second reading of the records. If your processing touched each record, you would have read each record in the file twice!
The “trick” is to only read the records once. To do this, create a subroutine that can be called from a dictionary record. The dictionary record should always return a false result, either 0 or “”. The subroutine should perform the processing required on the record. Then you can use the LIST command to list the file to be processed with the dictionary record that contains the subroutine. As the LIST command looks at each record, it calls the subroutine, processes the record and since it returns a false, it continues on. When the LIST command completes, it will have processed each record in the file reading the record only once. The result of the LIST command will generate little or no output.
The LIST command would look something like the following.
LIST filename WITH subroutine_dictionary_record