The processor applies attribute 8 (pre-processor) codes to data before selecting items and sorting. It applies attribute 7 (input/output) codes just before displaying the data. It applies input conversion, however, to values in selection clauses before selecting items.
The following shows the stages in which processing takes place:
| Processing Stage | Attribute 8 processing? | Attribute 7 processing? | |
|---|---|---|---|
| 1. | Value specified by user in a selection clause | no | yes * | 
| 2. | Value generated to test against for selection | yes | no | 
| 3. | Value generated for use in a sort key | yes | no | 
| 4. | Value used for accumulation of a TOTAL | yes | no | 
| 5. | Value generated to check for a control break or to test against print limiters | yes | no | 
| 6. | Output value in BREAK or TOTAL data line | no † | yes | 
| 7. | Output value in detail line of listing | yes | Yes | 
* In this case input conversion is done; in all other cases output conversion is applied.
† BREAK data line consists of totals, break field labels, and break data values already processed at previous stage.