Handling Amounts with Increased Precision
You can process amounts with up to six decimal places. To do so, make the following settings in Customizing for SAP NetWeaver under :
In the activity Check Currency Codes
, create secondary currencies for amounts that are to be managed with more decimal places than the original currency (for example EUR
with four decimal places or JPY
with two decimal places).
In the activity Set Decimal Places for Currencies
, enter the number of decimal places for each secondary currency.
Enter the exchange rate between the original currency and the secondary currency in the activity Enter Exchange Rates
. If you need to translate between different currencies, then enter the exchange rate for the secondary currency for each currency that you use.
Make sure that the exchange rates are always up-to-date.
Recommendation
For example, create the secondary currency EUR4
for amounts in euros with four decimal places.
In the activity Set Decimal Places for Currencies
, enter four places for EUR4
.
In the activity Enter Exchange Rates
, enter an exchange rate of 1:1 for currency translation from EUR4
to EUR
.
If you also work with USD
, for example, you enter the exchange rate for the translation from EUR4
to USD
, which must be the same as the exchange rate for translation from EUR
to USD
.
The ERP system can replicate the secondary currencies with their number of decimal places to SAP Convergent Charging. To be able to transfer amounts with more than two decimal places from SAP Convergent Charging and process them in the ERP system:
Make the Customizing settings mentioned above in the ERP system.
Synchronize the currencies in SAP Convergent Charging.
For more information, see the documentation for SAP Convergent Charging:
In the configuration guide under
In the documentation of the Core Tool under
During the generation of billable items, SAP Convergent Charging converts amounts and currencies as follows, before the system transfers the data to SAP Convergent Invoicing:
Final zeros are removed from the amount. For example, 1.23400 becomes 1.234.
SAP Convergent Charging determines all secondary currencies that are defined for a currency. The system determines the relationship between a currency and a secondary currency by means of the ISO code used. For example, for the currency EUR
, the system determines EUR
, EUR4
, and EUR6
as possible currencies.
Of the possible currencies, the system considers only those that have a sufficient number of decimal places to represent the amount in question. For the amount 1.234, EUR4
and EUR6
are the possible currencies. Of these currencies, the system selects the one with the smallest number of decimal places – in this example, EUR4
.
The amount 1.234 is adjusted to correspond to four decimal places, that is 1.2340. Then an amount of EUR4
1.2340 is transferred to SAP Convergent Invoicing.
Note
If the system is not able to determine a suitable currency key using the procedure described, then the billable item cannot be transferred to SAP Convergent Invoicing.
For adopting consumption items from SAP Convergent Charging, you can specify an alternative data type for amount fields, for example, with six decimal places. You can transfer the ISO currency key in the referenced currency field. For example, if you use a domain with two decimal places on the database (such as domain WRTV7
), use the inbound conversion routine CCAMOUNT_TO_INT
to convert the amount field with six decimal places to the internal storage format. You enter the alternative data type and the conversion routine in Customizing for Contract Accounts Receivable and Payable under .
Example
At the interface, you want to to transfer amounts with six decimal places and the ISO currency key (such as 1.234567 USD) in the ZZAMOUNT
field.
However, for database storage of consumption items, you use a domain that only allows two decimal places (such as WRTV7
).
In order to transfer amounts with six decimal places, enter a data element with a domain that allows six decimal places and the inbound conversion routine CCAMOUNT_TO_INT
and/or the outbound conversion routine INT_TO_CCAMOUNT
for the ZZAMOUNT
field in the Customizing activity Assign Data Types
. The conversion routines determine a suitable currency key from table TCURX
and convert the external amount 1.234567 USD to the internal amount 12345.67 USD6.