JReport Designer でSage 300 のデータを連携

JReport Designer でSage 300 に連携するチャートとレポートを作成します。

加藤龍彦
デジタルマーケティング

最終更新日:2022-10-10

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

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

CData JDBC Driver for Sage300 を使用すると、Sage 300 がリレーショナルデータベースであるかのようにダッシュボードやレポートからリアルタイムデータにアクセスでき、使い慣れたSQL クエリを使用してSage 300] をクエリできます。ここでは、JDBC データソースとしてSage 300 に連携し、JReport Designer でSage 300 のレポートを作成する方法を説明します。

Sage 300 のデータに接続

  1. C:\JReport\Designer\bin\setenv.bat を編集し、JAR ファイルの場所をADDCLASSPATH 変数に追加します。
    ...
    set ADDCLASSPATH=%JAVAHOME%\lib\tools.jar;C:\Program Files\CData\CData JDBC Driver for Sage300 2016\lib\cdata.jdbc.sage300.jar;
    ...
    
  2. [File][New][Data Source]と進み、新しいデータソースを作成します。
  3. 表示されるダイアログで、データソースの名前(CData JDBC Driver for Sage300) を作成し、JDBC を選択して[OK]をクリックします。
  4. [JDBC Connection Information]ダイアログで、JDBC ドライバーへの接続を構成します。
    • Driver:[Driver]ボックスにチェックがついていることを確認し、ドライバーのクラスの名前を入力します。 cdata.jdbc.sage300.Sage300Driver
    • URL:jdbc:sage300: から始まり、その後にセミコロンで区切られた接続プロパティのリストが続くJDBC URL を入力します。

      Sage 300 には、Sage 300 Web API で通信するための初期設定が必要となるます。

      • Sage 300 のユーザー向けのセキュリティグループを設定します。Sage 300 のユーザーに、Security Groups の下にあるbSage 300 Web API オプションへのアクセスを付与します(各モジュール毎に必要です)。
      • /Online/Web/Online/WebApi フォルダ内のweb.config ファイルを両方編集して、AllowWebApiAccessForAdmin のキーを true 設定します。webAPI アプリプールを再起動すると設定が反映されます。
      • ユーザーアクセスを設定したら、https://server/Sage300WebApi/ をクリックして、web API へのアクセスを確認してください。

      Basic 認証を使用してSage 300 へ認証します。

      Basic 認証を使用して接続する

      Sage 300 に認証するには、次のプロパティを入力してください。プロバイダーは、クッキーを使用してSage 300 が開いたセッションを再利用することに注意してください。 そのため、資格情報はセッションを開く最初のリクエストでのみ使用されます。その後は、Sage 300 が返すクッキーを認証に使用します。

      • Url:Sage 300 をホストするサーバーのURL に設定します。Sage 300 Web API 用のURL を次のように作成してください。 {protocol}://{host-application-path}/v{version}/{tenant}/ 例えば、 http://localhost/Sage300WebApi/v1.0/-/ です。
      • User:アカウントのユーザー名に設定します。
      • Password:アカウントのパスワードに設定します。

      ビルトイン接続文字列デザイナー

      JDBC URL の構成については、Sage 300 JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

      java -jar cdata.jdbc.sage300.jar

      接続プロパティを入力し、接続文字列をクリップボードにコピーします。

      Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)

      JDBC URL を構成する際、Max Rows 接続プロパティを設定することもできます。これによって戻される行数を制限するため、可視化・レポートのデザイン設計時のパフォーマンスを向上させるのに役立ちます。

      以下は一般的なJDBC URLです。

      jdbc:sage300:User=SAMPLE;Password=password;URL=http://127.0.0.1/Sage300WebApi/v1/-/;Company=SAMINC;
    • User:認証に使用するユーザー名は、通常空白のままにします。
    • Password:User と同様に認証に使用するパスワードも、通常は空白のままにします。
    Configuring the connection to the JDBC Driver (Salesforce is shown.)
  5. [Add Table]ダイアログで、レポート(またはこのデータソースを使用する予定のレポート)に含めるテーブルを選択し、[Add]をクリックします。

    Adding Tables.(Salesforce is shown.)

    ダイアログがテーブルのロードを完了したら、[Done]をクリックします。

  6. [Catalog Browser]では、レポートの作成に使用するクエリを作成できます。今すぐ、またはレポートの作成後に作成できますが、どちらにしても、 データソース(CData JDBC Driver for Sage 300) を展開()し、[Queries]を右クリックして[Add Query]を選択します。 Adding a query for data to be used in the report.(Salesforce is shown.)
  7. [Add Table/View/Query]ダイアログで、JDBC URL とTables を展開() し、クエリで使用するテーブルを選択して[OK]をクリックします。 Selecting a table for the query.(Salesforce is shown.)
  8. [Query Editor]ダイアログで、含めるカラムを選択するか、[SQL]ボタンをクリックして以下のようにカスタムクエリを手動で入力できます。
    SELECT InvoiceUniquifier, ApprovedLimit FROM OEInvoices WHERE AllowPartialShipments = 'Yes'
    
    Editing the query.(Salesforce is shown.)

    クエリが作成されたら、[OK]をクリックして[Query Editor]ダイアログを閉じます。この時点で、Sage 300 を新規または既存のレポートに追加する準備が整いました。

    NOTE: クエリが作成されると、クエリに基づいて[Business View]を作成できます。[Business View]を使用すると、クエリに基づいてWeb レポートまたはライブラリコンポーネントを作成できます。これについてのより詳しい情報は、JReport のチュートリアルを参照してください。

レポートにSage 300 のデータを追加

Sage 300 を使用してレポートを作成することができるようになりました。

  1. 新しいレポートを作成([File][New][Page Report]) するか、既存のレポートの[Chart Wizard]を開きます。
  2. クエリを選択(または上記を参照して新しいクエリを作成) します。
  3. Selecting the query to use.(Salesforce is shown.)
  4. クエリのカラムからグラフの[Category]と[Value]を割り当て、[Finish]をクリックします。
  5. Assigning columns to define the chart.(Salesforce is shown.)
  6. レポートの[View]タブをクリックし、チャートを表示します。
Sample chart based on live data.(Salesforce is shown.)

関連コンテンツ

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

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