帳票作成ツールのCreate!Form でNetSuite のデータを利用した帳票を作成

帳票作成ツールのCreate!Form とNetSuite ODBC Driver を使ってNetSuite のデータを利用した帳票を作成する方法

宮本航太
プロダクトスペシャリスト

最終更新日:2022-03-24

この記事で実現できるNetSuite 連携のシナリオ

こんにちは!プロダクトスペシャリストの宮本です。

Create!Form は速くて簡単キレイに多彩なフォーマット(PDF 出力、HTML(SVG)生成、Excel 出力、プリンター印刷)で出力することができる帳票作成ツールです。

この記事では、Create!Form とCData ODBC ドライバを使って、Create!Form でNetSuite のデータを利用した帳票を作成する方法を紹介します。

CData ODBC ドライバとは?

CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。

  1. NetSuite をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
  2. 多様なアプリケーション、ツールにNetSuite のデータを連携
  3. ノーコードでの手軽な接続設定
  4. 標準 SQL での柔軟なデータ読み込み・書き込み

CData ODBC ドライバでは、1.データソースとしてNetSuite の接続を設定、2.Create!Form 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。

CData ODBC ドライバのインストールとNetSuite への接続設定

まずは、本記事右側のサイドバーからNetSuite ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。

  1. ODBC DSN に必要な接続プロパティの値を入力します。 組み込みのMicrosoft ODBC データソースアドミニストレーターを使用してDSN を構成できます。 これは、ドライバーのインストール時の最後のステップでも可能です。 Microsoft ODBC データソースアドミニストレータを使用してDSN を作成および設定する方法については、ヘルプドキュメントの「はじめに」の章を参照してください。

    Netsuite への接続

    NetSuite は現在、2つの異なるAPI を提供しています。

    • SuiteTalk はNetSuite との通信に使用する、SOAP ベースのより古いサービスです。多くのエンティティを幅広くサポートし、INSERT / UPDATE / DELETE を完全にサポートします。 しかしデータの抽出用ツールは低機能で、SELECT 時のパフォーマンスは極めて低いです。テーブルを結合するよい方法もありません。データのグループ化および集計はこのAPI からは利用できず、 そのためこれらの操作をサポートするには、すべてをクライアントサイドで実行しなければなりません。
    • SuiteQL は新しいAPI です。サービスとのSQL ライクな通信方法を実現するため、JOIN の機能はより豊富になり、GROUP BY や集計機能もサポートします。 加えて、抽出したいカラムだけを取得する機能も完全にサポートします。そのため、データを抽出する際のパフォーマンスがSuiteTalk より大幅に向上しています。ただし、サポートされるのはデータの抽出のみです。

    NetSuite に接続するには、以下を行う必要があります。

    1. Schema を設定して、接続に使用するAPI を指定。データを取得するだけの場合は、SuiteQL の使用をお勧めします。データの取得および変更が必要な場合は、SuiteTalk の使用をお勧めします。
    2. 使用するAPI に適した接続オプションを設定します。(それぞれのAPI で利用可能な接続オプションが異なります。ヘルプドキュメントの「許可の設定」を参照してください。)

    Netsuite への認証

    SuiteTalk またはSuiteQL

    NetSuite は3つの形式のOAuth 認証を提供します。

    • トークンベース認証(TBA)は、基本的にOAuth 1.0 で、OAuthAccessTokenOAuthAccessTokenSecret を実行時ではなくNetSuite UI 内で作成します。 TBA は、2020.2 以降のSuiteTalk およびSuiteQL の両方で利用可能です。
    • OAuth 2.0 認証は、SuiteQL でのみ利用できます。OAuth 2.0 認証を強制するには、次のいずれかを実行します。
      • OAuthVersion を使用するAPI に明示的に設定、または
      • SchemaSuiteQL に設定
    • OAuth JWT 認証は、OAuth 2.0 クライアント認証フローであり、クライアント認証情報を含むJWT を使用してNetSuite データへのアクセスを要求します。この認証方法は、SchemaSuiteQL に設定されている場合にのみ使用できます。

    認証方法の詳細はヘルプドキュメントの「はじめに」を参照してください。

  2. DSN設定
  3. 入力後、接続テストが成功すれば設定は完了です。

作業ディレクトリを作成

それではCreate!Form 側での作業を進めていきましょう。

  1. Infotec → CreateForm → 11 → work 上で右クリックし、新規作成 → 作業ディレクトリと進みます。
  2. 任意の作業ディレクトリを作成します。

帳票フォーマットを選択

次に、使用する帳票フォーマットを選択します。

  1. 対象の作業ディレクトリを選択し、右クリック → 新規作成 → ジョブファイルと進みます。
  2. 帳票名、ジョブファイル名に任意の名前を設定します。
  3. ジョブ画面に以下のように今作成した帳票名が表示されるようになりますので、ダブルクリックでForm エディター(帳票フォーマット編集画面)を開きます。
  4. 今回は以下のようなリストを表示する帳票にしています。左側にあるエリアは変数名の一覧になり、この帳票では表を入れているので、LISTという名前で表型の変数が定義されています。変数は次のデータマッピングで使用します。

データソースの設定

続いてODBC 接続用のデータソースの設定を行います。

  1. まずは、設定 → データソースを選択します。
  2. データソース名に対象のDSN 名を入力、DB 種別には ODBCDB を選択して登録ボタンをクリックします。

データのマッピング

データソースの設定が完了したら、マッピングを行っていきます。

  1. 対象の帳票を選択した状態でデータ編集マップをクリックします。
  2. 使用するデータの形式を設定します。ODBC 経由ですので、データベース型を選択してOK ボタンをクリックします。
  3. 下部にあるデータベース設定をクリックします。
  4. 先ほど作成したデータソースを選択し、OK ボタンをクリックします。
  5. Datamap エディタが開いたら、実行したいSQL を直接入力します。
  6. ちなみに、SQL 支援というボタンをクリックすると、選択式でSQL を組み立てることができます。
  7. 画面一番下のエリアで右クリックし、マッピング範囲指定を選択します。
  8. 以下の赤枠は取得したデータセットのカラムフィールド番号です。ここではすべて対象になるよう最後の項目まで指定しました。
  9. ここから実際に取得したデータセットと帳票をマッピングしていきますので、画面下部のエリア(フィールドエリア)にて右クリックし、表オブジェクト詳細マッピングを選択します。
  10. カラム名のエリアがプルダウンになっており、SQL で指定した Select 対象のカラムがこの中に表示されるようになります。

帳票をプレビュー

最後に作成した帳票をプレビューしてみましょう。

  1. 作成した帳票を選択した状態で実行ボタンをクリックします。
  2. データソース名をダブルクリックし、プレビューで使用するデータソースを選択します。選択後、プレビューボタンをクリックしてPDF を出力します。
  3. 以下のようにNetSuite のデータを使ったPDF を出力することができました。

おわりに

このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをCreate!Form からコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。

CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。