Previous Topic: Appendix C. USING THE EURONext Topic: C.2 Converting Accounting and Chargeback to Euros


C.1 Enabling Dual Currency Display on Invoices


The dual-currency option lets you display invoice totals in
both your national currency and euros. This can be done both
before and after converting to euros.

If the option is selected, invoice totals are converted from
the lead currency (the currency in which the charges are
calculated) to the target currency as the invoices are
printed. The converted amounts are not retained in any file.
The conversion is done according to the conversion and
rounding rules, using the official euro conversion rates.

The selection of the lead and target currencies is done
through MWF. This selection determines the conversion rate
and conversion algorithm used in the invoice process.  The
lead and target currencies, and the associated conversion
rate, are not retained as part of the financial recap file.
When an invoice is printed, the currency specifications
defined at that time are used.

Note: Care must be taken AFTER conversion. For example, when
reprinting invoices that were calculated BEFORE conversion,
the currency specifications will have been reversed by the
conversion process. This would cause the wrong calculations
to be made on financial recap files created before
conversion.

The dual currency option is available for each of the three
standard invoice formats.  It affects how total amounts are
printed at the bottom of the invoices. It does not affect the
individual line items in the body of the invoice.

When the dual currency option is enabled, all total amounts
that appear at the bottom of the invoice are printed in both
the national currency and euros. These totals may include
budgets and year-to-date amounts, depending on the other
invoice options selected, as well as charges. The amounts in
the lead currency appear as they do normally; the
corresponding amounts in the target currency appear in the
next line directly underneath the lead currency amounts.

Important! One of the euro conversion rounding rules states
that an amount that is exactly halfway between two euro cents
must be rounded up. Ensuring that this occurs is not as
simple as it might seem. In SAS, running on an IBM mainframe,
all numbers are stored in floating point representation in
hexadecimal. This means that certain numbers cannot be
represented exactly, which can cause problems in rounding.
The rounding routine developed for the dual currency display
option has rounded up consistently in our tests, but there
may be certain numbers for which it does not. Therefore, it
is essential that you manually check the conversion of your
charges.

There are three tasks in enabling dual currency display on
invoices:

o Turning on the dual currency option in the appropriate
  invoice formats.

o Defining the lead and target currencies.

o Defining the appropriate SAS formats.

The first two tasks are accomplished easily through CA MICS
WorkStation Facility (MWF), and will be discussed in more
detail in the checklists below.  Defining the appropriate SAS
formats, though, may require some explanation.

SAS FORMAT USED IN SINGLE CURRENCY DISPLAY MODE

In single currency display mode, the invoices use these SAS
formats:

MONEY    Used to display charges and certain other monetary
         amounts. By default, they print in US dollars.

MONEYB   Used to print budget amounts for certain invoice
         formats. Displays no decimal places.  By default,
         they print in US dollars.

MONEYR   Used to print rates. Displays four decimal places.
         By default, they print in US dollars.

MONEYX   Used only in the detail-level reports to print four
         digits to the right of the decimal.

Note: To have the monetary values in your database formatted
in the euro currency notation, you must update the above
formats in sharedprefix.MICS.SOURCE. The changes that are
made take effect when BASPGEN or ALLPGEN is executed.  The
euro currency sign fonts are included in the AFP Font
Collection version 2, program product 5648-B33.

SAS FORMAT USED IN DUAL CURRENCY DISPLAY MODE

In dual currency display mode, the MONEY, MONEYB and MONEYR
formats are used to display amounts in the lead currency.
Two formats are used to display figures in the target
currency:

MONEYC   The target currency version of MONEY.  By default,
         they print in euros. The monetary value in this
         format is delivered with hex '85' (lowercase "e").

MONEYBC  The target currency version of MONEYB.  By default,
         they print in euros. The monetary value in this
         format is delivered with hex '85' (lowercase "e").

DEFINING THE SAS FORMATS

When enabling dual-currency display, you are responsible for
defining SAS formats to match your lead and target
currencies.  Examine each format, change it if necessary, and
regenerate it.

The MONEYE format, a currency format for printing in euros,
is defined in sharedprefix.MICS.SOURCE(MONEYE).  The monetary
value in this format is delivered with hex '85'(lowercase
"e").  To display the euro symbol, change the hex value or
the code point, depending on the code page your site is
using.  For more information on the euro symbol, see AFP Font
Collection version 2, program product 5648-B33. You can use
the MONEYE format as a model in modifying the following
formats:

The formats are located in the following members:

MONEY     sharedprefix.MICS.SOURCE(MONEY)

MONEYR    sharedprefix.MICS.SOURCE(MONEY)

MONEYB    sharedprefix.MICS.SOURCE(MONEYB)

MONEYC    sharedprefix.MICS.SOURCE(MONEYE)

MONEYBC   sharedprefix.MICS.SOURCE(MONEYE)

MONEYX    sharedprefix.MICS.SOURCE(MONEYX)

MONEYRT   sharedprefix.MICS.SOURCE(MONEYRT) MONEYRT is used
          exclusively for user-defined reports to print six
          digits to the right of the decimal.  Note this
          format is intended to be used only in user-defined
          report.

GENERATING THE SAS FORMATS

The MONEY, MONEYX and MONEYR formats can be generated by
running a prefix.MICS.CNTL(BASPGEN) in any unit.

The MONEYB, MONEYC and MONEYBC formats can also be generated
by constructing a SAS job with a DD of MCOLIB pointing to
your sharedprefix.MICS.MCOLIB and with the SYSIN DD pointing
to the appropriate member. A sample SAS job can be found in
this section under item 4.

Note: Some tailoring of the formats may be necessary,
especially if your national currency uses more or less than
the two decimal places required for euro currency display.

ENABLING DUAL CURRENCY INVOICE DISPLAY BEFORE EURO CONVERSION

Note: Before enabling dual-currency invoice displays, the
conversion utility member ACTEUROC must be in the
sharedprefix.MICS.CNTL library. If this member is not in
sharedprefix.MICS.CNTL library, you must complete these two
steps:

o Edit sharedprefix.MICS.PARMS(JCLGENUC) so that it contains
  the following:

  ACTEUROC

  Submit the job in sharedprefix.MICS.CNTL(JCLGENUC).  Ensure
  that there are no error messages in MICSLOG or SYSTSPRT,
  that the MICSLOG contains the normal termination message,
  BAS10999I, and that the job completes with a condition code
  of zero.

o Generate the product by submitting the job in
  sharedprefix.MICS.CNTL(ACTCGEN). Ensure that there are no
  error messages in ISPLOG and MICSLOG, that MICSLOG contains
  the normal termination messages, BAS20999I, and that the
  job completes with a condition code of zero.

  Submit the job in sharedprefix.MICS.CNTL(ACTXOPTS). Ensure
  that there are no error messages in MICSLOG or SYSTSPRT,
  that the last message is the normal termination message,
  BAS00171I, and that the job completes with a condition code
  of zero.

Follow these steps:

1.  Use MWF 4;2;3;2;5 to access the invoice format options.
    Select each invoice format used and specify YES for the
    "Print totals in euro and national currency" option.

    Reference:  Sections 4.5.2.1, 4.5.2.2, and 4.5.2.3.

2.  Use MWF 4;2;3;2;7 to define your euro conversion
    parameters. Specify the lead and target currencies:

    o Set the lead currency to your national currency.

    o Set the target currency to the euro.

    Setting these correctly is essential for the target
    conversion to be done properly.

    Reference:  Section 4.5.6.

3.  Run sharedprefix.MICS.CNTL(ACTXOPTS) as prompted, upon
    exit from CA MICS WorkStation Facility (MWF). Make sure
    the job finishes with RC=0.

4.  Define and generate the SAS formats:

    o MONEY, MONEYR and MONEYB formats are generated by
      running prefix.MICS.CNTL(BASPGEN).

    o MONEYC and MONEYBC must display in euros and these
      formats can be generated by constructing a SAS job that
      point to the sharedprefix.MICS.MCOLIB.

    The following sample job can be used to generate these
    formats.

    //BLDFMT EXEC SAS609,OPTIONS='S=72'
    //MCOLIB DD DSN=sharedprefix.MICS.MCOLIB,
    //         DISP=OLD
    //SYSIN DD DSN=sharedprefix.MICS.SOURCE(MONEYE),
    //         DISP=SHR
    //      DD DSN=sharedprefix.MICS.SOURCE(MONEYB),
    //         DISP=SHR

ENABLING DUAL CURRENCY INVOICE DISPLAY AFTER EURO CONVERSION

Follow these steps:

1.  Use MWF 4;2;3;2;5 to access the invoice format options.
    Select each invoice format used and specify YES for the
    "Print totals in euro and national currency" option.

    Reference:  Sections 4.5.2.1, 4.5.2.2, and 4.5.2.3.

2.  Use MWF 4;2;3;2;7 to define your euro conversion
    parameters. Specify the lead and target currencies:

    a) Set the lead currency to euros.

    b) Set the target currency to the national currency.

    Setting these correctly is essential for the target
    conversion to be done properly.

    Reference:  Section 4.5.6.

3.  Run sharedprefix.MICS.CNTL(ACTXOPTS) as prompted, upon
    exit from CA MICS WorkStation Facility (MWF). Make sure
    the job finishes with a RC of 0.

4.  Define and generate the SAS formats:

    o  MONEY, MONEYR and MONEYB must display in euros.

    o  MONEYC and MONEYBC must display in the national
       currency.

    MONEY, MONEYR and MONEYB formats can be defined and
    generated with prefix.MICS.CNTL(BASPGEN), and MONEYC
    MONEYBC formats can be generated using the following
    sample SAS job.

    //BLDFMT EXEC SAS609,OPTIONS='S=72'
    //MCOLIB DD DSN=sharedprefix.MICS.MCOLIB,
    //         DISP=OLD
    //SYSIN DD DSN=sharedprefix.MICS.SOURCE(MONEYE),
    //         DISP=SHR
    //      DD DSN=sharedprefix.MICS.SOURCE(MONEYB),
    //         DISP=SHR