ただ、、、10年前は当たり前のように『Excel ファイル』が作られていたのに、今では、クラウド型データベースである『Google SpreadSheet』や『kintone』が利用されるケースの方が多くなってきたと思う。つまるところ、
- いつでも・どこからでもアクセスできる
- データが消失するリスクを小さくできる
- データを複製して持ち運ぶ必要が無い
- サービスプランによっては閲覧履歴を全て残せる
<API 通信のイメージ図>
しかも、クラウド型データベースを使えば、外部システムにも「顧客リスト」を参照させることが可能となる。(API 機能:Application Programming Interface)
以下のワークフローは、「Google SpreadSheet 上の顧客リスト」をワークフロー環境に取り込ませる自動フローだ。この例では、毎日深夜 1:00 に「顧客リスト」が自動的に同期されるようになる。(フローそのものは、以前紹介した kintone 同期とほぼ同じだ)
[顧客マスタ同期プロセス-スプレッドシート連携]
「API」と言ってもそれほどヤヤコシイ話ではない。Google SpreadSheet に対してであれば、
https://sheets.googleapis.com/v4/spreadsheets/1PfOZTv8l7FX-l-Gk2K2FOiK9f-aFdTRUGiuHlMPEhVg/values:batchGet?ranges=pubtest!A2:B
と言うリクエストを投げれば、以下のようなレスポンスが返ってくる。ただソレだけの話だ。
▼レスポンス・サンプル
{ "spreadsheetId": "1PfOZTv8l7FX-l-Gk2K2FOiK9f-aFdTRUGiuHlMPEhVg", "valueRanges": [ { "range": "pubtest!A2:B1000", "majorDimension": "ROWS", "values": [ [ "www.toyota.co.jp", "トヨタ自動車株式会社" ], [ "www.nissan.co.jp", "日産自動車株式会社" ], [ "www.honda.co.jp", "本田技研工業株式会社" ], [ "www.mazda.com", "マツダ株式会社" ], [ "www.fhi.co.jp", "富士重工業株式会社" ] ] } ] }
あとは JavaScript を使いこなせる人であれば、色々なデータ加工が可能となるだろう。この例では、ワークフロー環境(Questetra)に、選択肢 XML をセットする仕組みとなっているが、これ以外にも様々な業務応用が考えられる。
※ たしかに、事前に OAuth2 というセキュリティ通信設定が必要になるが、ソコは何とか頑張って乗り越えてもらいたい。
※ Google Sheets API マニュアル ⇒
https://developers.google.com/sheets/reference/rest/v4/spreadsheets.values/batchGet
なお、この例では「更新承認」というヒューマン工程を通るようになっている。1時間の猶予期間内であれば、同期を止めることも可能だ。自動処理が適切に稼働しているか不安なときは、夜中に起きてチェックするのも良い。
<通信許可の様子>
[顧客マスタ同期プロセス-スプレッドシート連携:「1.同期状況確認」画面]
▼スクリプト工程『List Generate』の設定サンプル (サーバサイド JavaScript)
//// == ワークフローデータの参照 / Retrieving == var myJson = data.get("1") + ""; // JSON text //// == 演算 / Calculating == var customersData = JSON.parse( myJson ); var numOfRecords = customersData.valueRanges[0].values.length; var value_id_list = ""; var display_label_list = ""; for (i = 0; i < numOfRecords; i++){ value_id_list += customersData.valueRanges[0].values[i][0] + "\n"; display_label_list += customersData.valueRanges[0].values[i][1] + "\n"; } //// == ワークフローデータへの代入 / Updating == retVal.put("4", value_id_list); retVal.put("5", display_label_list);
<データ項目一覧画面>
[雛形ダウンロード (無料)]
- 業務テンプレート:顧客マスタ同期プロセス-スプレッドシート連携
- 第483話:kintone 上のマスター情報と日次同期する (2016-05-16)
- 第488話:クラウド会計と連携させる(その3) (2016-06-20)
- 第461話:顧客マスタを「法人番号システム Web-API」でクリーニング(改良版) (2015-12-14)
- 第491話:銀行 CSV を Google Sheets に流し込む (2016-07-11)
- M217 自動開始: 決められた日時に先頭処理が自動的に開始されるように設定する (使い方)
- M230 自動工程: 業務データの複雑なデータ加工が自動実行されるように設定する(ECMAスクリプト) (使い方)
- M319 プロセスモデリング環境: 複数の業務プロセス定義から参照される選択肢XMLを登録する (使い方)
[英文記事 (English Entry) ]
0 件のコメント :
コメントを投稿