FND FORMAT_CURRENCY
This user exit formats the currency amount dynamically depending upon the precision of the actual currency value, the standard precision, whether the value is in a mixed currency region, the user’s positive and negative format profile options, and the location (country) of the site. The location of the site determines the thousands separator and radix to use when displaying currency values. An additional profile determines whether the thousands separator is displayed. Use the Currencies window to set the standard, extended, and minimum precision of a currency.
You obtain the currency value from the database into an Oracle Reports column. Define another Oracle Reports column, a formula column of type CHAR, which executes the FORMAT_CURRENCY user exit to format the currency value. A displayed field has this formula column as its source so that the formatted value is automatically copied into the field for display.
Syntax
FND FORMAT_CURRENCY CODE=”:column containing currency code” DISPLAY_WIDTH=”field width for display” AMOUNT=”:source column name” DISPLAY=”:display column name” [MINIMUM_PRECISION=”:P_MIN_PRECISION”] [PRECISION=”{STANDARD|EXTENDED}”] [DISPLAY_SCALING_FACTOR=””:P_SCALING_FACTOR”]
Procedure
Step 1. Define Your Parameters
First define all the parameters (using the Oracle Reports Parameter Screen). Use these parameters in the user exit calls and SQL statements.
Name: P_CONC_REQUEST_ID
Data Data Type: NUMBER
Width: 15 Initial Value: 0 You always create this lexical parameter. ”FND SRWINIT” uses this parameter to retrieve information about this concurrent request. Name: P_MIN_PRECISION Data Type: NUMBER Width: 2 Initial Value: You reference this lexical parameter in your FND FORMAT_CURRENCY user exit call.
Step 2. Call FND SRWINIT
You always call FND SRWINIT from the Before Report Trigger as follows: SRW.USER_EXIT(’FND SRWINIT’); This user exit sets up information for use by profile options and other AOL features. You always call FND SRWEXIT from the After Report Trigger as follows: SRW.USER_EXIT(’FND SRWEXIT’); This user exit frees all the memory allocation done in other AOL exits.
Reports Technical Standards Reports Technical Standards.doc (v. 1 )
1
Report Coding Standards 7
Company Confidential - For internal use only
Step 3. Create the Currency Code Query
Create a query which selects the currency code and the currency amount from your table. In this case you might use: SELECT OFFICE, SUM(AMOUNT) C_INCOME, CURRENCY_CODE C_CURRENCY FROM OFFICE_INCOME WHERE TRANSACTION_DATE = ’01/92’ ORDER BY BY OFFICE
Step 4. Create a column for the currency call
Create one column (C_NET_INCOME) which contains the user exit (FND FORMAT_CURRENCY) call. This is a formula column which formats the number and displays it. The user exit call looks like the following:
Currency Format :
SRW.REFERENCE(:C_CURRENCY);
SRW.REFERENCE(:C_INCOME);
SRW.USER_EXIT('FND FORMAT_CURRENCY CODE=":C_CURRENCY" DISPLAY_WIDTH="15" AMOUNT=":C_INCOME” DISPLAY=":C_NET_INCOME" MINIMUM_PRECISION=":P_MIN_PRECISION"');
RETURN(:C_NET_INCOME);