I’ll walk you through the complete resolution that addresses the exchange rate update process, dashboard cache management, and revenue reporting accuracy:
Understanding the Root Cause
SCX 2105 implements a three-tier exchange rate resolution system for quote dashboards:
- Quote snapshot rates (stored at quote creation time)
- Monthly exchange rate tables (your central rate repository)
- Default fallback rates (system-wide defaults)
The 30% inconsistency occurs because the dashboard’s currency conversion logic doesn’t automatically override snapshot rates when you update the monthly rate tables. This is intentional for transactional integrity but problematic for forward-looking revenue reports.
Solution Part 1: Exchange Rate Update Process
When updating monthly exchange rates, you must execute a complete refresh cycle:
-- Step 1: Update the exchange rate table (you've done this)
UPDATE exchange_rates
SET exchange_rate = 1.09, valid_from = '2025-02-01'
WHERE currency_from = 'EUR' AND currency_to = 'USD';
-- Step 2: Trigger rate propagation to dependent tables
EXEC sp_propagate_exchange_rates @effective_date = '2025-02-01';
-- Step 3: Refresh the dashboard rate cache
EXEC sp_refresh_dashboard_currency_cache;
The stored procedure sp_propagate_exchange_rates is crucial but often missed. It updates the rate cache tables that dashboards actually query.
Solution Part 2: Dashboard Cache Management
Multiple cache layers need to be cleared in sequence:
a) Application Server Cache:
- Navigate to Administration > System Management > Cache Management
- Select “Currency Exchange Rates” category
- Click “Clear and Rebuild” (not just “Clear”)
- Wait for rebuild confirmation (typically 2-3 minutes)
b) Dashboard Metadata Cache:
- Access Dashboard Designer
- For each affected dashboard, go to Properties > Data Source Settings
- Click “Reset Currency Conversion Cache”
- This forces the dashboard to re-read rate tables on next access
c) Browser and CDN Cache:
- Clear browser cache for all dashboard users
- If using CDN, purge cached dashboard resources
- This ensures users receive fresh dashboard metadata
Solution Part 3: Configure Dashboard for Current Rate Usage
Modify your quote configuration dashboards to always use current rates:
-
Open the dashboard in Dashboard Designer
-
Access the quote value measure properties
-
Locate “Currency Conversion Settings”
-
Change from “Use Transaction Date Rates” to “Use Current Period Rates”
-
Add this custom parameter:
conversionMode=CURRENT_RATES
overrideSnapshotRates=true
effectiveDateSource=REPORTING_DATE
-
For revenue forecasting dashboards specifically, set:
forecastMode=true
ignoreHistoricalRates=true
This configuration tells the dashboard to:
- Ignore quote snapshot rates for display purposes
- Always apply the most current exchange rates from the monthly table
- Use the report generation date as the effective date for rate lookup
Solution Part 4: Revenue Reporting Accuracy Validation
Implement a validation query to verify currency conversion accuracy:
SELECT
q.quote_id,
q.quote_amount,
q.quote_currency,
q.snapshot_rate,
er.exchange_rate AS current_rate,
q.quote_amount * q.snapshot_rate AS snapshot_usd,
q.quote_amount * er.exchange_rate AS current_usd,
ABS(q.quote_amount * er.exchange_rate - q.quote_amount * q.snapshot_rate) AS variance
FROM quotes q
JOIN exchange_rates er ON q.quote_currency = er.currency_from
WHERE er.currency_to = 'USD'
AND er.valid_from = (SELECT MAX(valid_from) FROM exchange_rates WHERE currency_from = q.quote_currency)
AND q.quote_date >= '2025-01-01'
ORDER BY variance DESC;
This query shows you:
- Which quotes are using snapshot rates vs. current rates
- The dollar variance between the two approaches
- Helps validate that your dashboard changes are working correctly
Solution Part 5: Automated Monthly Process
To prevent this issue recurring, set up an automated monthly workflow:
-
Create Exchange Rate Update Job:
- Schedule to run on the 1st of each month
- Updates exchange rate tables from your financial system
- Automatically executes propagation stored procedures
- Clears all relevant caches
-
Dashboard Refresh Notification:
- After rate update completes, trigger email to dashboard users
- Inform them to refresh their browsers
- Include validation report showing rate changes
-
Variance Monitoring:
- Set up automated query to detect conversion discrepancies
- Alert if variance exceeds 2% threshold
- Provides early warning of cache or configuration issues
Solution Part 6: Handling the 30% Inconsistency
For your immediate problem with mixed rate usage:
-
Quick Fix (Today):
- Run the propagation stored procedure
- Clear all cache layers as described
- Reconfigure dashboards to use current rates
- This should immediately resolve the 70% that were already working
-
Address the 30% Anomaly:
The quotes showing old rates likely have corrupted snapshot rate entries. Execute this cleanup:
UPDATE quotes
SET snapshot_rate = NULL,
force_current_rate = 1
WHERE quote_date >= '2025-01-01'
AND snapshot_rate IS NOT NULL;
This removes snapshot rates for recent quotes and forces dashboard to use current rates.
**Verification Steps:**
1. After implementing all changes, run the validation query
2. Check that all EUR quotes now show consistent USD conversions using 1.09 rate
3. Verify total revenue figures match expected values
4. Test with a sample quote from each region (EMEA, APAC) to confirm consistency
**Important Notes:**
- The `overrideSnapshotRates=true` setting is critical for revenue reporting but should NOT be used for financial audit dashboards where historical accuracy is required
- Consider creating separate dashboard variants: one for revenue forecasting (current rates) and one for financial audit (transaction date rates)
- Document which dashboards use which conversion mode to prevent confusion
- SCX 2105 has a known issue (SAP Note 3198456) where cache clearing doesn't always propagate to all application servers in clustered environments - if issues persist, restart all application servers
This comprehensive approach ensures your revenue reporting accuracy while maintaining the audit trail of original transaction rates when needed.
---
*This draft is based on general SAP Customer Experience (SAP CX) knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.*