People working in Financials or Money related modules in
PeopleSoft might come across situations where they need to format the amounts
to the format which is more common to the transaction currency used. This might
seem to be a simple task if you are always working in same currency say USD. The
amounts can be formatted using PeopleCode or other methods to display in the
format which is required for your client (eg. 98.53 USD). But the situation
become little complicated if you are working for a firm where the PeopleSoft is
implemented globally and you have many multi currency transactions. In that
case, formatting the field using PeopleCode for each and every currency using an
IF or Evaluate logic will become pretty cumbersome.
PeopleSoft has provided a much simpler mechanism to do the
same without writing any PeopleCode. This is called as currency control field.
This property can be found on the record field property. To
make this work, you should be having a field which stores the currency code (usually
CURRENCY_CD field) in the same record and the multicurrency option set in the
application level. Once you have the field and options set, just mention the
field name which contains the currency code in the Currency Control Field option in the record field property. Setting
this option will automatically take care of the currency symbol, decimal digits
and the scale of the number field. This helps you avoid a lot many PeopleCode.
I know this is an obvious fact for those working in financials, but may be of a
lot more help to the newbie’s.
As I mentioned earlier, you might need a field in the record
which contains the currency code for the corresponding amount. What if you don’t
have that field and you are arriving at the amount dynamically. PeopleSoft has
again extended a little bit of help in this regard with a built in function
called RoundCurrency. RoundCurrency function will return the
amount with decimal precision formatted to the currency code passed. The syntax
of the function is as shown below.
RoundCurrency(amount,currency code,effective date);
/* The below example will return the currency in AUD
format effective today. */
/* Instead of hard coding the currency, you can pass
dynamic values in real scenarios. */
LEDGER.AMOUNT.Value = RoundCurrency(AP_AMOUNTS_WRK.AMOUNT.Value,”AUD”,%Date);
No comments:
Post a Comment
Note: only a member of this blog may post a comment.