BACKSPACE
Purpose
The BACKSPACE statement positions an external file connected for
sequential access
or formatted stream access. 
Execution of a BACKSPACE statement performs a wait operation for
any pending asynchronous data transfer operations for the specified unit. 
Syntax
- u
- is an external unit identifier. The value of u must not be an asterisk or a Hollerith constant.
- position_list
- is a list that must contain one unit specifier ([UNIT=]u) and can also contain one of each of the other valid specifiers:
- [UNIT=] u
- is a unit specifier in which u must be an external unit identifier
whose value is not an asterisk. An external unit identifier refers to an external file that is
represented by an integer expression. The integer expression has one of the following values:
- A value in the range 1 through 2147483647
A NEWUNIT value
- ERR= stmt_label
- is an error specifier that specifies the statement label of an executable statement in the same scoping unit to which control is to transfer in the case of an error. Coding the ERR= specifier suppresses error messages.
- IOMSG= iomsg_variable (Fortran 2003)
- is an input/output status specifier that specifies the message returned by the input/output
operation. iomsg_variable is a scalar default character variable. It must
not be a use-associated nonpointer protected variable. When the input/output statement containing
this specifier finishes execution, iomsg_variable is defined as follows:
- If an error, end-of-file, or end-of-record condition occurs, the variable is assigned an explanatory message as if by assignment.
- If no such condition occurs, the value of the variable is unchanged.
- IOSTAT= ios
- is an input/output status specifier that specifies the status of the input/output operation.
ios is an variable. When the BACKSPACE statement
finishes executing, ios is defined with:
- A zero value if no error condition occurs
- A positive value if an error occurs.
Rules
After the execution of a BACKSPACE statement, the file position is before the current record if a current record exists. If there is no current record, the file position is before the preceding record. If the file is at its initial point, file position remains unchanged.
You cannot backspace over records that were written using list-directed or namelist formatting.
For sequential access, if the preceding record is the endfile record, the file is positioned before the endfile record.
If the ERR= and IOSTAT= specifiers are set and an error is encountered, transfer is made to the statement specified by the ERR= specifier and a positive integer value is assigned to ios.
If
IOSTAT= and ERR= are not specified, - The program stops if a severe error is encountered.
- The program continues to the next statement if a recoverable error is encountered and the ERR_RECOVERY run-time option is set to YES. If the option is set to NO, the program stops.

Examples
BACKSPACE 15
BACKSPACE (UNIT=15,ERR=99)
...
99 PRINT *, "Unable to backspace file."
END
Related information
- Conditions and IOSTAT values
- XL Fortran Input/Output
- Setting runtime options in the XL Fortran Compiler Reference
