Control descriptors do not correspond to any item in the data-transfer list: they are obeyed when the format scan reaches that point in the list. A format specification consisting of nothing but control descriptors is valid only if the READ or WRITE statement has an empty data-transfer list.
|Control Function||Control Descriptor|
|Skip to next record||/|
|Move to specified column position||Tn, TLn, TRn, nX|
|Output a character constant||'any char string'|
|Stop format scan if data list empty||:|
|Control + before positive numbers||SP, SS, S|
|Treat blanks as nulls/zeros||BN, BZ|
|Set scale factor for numeric transfers||kP|
Here n and k are integer constants, k may have a sign but n must be non-zero and unsigned. The control descriptors such as SP, BN, kP affect all numbers transferred subsequently. The settings are unaffected by forced reversion but the system defaults are restored at the start of the next READ or WRITE operation.
Any list of edit descriptors may be enclosed in parentheses and
preceded by an integer constant as a repetition count, e.g.
is equivalent to
I2.2, '-', I2.2, '-', I2.2
These sub-lists can be nested to any reasonable depth, but the presence of internal pairs of parentheses can have special effects when forced reversion takes place, as explained later.
Commas may be omitted between items in the following special cases: either side of a slash (/) or colon (:) descriptor, and after a scale-factor (kP) if it immediately precedes a D, E, F, or G descriptor.