Skip to content

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.54

Numeric 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 type c.

  • 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 }| ).