3.6 WFS_INF_CDM_CURRENCY_EXP

Description This command is used for getting the exponents assigned to each currency used.

Input Param None.

Output Param LPWFSCDMCURRENCYEXP * lppCurrencyExp;
Pointer to a null-terminated array of pointers to currency exponent structures:

typedef struct _wfs_cdm_currency_exp
{
CHAR cCurrencyID[3];
SHORT sExponent;
} WFSCDMCURRENCYEXP, *LPWFSCDMCURRENCYEXP;

cCurrencyID
Currency identifier (ISO 4217 format).

sExponent
Currency exponent.

Error Codes There are no additional error codes generated by this command.

Comments For each currency ISO 4217 defines the currency identifier (a three character code) and a currency unit (e.g., German mark, Italian lira). In the interface defined by this specification, every money amount is specified in terms of multiples of the minimum dispense unit, which is equal to the currency unit times the currency exponent. Thus a money amount parameter relates to the actual cash amount as follows:
<cash_amount> = <money_amount_parameter> * 10^<sExponent>

Example #1 — Germany
Currency identifier is ‘DEM’
Currency unit is 1 German mark (= 100 pfennig)
A service provider is developed for an ATM that can dispense coins down to one pfennig. The currency exponent (sExponent) is set to -2 (minus two), so the minimum dispense unit is one pfennig (1 * 10^-2 mark); all amounts at the XFS interface are in pfennigs. Thus a money amount parameter of 10050 is 100 marks and 50 pfennig.

Example #2 — Italy
Currency identifier is ‘LIT’
Currency unit is 1 Italian lira
A service provider is required to dispense a minimum amount of 100 lire. The currency exponent (sExponent) is set to +2 (plus two), so the minimum dispense unit is 100 lire; all amounts at the XFS interface are in multiples of 100 lire. Thus a money amount parameter of 150 is 15000 lire.