売上高をその日の為替レートで自動変換(為替API活用)

2013年10月28日
各支店からの「売上高報告」、その速報値を集計したい?

前回紹介した日報ワークフロー(※)があれば、いつでも売上高の日次変動を確認できる様になる。絞り込み機能を使えば、任意の期間の売上高を集計する事も容易だ。しかし一部の売上高報告が、異なる通貨になっていればどうか???
「日報」に気象データを取り込む意味(天気API活用)

以下のワークフローは前回紹介の『営業日報フロー』をベースに、当日の為替レートで売上高を変換する機能が追加されている。すなわち、その日の為替レート情報をインターネットから自動的に取得し、海外店の店長が入力した売上高(現地通貨)を本店通貨表記に自動変換する仕組みだ。実際に本店の通貨に換金するタイミングは異なるにせよ、売上高の「速報値」を自動集計できるようになるのはスバラシイ。

[営業日報フロー-為替]



[営業日報フロー-為替:「1.営業日報の提出」画面]

この例では Google 社が公開している API (非公式API)を呼び出している。実際に「送信するリクエスト」と「Google さんからのお返事」は、それぞれ以下のとおりだ。

◆API Request
http://www.google.com/ig/calculator?hl=en&q=1USD=?JPY

◆JSON Response
{lhs: "1 U.S. dollar",rhs: "98.0392157 Japanese yen",error: "",icc: true}

自動取得した為替データを活用して、業務データ『売上高USD』を『売上高JPY』に変換するスクリプト(「スクリプトタスク」に設定する内容)は以下の通りだ。もしエクセルを使いこなす方なら、様々な応用を思いつくだろう。


var exchangerate = data.get("15").match(/rhs: "([0-9]*.[0-9]*)/);
retVal.put("9", java.math.BigDecimal( Math.floor(exchangerate[1] * data.get("17")) ) );
retVal.put("10", java.math.BigDecimal( Math.floor(exchangerate[1] * data.get("18")) ) );

[プロセスデータ項目一覧画面]


[ダウンロード]
<類似プロセス>
≪関連記事≫
≪新着記事≫

0 件のコメント :

コメントを投稿