SAP NetWeaver AS ABAP Release 740, ©Copyright 2014 SAP AG. All rights reserved.
ABAP Keyword Documentation → ABAP − Reference → Processing External Data → ABAP File Interface → Statements for the ABAP File Interface →Syntax
TRUNCATE DATASET dset AT {CURRENT POSITION}|{POSITION pos}.
Extras:
1. ... CURRENT POSITION
2. ... POSITION pos
Effect
This statement sets the end of file of the file specified in dset to the value specified after AT and can thus change the size of the file. When shortened, the file is truncated after the new end of file; when extended, the file is padded with hexadecimal 0 from the previous end of file to the new end of file.
dset expects a character-like data object containing the
physical name of
the file. The file must be opened for writing, appending, or changing, and not contain the
FILTER addition to the OPEN DATASET statement; otherwise a non-handleable exception is raised.
System Fields
The statement always sets sy-subrc to the value 0 or raises an exception.
Note
The TRUNCATE statement does not change the position of the current file pointer.
If the file is open for appending, the file pointer is only set directly before the next write to the end of file.
... CURRENT POSITION
Effect
The CURRENT POSITION addition sets the end of file to the current file pointer.
... POSITION pos
Effect
The POSITION pos addition sets the end of file to the position specified
in pos. pos expects a numeric data object whose
contents cannot be negative. The positioning is specified in bytes, where the start of file is synonymous with the position 0.
Example
After the first TRUNCATE statement, the file contains the value "FF", and after the second, the value "FF00".
DATA: name TYPE string VALUE `test.dat`,
hex TYPE xstring.
hex = 'FFFF'.
OPEN DATASET name FOR OUTPUT IN BINARY MODE.
TRANSFER hex TO name.
SET DATASET name POSITION 0.
READ DATASET name INTO hex.
TRUNCATE DATASET name AT POSITION 1.
SET DATASET name POSITION 0.
READ DATASET name INTO hex.
TRUNCATE DATASET name AT POSITION 2.
SET DATASET name POSITION 0.
READ DATASET name INTO hex.
CLOSE DATASET name.
Catchable Exceptions
CX_SY_FILE_OPEN
CX_SY_FILE_AUTHORITY
CX_SY_FILE_POSITION
CX_SY_FILE_TRUNCATE
Non-Catchable Exceptions