Skip to Content
Author's profile photo Gustavo Pereira

Currency CURR type with more than 2 decimals – ALV output

I just realized how to use CURR type with more than 2 decimals.

I created a DOMAIN with Data Type CURR and 8 decimal places. Look at what happens at SE16N Details:


Value on right (Value Unconverted) is the real values on table with 8 decimals, and values on LEFT are showing on any ALV Output (SE16, SE16N or any ALV report). There is NO Conversion Routine at the Domain, only standard CURR type.

I could set DECIMALS on SALV using CL_SALV_COLUMN->SET_DECIMALS( ‘8’ ), but it will only add ZEROS

Ex for first line in table, TOTFRDOC will show 11,006,361.60000000 instead of 11.00636160.

Yes, you may use CURR type with more than 2 decimals, knowing that this output conversion will happens.

So when use it?? If you want your CURR value converted to percentage (as a rate) usually using 4 decimals. Example:

Value unconverted: 0.6160

Output will show as percentage 61.60

Out of curiosity…

there are 57 standard domains type CURR with more than 2 decimals in my SAP system, 109 standard tables using that without any conversion…but most of them are rates with 4 decimals, so when converting to 2 decimals it shows value multiplied by 100, as in the example above.

I could fix my domain using DataType DEC instead. My ALV outputs are now showing right values with 8 decimals.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Indeed a úseful tip 🙂

      Author's profile photo Gustavo Pereira
      Gustavo Pereira
      Blog Post Author

      too late reply... but thank you!