This chapter introduces the concept of checkpoint restartability. All processing for each input ‘transaction’ should be completed before continuing to the next one. Our program’s main processing loop has shifted from inside the program to that of submitting the entire job. Getting our super programmers to adopt checkpoint restart may turn out to be our biggest challenge. All programs should be transaction based. Simply put, this means that while a program’s logic may read many tables, take locks, and update data, the complete process must be contained in a single ‘unit of work.’ An on-line program processes one transaction at a time and makes a commit decision at the end of each unit of work. Usually, a simple Control Card interface serves to supply the value to our program. Under IMS, a checkpoint call may contain up to seven Save-Areas. Each one may represent a 01 level in Working Storage several thousand bytes long.