ABAP Keyword Documentation → ABAP - Release-Specific Changes → Changes in Release 7.0 and its EhPs → Changes for Release 7.0
File Interface for 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. Closing 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 a line end marker
When any text file is opened,
the line end marker can be defined with 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 application server.
Modification 4
Closing blanks in EBCDIC files
For text files that are handled as
legacy
EBCDIC files with the addition
LEGACY TEXT MODE
, the following criteria have been defined:
-
As is also the case with other code pages, closing blanks are now cut off when writing a legacy EBCDIC
text file with
TRANSFER
. Before Release 7.0, the hexadecimal EBCDIC code "40" was written in the file. -
When writing a legacy EBCDIC text file with
TRANSFER
, if the specified length is greater than that of the data object, it is now filled with the hexadecimal EBCDIC code "40" for blank characters. Before Release 7.0, this was filled with the ASCII code for blank characters. -
If, when reading a legacy EBCDIC text file with READ
DATASET, the target object must be filled with blank characters, it is now filled with blank characters of the current
system code page. Before Release 7.0, it was filled with the hexadecimal "80".