ABAP Keyword Documentation → ABAP − Reference → Processing Internal Data → Assignments → Assignment and Conversion Rules → Conversion Rules for Elementary Data Objects → Character-Like Source Fields
Source Field Type string
Other versions: 7.31 | 7.40 | 7.54Numeric Target Fields
Target | Conversion |
---|---|
i , int8 , (b , s ) |
Content is handled in the same way as a sourcefield of type c If the source field has a length of 0, the target field is assigned the value 0. |
p |
Content is handled in the same way as a sourcefield of type c If the source field has a length of 0, the target field is assigned the value 0. |
decfloat16 , decfloat34 |
Content is handled in the same way as a sourcefield of type c If the source field has a length of 0, the target field is assigned the value 0. |
f |
Content is handled in the same way as a sourcefield of type c If the source field has a length of 0, the target field is assigned the value 0. |
Note
- The class CL_ABAP_DECFLOAT contains the methods READ_DECFLOAT34 and READ_DECFLOAT16, which convert character strings into decimal floating point numbers. The exceptions of these methods are more significant than those of a normal assignment. Furthermore, the methods return a return value that reveals information about the roundings performed.
Example
The result of the following conversion has the value 1123.
DATA(result) = CONV decfloat34( `1.123E+3` ).
Character-Like Target Fields
Target | Conversion |
---|---|
c |
The content is handled in the same way as a sourcefield of type c , with the difference that trailing blanks are passed. If the length of the source field is 0, the target field is padded with blanks. |
n |
Content is handled in the same way as a sourcefield of type c If the length of the source field is 0, the target field is padded with the character "0". |
string |
No conversion takes place. After the assignment, the internal reference of the target field pointsto the same string as the source field. A new string is only created in the memory if a change request for the content of the source field or target field is submitted. |
Notes
- In ABAP, the trailing blanks are respected for
source fields of type
string
but not for data objects of typec
.
- If characters are cut off on the right when character strings containing non-Unicode double-byte characters are assigned, the character in question can be split down the middle, which generally produces an invalid character at the right margin. To prevent this, the method CL_SCP_LINEBREAK_UTIL=>STRING_SPLIT_AT_POSITION can be used.
Example
The string produced by the assignment is "abcd "
with length 8. The trailing blanks of the literal with type string
and length 8 are respected.
DATA(result) = `abcd `.
Byte-Like Target Fields
Target | Conversion |
---|---|
x |
Content is handled in the same way as a sourcefield of type c If the length of the source field is 0, the target field is padded with hexadecimal 0. |
xstring |
Content is handled in the same way as a sourcefield of type c If the length of the source field is 0, the length of the target field is also 0 after the assignment. |
Example
The byte chain produced by the conversion is FFFF0000.
TYPES hex TYPE x LENGTH 4.
DATA(result) = CONV hex( `FFFF` ).
Date/Time Fields as Target Fields
Target | Conversion |
---|---|
d |
The content is handled in the same way as a sourcefield of type c , with the difference that trailing blanks are passed. If the length of the source field is 0, the target field is padded with the character "0". |
t |
The content is handled in the same way as a sourcefield of type c and the trailing blanks are passed. If the length of the source field is 0, the target field is padded with the character "0". |
utclong |
The content is handled in the same way as a sourcefield of type c and the trailing blanks are ignored. An initial source field and a source field that contains only blanks produce the initial value of a time stamp field. |
Example
The value of the date field produced by the conversion is 00000000. If,
on the other hand, a text field of type c
containing only blanks is converted, this produces a target field containing eight blanks, despite all trailing blanks being cut off.
DATA(result) = CONV d( `` ).
Example
Conversion of a text string composed of date and time specifications in ISO format 8601 to a time stamp in a time stamp field.
DATA(ts) = CONV utclong( |{ sy-datum DATE = ISO }T{
sy-uzeit TIME = ISO }| ).