SAP TRUNCATE ABAP Statements



Get Example source ABAP code based on a different SAP table
  


ID TRUNCATE
• TRUNCATE DATASET ABAP Statement
• AT TRUNCATE DATASET

TRUNCATE DATASET
Short Reference

ABAP_SYNTAX
TRUNCATE DATASET dset AT ${CURRENT POSITION$}$|${POSITION pos$}.

ABAP Addition
1 ... CURRENT POSITION
2 ... POSITION pos

What does it do?
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 truncated, the file is truncated after the new end of file; when extended, the file from the previous to the new end of file is filled with hexadecimal 0.
dset expects a character-like data object that contains the physical name of the file. The file must be opened for writing, appending, or changing, and not contain the addition FILTER of the statement OPEN DATASET. Otherwise an uncatchable exception is raised.
ABAP_SUBRC_GENERAL
The statement TRUNCATE always sets sy-subrc to the value 0 or raises an exception.



Latest notes:

The statement TRUNCATE does not change the position of the current file pointer. If the file is open for appending, the file pointer is only set prior to the next write access to the end of file.
ABAP_HINT_END
• CURRENT POSITION TRUNCATE DATASET

ABAP Addition

What does it do?
The addition CURRENT POSITION sets the end of file to the current file pointer.



Example ABAP Coding

Truncates a file to the current position of the file pointer after reading five lines from a total of ten lines. When all lines are next read, only the first five lines are found.
ABEXA 00711
ABAP_EXAMPLE_END
• POSITION TRUNCATE DATASET

ABAP Addition

What does it do?
The addition POSITION pos sets the end of file to the position specified in pos. pos expects a numeric data object whose content cannot be negative. The positioning is specified in bytes, where the start of file is synonymous with the position 0.



Example ABAP Coding

After the first TRUNCATE statement, the file contains the value FF, and after the second, the value FF00.
ABEXA 00712
ABAP_EXAMPLE_END



Runtime Exceptions



Catchable Exceptions
CX_SY_FILE_OPEN
Reason for error:
The file is not open.
Runtime error:
DATASET_NOT_OPEN
Reason for error:
The file is only open for reading.
Runtime error:
DATASET_READ_ONLY
CX_SY_FILE_AUTHORITY
Reason for error:
No authorization for access to file
Runtime error:
OPEN_DATASET_NO_AUTHORITY
CX_SY_FILE_POSITION
Reason for error:
Invalid position specified.
Runtime error:
DATASET_OFFSET_TOO_LARGE
CX_SY_FILE_TRUNCATE
Reason for error:
The operating system could not change the size of the file.
Runtime error:
DATASET_TRUNCATE_ERROR
Reason for error:
An attempt was made to change the size of a file opened using the addition FILTER.
Runtime error:
DATASET_TRUNCATE_ERROR

Non-catchable Exceptions
Reason for error:
Internal error when emptying the file buffer, determining the current file position, or restoring the file when rolling in the ABAP_ISESS .
Runtime error:
DATASET_TRUNCATE_ERROR
ABAP_NONCAT_END

Return to menu