ARTICLE
Valid Values for Lossless Assignments
When a lossless conversion of an elementary argument of the operator
EXACT to an incompatible
data type is performed, the argument must represent a value that is
valid in the tables below (and according to its data type):
Numeric Arguments
Argument Valid Values
i ,
int8 ,
( b , s )All content is valid.
decfloat16 , decfloat34 All values resulting from
assignments and calculations in ABAP are valid. The special values that
indicate infinity or invalid numbers are invalid. Invalid values raise
an exception from the class
CX_SY_CONVERSION_NO_NUMBER .
p All values resulting from assignments and calculations in ABAP
are valid. (This means that the last half byte can contain only the h
exadecimal values "A", "C", "E", or "F", for a positive sign, or "B"or
"D" for a negative sign. The remaining half bytes can contain only the
hexadecimal values "0" to "9".) Invalid values raise an exception from
the class CX_SY_CONVERSION_NO_NUMBER
.
f Integers with a maximum of 15 digits.
Note
Decimal numbers with decimal places cannot generally be represented
precisely by binary floating point numbers of type f . The
operator EXACT therefore restricts the valid value range to
integers with a maximum of 15 digits.
Character-Like Arguments
Argument Valid Values
c , string All content is valid. No check is made to
determine whether a byte or string of bytes contains valid characters
for the current code page.
n The argument can contain the digits "0" to "9" only. Invalid
values raise an exception from the class
CX_SY_CONVERSION_NO_NUMBER .
d The argument must contain a valid date in the format
"yyyymmdd", for which the following values are permitted: "yyyy" (year):
0001 to 9999, "mm" (month): 01 to 12, "dd" (day): 01 to 31. In addition,
the initial value "00000000" is considered a valid date, whereas
"00010101" is not considered a valid date. The smallest valid value that
corresponds to a day is "00010102". The values "15821005" to "15821014"
are also invalid. This is because of the switch from the Julian to the
Gregorian calendar, where 04.10.1582 is followed directly by 15.10.1582.
Invalid values raise an exception from the class
CX_SY_CONVERSION_NO_DATE .
t The argument must contain a valid time in the format "hhmmss",
for which the following values are permitted: "hh" (hours): 00 to 23,
"mm" (minutes): 01 to 59, "ss" (seconds): 01 to 59. Invalid values raise
an exception from the class
CX_SY_CONVERSION_NO_TIME .
Note
The values that the operator EXACT permits for date fields of
type d are different from those defined by the
value range . The initial value
"00000000", which does not lie within the value range and is normally
considered an invalid date, is considered a valid date here, whereas the
value "00010101", which does lie within the value range, is considered
invalid.
Byte-Like Arguments
Argument Valid Values
x , xstring All content is valid.
Documentation extract taken from SAP system, � Copyright SAP AG. All rights reserved