Claris FileMaker Pro のスクリプト機能を使ってNetSuite のデータに接続
Claris FileMaker は、データの管理や整理のためのカスタムアプリを作成できるローコードデータベースアプリケーション開発ツールです。強力なリレーショナルデータベースエンジンと直感的なインターフェースを組み合わせており、技術者でも非技術者でも、デスクトップ、Web、モバイルプラットフォーム向けのアプリケーションを設計・デプロイできます。
この記事では、CData ODBC Driver for NetSuite と FileMaker のスクリプト機能を使ってNetSuite のデータに接続する方法を解説します。
NetSuite データ連携について
CData は、Oracle NetSuite のライブデータにアクセスし、統合するための最も簡単な方法を提供します。お客様は CData の接続機能を以下の目的で使用しています:
- Standard、CRM、OneWorld を含む、すべてのエディションの NetSuite にアクセスできます。
- SuiteTalk API(SOAP ベース)のすべてのバージョンと、SQL のように機能し、より簡単なデータクエリと操作を可能にする SuiteQL に接続できます。
- Saved Searches のサポートにより、事前定義されたレポートとカスタムレポートにアクセスできます。
- トークンベースおよび OAuth 2.0 で安全に認証でき、あらゆるユースケースで互換性とセキュリティを確保します。
- SQL ストアドプロシージャを使用して、ファイルのアップロード・ダウンロード、レコードや関連付けのアタッチ・デタッチ、ロールの取得、追加のテーブルやカラム情報の取得、ジョブ結果の取得などの機能的なアクションを実行できます。
お客様は、Power BI や Excel などのお気に入りの分析ツールからライブ NetSuite データにアクセスするために CData ソリューションを使用しています。また、CData Sync を直接使用するか、Azure Data Factory などの他のアプリケーションとの CData の互換性を活用して、NetSuite データを包括的なデータベースやデータウェアハウスに統合しています。CData は、Oracle NetSuite のお客様が NetSuite からデータを取得し、NetSuite にデータをプッシュするアプリを簡単に作成できるよう支援し、他のソースからのデータを NetSuite と統合することを可能にしています。
当社の Oracle NetSuite ソリューションの詳細については、ブログをご覧ください:Drivers in Focus Part 2: Replicating and Consolidating ... NetSuite Accounting Data
はじめに
NetSuite 用の ODBC データソースを作成
まだ設定していない場合は、最初に ODBC DSN(データソース名)で接続プロパティを指定します。これはドライバーインストールの最終ステップでもあります。Microsoft ODBC データソースアドミニストレーターを使用して ODBC DSN を作成・設定できます。
NetSuiteへの接続
NetSuite では、2種類のAPI でデータにアクセスできます。どちらのAPI を使用するかは、Schema 接続プロパティで以下のいずれかを選択して指定してください。
- SuiteTalk は、NetSuite との通信に使用されるSOAP ベースの従来から提供されているサービスです。幅広いエンティティをサポートし、INSERT / UPDATE / DELETE の操作も対応しています。ただし、SuiteQL API と比べるとデータの取得速度が劣ります。また、サーバーサイドでのJOIN に対応していないため、これらの処理はCData 製品がクライアントサイドで実行します。
- SuiteQL は、より新しいAPI です。JOIN、GROUP BY、集計、カラムフィルタリングをサーバーサイドで処理できるため、SuiteTalk よりもはるかに高速にデータを取得できます。ただし、NetSuite データへのアクセスは読み取り専用となります。
データの取得のみが目的でしたらSuiteQL をお勧めします。データの取得と変更の両方が必要な場合は、SuiteTalk をお選びください。
NetSuite への認証
CData 製品では、以下の認証方式がご利用いただけます。
- トークンベース認証(TBA)はOAuth1.0に似た仕組みです。2020.2以降のSuiteTalk とSuiteQL の両方で利用できます。
- OAuth 2.0 認証(OAuth 2.0 認可コードグラントフロー)は、SuiteQL でのみご利用いただけます。
- OAuth JWT 認証は、OAuth2.0 クライアント認証フローの一つで、クライアント認証情報を含むJWT を使用してNetSuite データへのアクセスを要求します。
トークンベース認証(OAuth1.0)
トークンベース認証(TBA)は、基本的にOAuth 1.0 の仕組みです。この認証方式はSuiteTalk とSuiteQL の両方でサポートされています。管理者権限をお持ちの方がNetSuite UI 内でOAuthClientId、OAuthClientSecret、OAuthAccessToken、OAuthAccessTokenSecret を直接作成することで設定できます。 NetSuite UI でのトークン作成手順については、ヘルプドキュメントの「はじめに」セクションをご参照ください。
アクセストークンを作成したら、以下の接続プロパティを設定して接続してみましょう。
- AuthScheme = Token
- AccountId = 接続先のアカウント
- OAuthClientId = アプリケーション作成時に表示されるコンシューマーキー
- OAuthClientSecret = アプリケーション作成時に表示されるコンシューマーシークレット
- OAuthAccessToken = アクセストークン作成時のトークンID
- OAuthAccessTokenSecret = アクセストークン作成時のトークンシークレット
その他の認証方法については、ヘルプドキュメントの「はじめに」をご確認ください。
DSN を設定する際には、Max Rows 接続プロパティも設定することをお勧めします。これにより返される行数が制限され、レポートやビジュアライゼーションの設計時にパフォーマンスを向上させるのに役立ちます。
スクリプトを使用して FileMaker でNetSuite のデータを接続・同期
このセクションでは、CData ODBC Driver for NetSuite とスクリプト機能を使用して、FileMaker にリアルタイムのNetSuite データを接続する手順を説明します。初回インポート時には、FileMaker は外部データソースからすべてのデータを取り込みます。2回目以降のインポートでは、外部ソースで変更されたデータのみが更新されます(差分更新)。また、現在のレコード順序でデータを置換したり、これらの差分更新を自動同期のためにスケジュール設定することもできます。
Mac/Windows/Linux システム向けの最新版 FileMaker Pro は、こちらのリンクからダウンロード・インストールできます。
スクリプトを使った FileMaker との接続と同期
FileMaker のスクリプト機能を使用すると、単一のコマンドで一連のアクションを実行し、複雑なタスクやワークフローを自動化できます。スクリプトを使ってNetSuite と連携することで、FileMaker アプリケーション内でNetSuite のデータへの接続、インポート、更新、置換を自動化し、データ管理を効率化できます。
スクリプトを使った初回インポートとデータの追加
このセクションでは、以下の手順でスクリプトを使ってNetSuite のデータを FileMaker にインポートします:
- FileMaker Pro を開きます。左パネルから Create に移動し、Blank > Create を選択します。
- 任意のファイル名を入力して Save をクリックします。
- Manage Database ウィンドウで Tables タブに移動し、NetSuite のデータを表示するテーブルを作成または名前変更します。
- Fields タブで、テーブルで使用するフィールドを作成・追加します。
- Relationships タブで、複数のテーブルがある場合はテーブルのリレーションシップを追加し、OK をクリックします。
- テーブル構造を再度開いて変更するには、File > Manage > Database に移動します。
- Scripts > Script Workspace に移動します。
- New Script を選択して新しいスクリプトワークスペースを開きます。
- 右側の Steps パネルから Records > Import Records > Insert into Script を選択します。
- Specify Data Source ドロップダウンで ODBC Data を選択します。
- Select ODBC Data Source ウィンドウから CData NetSuite Sys を選択し、Continue をクリックします。NetSuite の資格情報を入力して OK をクリックします。
- Specify ODBC SQL Query ダイアログで、SQL text エディタに SQL クエリを入力して、インポートしたいNetSuite のデータを指定します。
- あるいは、Query Builder を選択して SQL Query Builder ウィンドウを開きます。Tables セクションから対象テーブルを選択し、Columns セクションから関連するカラムを選択します。各選択後に Insert into SQL Query をクリックしてクエリを自動生成します。WHERE や ORDER BY 句、または専用のタブを使用してクエリを手動で編集することもできます。OK をクリックしてクエリを確定します。
- OK をクリックします。
- Specify import order オプションで Specify をクリックし、NetSuite の資格情報を入力します。
- Specify Import Order ウィンドウで、先ほど追加したターゲットフィールドのインポート順序を定義します。ソースフィールドとターゲットフィールドの間で Add を選択して、NetSuite のデータを新しいレコードとしてテーブルに挿入します。Import をクリックします。
- これでスクリプトがワークスペースに表示されます。Run をクリックしてスクリプトを実行し、インポートを処理します。
- FileMaker がNetSuite のデータをテーブルとしてインポートします。
スクリプトを使ったインポート済みデータの更新または置換
NetSuite のデータを FileMaker にインポートした後、以下の手順でスクリプトを使ってNetSuite で行われた変更を更新または置換できます:
- 前のセクションで説明した手順に従って Script Workspace に戻ります。
- 既存のスクリプトを選択し、設定ボタンをクリックして Specify Import Order の下の Specify を選択し、認証のためにNetSuite の資格情報を再入力します。
- Specify Import Order ウィンドウで、ソースとターゲットの間で Update を選択して、インポート済みのNetSuite データを更新します。これにより、マッチフィールドの値が同じ場合に、選択したフィールドのNetSuite データ値でターゲットの検索セットが更新されます。マッピングで少なくとも1つのマッチフィールドを定義し、Add remaining data as new records チェックボックスを選択する必要があります。Import をクリックします。
- あるいは、ユースケースに応じて Update の代わりに Replace オプションを選択します。これにより、ターゲットの検索セット内の選択したフィールドが、現在のレコード順序でNetSuite のデータに置換されます。Import をクリックします。
- FileMaker がスクリプトをワークスペースに追加します。Run をクリックしてスクリプトを実行し、インポートクエリを処理します。
- FileMaker が更新または置換されたNetSuite のデータをテーブルとしてインポートします。
今すぐ始めましょう
CData ODBC Driver for NetSuite の30日間無償トライアルをダウンロードして、NetSuite のデータを Claris FileMaker に統合し、FileMaker アプリケーションでNetSuite のデータを活用してみてください。
ご質問がある場合は、サポートチームまでお問い合わせください。