SAP Crystal Reports で SAP Fieldglass ののデータをレポートに出力
Crystal Reports にはリモートデータへのデータ処理をオフロードするためのさまざまなオプションが用意されており、リアルタイムレポートを実現できます。Crystal Reports がJDBC に対応しているため、CData JDBC Driver for SAP Fieldglass によってこの機能をCrystal Reports で利用できるようになります。この記事では、レポート実行時にデータを更新するSAP Fieldglass のデータレポートを作成する方法を紹介します。
以下の表は、この記事で使用するツールとバージョンです。
| アプリケーション名 | バージョン |
|---|---|
| SAP Crystal Reports 2020 | SP3 |
| JDBC Driver | 23.0.8565 |
JDBC Driver のデプロイ
Crystal Reports のクラスパスにドライバーJAR を含めて、CData JDBC Driver for SAP Fieldglass をインストールします。DataDriverCommonElement の下にあるClassPath 要素のパスに、.jar を含むフルファイルパスを追加します。
CRConfig.xml ファイルのデフォルトの場所はC:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\java ですが、インストールによって多少異なる場合があります。ドライバーJAR はインストールディレクトリのlib サブフォルダにあります。
ClassPath にJAR を追加したら、Crystal Reports を再起動します。
SAP Fieldglass のデータに接続
SAP FieldglassのJDBC Driver をデプロイしたら、レポートウィザードを使用して新しいレポートにSAP Fieldglass のデータを追加できます。
- File -> New -> Standard Report をクリックします。
- Create New Connection の下にあるJDBC (JNDI) を展開し、Make a New Connection をダブルクリックします。
- CData JDBC Driver for SAP Fieldglass を使用して接続文字列を作成します。
- APIKey:SAP Fieldglass API キー。これはオプションですが、API キーが必要であることを示すSAP Fieldglass からのエラーが発生した場合は、SAP Fieldglass 管理者に依頼するか、SAP Fieldglass Integration Tools にログインしてCreate API Application をクリックします。
- OAuthClientId:SAP Fieldglass 担当者から取得したOAuth Client ID。
- OAuthClientSecret:SAP Fieldglass 担当者から取得したOAuth Client Secret。
- EnvironmentURL:SAP Fieldglass 担当者から取得したSAP Fieldglass Environment URL。
ウィザードでJDBC 接続URL を入力します。
jdbc:sapfieldglass:EnvironmentURL='https://myinstance.com';Username=myuser;Password=mypassword;APIKey=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx;
ドライバークラス名を設定します。
cdata.jdbc.sapfieldglass.SAPFieldglassDriver
- レポートに必要なテーブルを選択します。
- SAP Crystal Reports でSAP Fieldglass のデータのテーブルをリンクすることもできます。テーブル間のリンクを追加したら、NEXT をクリックします。
- テーブルを選択したら、選択したテーブルからレポートに表示するフィールドを選び、NEXT をクリックします。
- レポート上の情報をグループ化するために「Group By」フィールドを選択します。
- 集計合計に基づいてグループを並べ替え、NEXT をクリックします。
JDBC URL の構成については、SAP Fieldglass JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインからjar ファイルを実行します。
java -jar cdata.jdbc.sapfieldglass.jar
資格情報の取得
SAP Fieldglass の担当者に問い合わせ、OAuthClientId、OAuthClientSecret、EnvironmentURL を入手してください。SAP Fieldglass への接続
運用環境への認証を行うには、以下のように指定します。
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
JDBC URL を設定する際に、Max Rows 接続プロパティを設定することもできます。これにより返される行数が制限され、レポートやビジュアライゼーションをデザインする際のパフォーマンス向上に役立ちます。
その後、グループ化、並べ替え、集計を設定できます。集計とサマリーを使用してチャートを作成するには、次のセクションを参照してください。
チャートの作成
グループ化するカラムを選択した後、標準レポート作成ウィザードでチャートを作成するオプションが表示されます。以下の手順に従って、Id カラムの値を集計するチャートを作成します。
- 標準レポート作成ウィザードで、Bar Chart オプションを選択し、「On change of」メニューでグループ化したカラムを選択します。
- Show Summary メニューで、作成した集計を選択します。
- 必要に応じてフィルターとテンプレートを選択し、ウィザードを完了します。
レポートのテンプレートを選択すると、完成したレポートをプレビューし、データが入力されたチャートを表示できます。
完成したレポート
レポートに最初に指定したすべてのフィールドが含まれていることを確認できます。
リモートデータの操作
データの更新を確認するには、File をクリックし、「Save Data with Report」オプションをオフにします。レポートを操作すると(例えば、詳細にドリルダウンすると)、Crystal Reports はレポートの表示に必要なデータを取得するためにSQL クエリを実行します。すでに取得したデータを再読み込みするには、レポートを更新または再実行します。
詳細要素を非表示にし、サーバー側グループ化を有効にすることで、ドライバーに処理をオフロードできます。これを行うには、レポート作成ウィザードでグループ化するカラムを選択する必要があります。
- File -> Report Options をクリックし、「Perform Grouping On Server」オプションを選択します。
- Report -> Section Expert をクリックし、レポートのDetails セクションを選択します。「Hide (Drill-Down OK)」オプションを選択します。
詳細を非表示にしてレポートをプレビューすると、Crystal Reports はGROUP BY クエリを実行します。チャートのカラムをダブルクリックして詳細にドリルダウンすると、Crystal Reports は必要なデータのみを取得するSELECT WHERE クエリを実行し、読み込み時間を短縮します。
これで、SAP Crystal Reports とCData JDBC Driver を使用して、SAP Fieldglass のデータに基づくSAP Crystal レポートが作成できました。CData JDBC Driver for SAP Fieldglass の詳細と無料トライアルのダウンロードについては、SAP Fieldglass JDBC Driver ページをご覧ください。ご不明な点がございましたら、サポートチームまでお問い合わせください。