そもそも「データベース」に格納されるデータは、
- (A) マスター情報 (マスター系データ)
- 商品マスター
- 顧客マスター
- 価格表、など
- (B) ログ情報 (トランザクション系データ)
- 支払履歴
- 受注記録
- アクセスログ、など
以下の業務プロセスは、クラウド型データベース『kintone』で管理されている顧客マスター情報を、ワークフロー環境の『顧客マスター』として日次同期させる仕組みだ。(バッチ処理と言っても良い)。全工程が自動化されているだけでなく、任意の時刻に手動で同期させることも可能な点が秀逸といえる。
つまるところ、「見積提出プロセス」「受注報告プロセス」「請求プロセス」など、様々な業務において、最新の『顧客マスター』を参照できるようになる。いわゆる「ユラギ」や「ナヨセ」と決別できるかも知れない。(更には kintone データの自動バックアップという意味もある)
[顧客マスタ同期プロセス]
クラウド型データベース『kintone』には API がある。
- https://${YOUR-DOMAIN}.cybozu.com/k/v1/record.json?app=1&id=1
- https://${YOUR-DOMAIN}.cybozu.com/k/v1/records.json?app=1
注) kintone API の利用には「カスタムHTTPヘッダ機能」(Questetra BPM Suite v11.0: 2016-05-23)が必要。
<API 通信のイメージ図>
たとえば「Excel 関数」を使える人なら、「マスター情報テーブルの設定方法」から、その「API通信の仕組み」まで、半日もあれば習得できるだろう。 (もっとも、JSONというテキストフォーマットで送受信される点に、ヤヤコシイと感じる人がいるかもしれない)
※ ちなみに「アプリIDって、ドコに書いてるの?」と思う人が多いのだが、リストを表示するURL( https://example.cybozu.com/k/3/ )にある数字を(この例では「3」)を参照すればよい。
▼マスター情報テーブル作成(kintone)の大まかな流れ
- 情報テーブルの名前を付ける(Customers)
- 情報テーブルの説明を書く
- データ項目を定義する
- (マスター管理で必要となる項目のフォーマットをドラッグする)
- (自動処理で必要となる[フィールドコード]をそれぞれ設定する)
- (項目の並びをチェックする)
- 全項目を一覧ビューを設定する
- データ同期するための通信設定をする(API Token)
- (APIトークンをメモする)
- マスター情報テーブルを運用開始する
- マスターに顧客データを登録する
- (顧客データ一覧を参照する)
<キャプチャ:1-12>
▼自動リクエスト設定(Questetra)の大まかな流れ
- メッセージ送信中間イベントを配置する
- kintone API への[Access URL]を記入する(Method: GET)
- カスタムヘッダ設定に『X-Cybozu-API-Token』および「APIトークン」を記入する
- レスポンスJSON を格納するデータ項目を指定する
▼スクリプト工程『List Generate』の設定例 (サーバサイド JavaScript)
//// == ワークフローデータの参照 / Retrieving == var myJson = data.get("1") + ""; // JSON text //// == 演算 / Calculating == var customersData = JSON.parse( myJson ); var numOfRecords = customersData.totalCount - 0; var value_id_list = ""; var display_label_list = ""; for (i = 0; i < numOfRecords; i++){ value_id_list += customersData.records[i].customerCode.value + "\n"; display_label_list += customersData.records[i].customerName.value + "\n"; } //// == ワークフローデータへの代入 / Updating == retVal.put("4", value_id_list); retVal.put("5", display_label_list);
▼ JSON サンプル(見やすさのため改行およびインデントを追加)
// query や fields を省略した場合、閲覧権限のある全レコード全フィールドの値が返される {"records":[ {"customerName":{"type":"SINGLE_LINE_TEXT","value":"国立大学法人京都大学"}, "Updated_datetime":{"type":"UPDATED_TIME","value":"2016-05-11T01:15:00Z"}, "Created_datetime":{"type":"CREATED_TIME","value":"2016-05-11T01:15:00Z"}, "Created_by":{"type":"CREATOR","value":{"code":"example@gmail.com","name":"example@gmail.com"}}, "Record_number":{"type":"RECORD_NUMBER","value":"3"}, "$revision":{"type":"__REVISION__","value":"1"}, "tel":{"type":"LINK","value":"075-753-7531"}, "personInCharge":{"type":"SINGLE_LINE_TEXT","value":""}, "url":{"type":"LINK","value":"http://www.kyoto-u.ac.jp/"}, "email":{"type":"LINK","value":""}, "decileRank":{"type":"DROP_DOWN","value":"E"}, "customerCode":{"type":"SINGLE_LINE_TEXT","value":"3130005005532#www.kyoto-u.ac.jp"}, "$id":{"type":"__ID__","value":"3"}, "note":{"type":"MULTI_LINE_TEXT","value":""}, "Updated_by":{"type":"MODIFIER","value":{"code":"example@gmail.com","name":"example@gmail.com"}} }, {"customerName":{"type":"SINGLE_LINE_TEXT","value":"Google Inc."}, "Updated_datetime":{"type":"UPDATED_TIME","value":"2016-05-11T01:16:00Z"}, "Created_datetime":{"type":"CREATED_TIME","value":"2016-05-11T01:13:00Z"}, "Created_by":{"type":"CREATOR","value":{"code":"example@gmail.com","name":"example@gmail.com"}}, "Record_number":{"type":"RECORD_NUMBER","value":"2"}, "$revision":{"type":"__REVISION__","value":"2"},"tel":{"type":"LINK","value":""}, "personInCharge":{"type":"SINGLE_LINE_TEXT","value":"Sergey Brin"}, "url":{"type":"LINK","value":"https://www.google.com/"}, "email":{"type":"LINK","value":""}, "decileRank":{"type":"DROP_DOWN","value":"J"}, "customerCode":{"type":"SINGLE_LINE_TEXT","value":"9999999999999#www.google.com"}, "$id":{"type":"__ID__","value":"2"}, "note":{"type":"MULTI_LINE_TEXT","value":""}, "Updated_by":{"type":"MODIFIER","value":{"code":"example@gmail.com","name":"example@gmail.com"}} }, {"customerName":{"type":"SINGLE_LINE_TEXT", "value":"Questetra, Inc."}, "Updated_datetime":{"type":"UPDATED_TIME","value":"2016-05-11T01:11:00Z"}, "Created_datetime":{"type":"CREATED_TIME","value":"2016-05-11T01:11:00Z"}, "Created_by":{"type":"CREATOR","value":{"code":"example@gmail.com","name":"example@gmail.com"}}, "Record_number":{"type":"RECORD_NUMBER","value":"1"}, "$revision":{"type":"__REVISION__","value":"1"}, "tel":{"type":"LINK","value":"075-205-5007"}, "personInCharge":{"type":"SINGLE_LINE_TEXT","value":"IMAMURA Genichi"}, "url":{"type":"LINK","value":"https://www.questetra.com/"}, "email":{"type":"LINK","value":"support@questetra.com"}, "decileRank":{"type":"DROP_DOWN","value":"A"}, "customerCode":{"type":"SINGLE_LINE_TEXT","value":"6130001031686#www.questetra.com"}, "$id":{"type":"__ID__","value":"1"}, "note":{"type":"MULTI_LINE_TEXT","value":"Kyoto"}, "Updated_by":{"type":"MODIFIER","value":{"code":"example@gmail.com","name":"example@gmail.com"}} }], "totalCount":"3"}
[顧客マスタ同期プロセス:「1.同期状況確認」画面]
<データ項目一覧画面>
[雛形ダウンロード (無料)]
- 業務テンプレート:顧客マスタ同期プロセス
- 法人番号を使った取引先マスターの管理(一括更新編) (2015-09-21)
- 第461話:顧客マスタを「法人番号システム Web-API」でクリーニング(改良版) (2015-12-14)
- 取引先マスターを参照する見積書作成フロー (2015-09-28)
- M319 プロセスモデリング環境: 複数の業務プロセス定義から参照される選択肢XMLを登録する (使い方)
- M225 自動イベント: 業務データを組み込んだHTTPリクエストが、自動的に送信されるように設定する (使い方)
- M217 自動開始: 決められた日時に先頭処理が自動的に開始されるように設定する (使い方)
[英文記事 (English Entry) ]
0 件のコメント :
コメントを投稿