ABAP Keyword Documentation → ABAP - Release-Specific Changes → Changes in Release 7.0 and its EhPs → Changes in Release 7.0
File Interface in Release 7.0
1. Handling of the byte order mark
2. Definition of the line end marker
3. Help class for the file interface
4. Trailing blanks in legacy EBCDIC files
Other versions: 7.31 | 7.40 | 7.54
Modification 1
Handling of the Byte Order Mark
When a UTF-8
text file is opened, the
handling of the byte order mark (BOM) at the start of the file can be controlled using the new addition SKIPPING|WITH BYTE-ORDER MARK
.
Modification 2
Definition of the Line End Marker
When any text file is opened,
the line end marker can be defined using the new addition WITH NATIVE|SMART|UNIX|WINDOWS LINEFEED
.
The structure of file properties used in the statements
GET DATASET and SET DATASET
has been enhanced by the addition of the components linefeed
and linefeed_mode
for the line end marker, so that these can be selected and set for an open file.
Modification 3
Help Class for the File Interface
The static methods of the new class CL_ABAP_FILE_UTILITIES provide information about files on the host computer of the current AS Instance.
Modification 4
Trailing Blanks in EBCDIC Files
For text files handled as
legacy
EBCDIC files using the addition
LEGACY TEXT MODE
, the following criteria have been defined:
-
As is also the case with other code pages, trailing blanks are now cut off when writing a legacy EBCDIC
text file using
TRANSFER
. Before Release 7.0, the hexadecimal EBCDIC code "40" was written to the file. -
When writing to a legacy EBCDIC text file using
TRANSFER
, it is now padded with the hexadecimal EBCDIC code "40" for blanks if the specified length is greater than that of the data object. Before Release 7.0, it was padded with the ASCII code for blanks. -
If, when reading a legacy EBCDIC text file using READ
DATASET, the target object must be padded with blank characters, it is now padded with the blanks of the current
system code page. Before Release 7.0, it was padded with hexadecimal "80".