ABAP trick for converting a floating point number to a packed field
Learn a trick for converting a floating point number to a packed field in this expert Q and A with development guru Matt Billingham.
Using ABAP, is there a simple way to convert a floating point number to a packed field?
You just assign the type f field to a type p field. You must specify the number of decimal places and the size of the packed field, and you should cater to overflows. Take a look at this example:
DATA: p TYPE p(12) DECIMALS 4, f TYPE f. ... TRY. p = f. CATCH cx_sy_conversion_overflow. WRITE:/ 'Overflow'. ENDTRY. WRITE: f,p.
Note that calculations involving type p fields are slower than those using type f and type i, so take care when working on these type of fields.