各製品の資料を入手。
詳細はこちら →Sansan のデータをFastAPPに連携して活用
Sansan をクラウドプラットフォームのFastAPP からデータ連携して、データソースとする方法。
最終更新日:2022-03-01
この記事で実現できるSansan 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData JDBC Driver for Sansan は、JDBC 標準をインプリメントし、BI ツールからIDE まで幅広いアプリケーションでSansan のデータ への接続を提供します。この記事では、クラウドプラットフォームのFastAPP からSansan に接続し、一覧表示する方法を説明します。
完成イメージ
以下のようにFastAPPの一覧画面でSansanから取得したデータを表示するPluginを作成します。

FastAPP 用Plugin 作成
まず、FastAPP へ追加するPlugin プログラムを作成します
- Eclipse を立ち上げ、FastAPP 用Plugin プログラムを記述します。
- データ一覧を表示するためのサンプルコードは以下の通りです。必要に応じて取得・表示項目などを変更します。FastAPP 用Plugin の詳しい作成方法は、以下のHPから問い合わせにて確認できます。 https://www.scsk.jp/product/contact/index.html?sname=FastAPP
- クラス名および接続文字列は以下を参考に記述します。
ドライバ:cdata.jdbc.sansan.SansanDriver
URL: jdbc:sansan: に続けてセミコロン区切りで接続プロパティを入力します。
一般的なJDBC URL は次の通りです。
jdbc:sansan:APIKey=myApiKey;
- プログラム記述後、ビルドを実行します。

package jp.plugin.demo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import jp.scsk.fastapp.core.addon.support.CommandProcessor;
import jp.scsk.fastapp.core.addon.support.CommandValues;
import jp.scsk.fastapp.core.addon.support.ValidationException;
public class ListUpDynamicsData implements CommandProcessor {
private static final String[] ARGNAMES = {"プラグイン引数文字列サンプル"};
@Override
public String[] getArguments() {
// TODO 自動生成されたメソッド・スタブ
return ARGNAMES;
}
@Override
public String getProcessName() {
// TODO 自動生成されたメソッド・スタブ
return "一覧取得Plugin";
}
@Override
public String[] getTargetVersion() {
// TODO 自動生成されたメソッド・スタブ
return new String[] {"3.0.0","3.*.*"};
}
@Override
public void process(CommandValues arg0) throws ValidationException {
// TODO 自動生成されたメソッド・スタブ
try {
Class.forName("cdata.jdbc.sansan.SansanDriver");
Connection conn = DriverManager.getConnection("jdbc:sansan:APIKey=myApiKey;");
java.sql.Statement stat = conn.createStatement();
stat.execute("select id,name,telephone1,address1_city,websiteurl from Account");
ResultSet rs = stat.getResultSet();
while(rs.next())
{
arg0.setFormValue("DetailData1", "id", rs.getRow(),rs.getString("id"));
arg0.setFormValue("DetailData1", "name", rs.getRow(),rs.getString("name"));
arg0.setFormValue("DetailData1", "telephone1", rs.getRow(),rs.getString("telephone1"));
arg0.setFormValue("DetailData1", "address1_city", rs.getRow(),rs.getString("address1_city"));
arg0.setFormValue("DetailData1", "websiteurl", rs.getRow(),rs.getString("websiteurl"));
}
}catch(Exception ex)
{
// Error Handling
}
}
}
Plugin の配置
続いて作成したPlugin アセンブリをFastAPPサーバー上に配置します。本記事ではLinux サーバへのSSH接続をベースに記述します
- Teraterm 等任意のSSH接続用ツールを立ち上げて、FastAPP のサーバへ接続します
- FastAPP を配置しているWebサイトのライブラリフォルダ「例:/opt/tomee/webapps/fastapp-web/WEB-INF/lib」にビルドファイルおよびCData Driver ファイル「cdata.jdbc.dynamicscrm.jar」とライセンスファイル「cdata.jdbc.dynamicscrm.lic」、以上3種類のファイルを配置します。
- ファイルを配置後、FastAPP のWebサーバを再起動すると対象のPlugin がFastAPP 上で参照可能となります。
FastAPP用の画面の作成
続いてFastAPP へ一覧を表示するための画面を作成します。
- FastAPP 管理へアクセスし、ログインを実施します。
- 画面一覧にて「+画面新規作成」をクリックします。
- 新しく作成する画面の各種項目を入力し「保存して詳細を開く」をクリックします。
- 続いて、一覧画面に表示する項目を定義します。画面詳細情報から「一覧画面項目セット追加」をクリックします。
- 一覧形式の入力箇所表示されるので、「+項目追加」をクリックします。
- 事前に作成しているプログラム上で定義している表示項目と合わせて項目ID、項目名等を定義します。この作業を表示したい項目分実施します。
- 以下のように表示する項目を定義すれば作業完了です。







FastAPP へ作成したPluginの登録
最後に一覧画面を表示するためのPluginをイベントとして登録します。
- 画面詳細情報の「イベント一覧を開く」をクリックします。
- 本Pluginは画面表示時に一覧を表示する想定のため「初期表示処理」段階にイベントを登録するため、表示されたイベント一覧から「初期表示処理」を追加します。
- コマンド設定の一覧から「挿入」のボタンをクリックします。
- コマンドの一覧から「プラグイン実行コマンド」を選択します。選択後、アドオンの設定箇所が表示されるので「設定手順② 中処理アドオンの設定」から作成したプラグインを選択し「保存」をクリックします。以上でプラグイン呼び出しのイベント登録は完了です。




補足:メニューへの画面表示設定
本記事の補足として本記事で作成した画面をメニューへの登録する方法を説明します。
- 開発用画面の右上にある設定用アイコンから「システム全体設定」をクリックします。
- システム設定メニューから「メニュー情報」をクリックします。
- メニュー用の設定画面が表示されるので「+メニュー新規作成」をクリックします。
- 各種項目を入力の上「遷移先画面ID」にて作成した一覧画面を選択し「保存」をクリックします。以上でメニューへの表示設定は完了です。




動作確認
実際にユーザーが使用する画面を用いて、動作確認を実施します。
- FastAPP の通常画面へアクセスしログインを実行します。
- アプリ別メニューから追加した「一覧画面」をクリックします。
- 登録したイベントおよびプラグインが動作し、CData Driver 経由でデータを取得の上、一覧画面が表示されます。



このようにSansan 内のデータをAPI を書くことなくFastAPP 上で処理することができるようになります。
サポートされるSQL についての詳細は、ヘルプドキュメントの「サポートされるSQL」をご覧ください。テーブルに関する情報は「データモデル」をご覧ください。