このトピックでは、既存のレポートに基づいてカスタム レポートを作成する方法について説明します。使用できるテーブル、ストアド プロシージャ、およびビューの詳細については、「PrintAccounting データベースの使用可能なテーブル、ストアド プロシージャ、およびビュー」を参照してください。
レポートを最初から作成する方法については、「新しい Crystal レポートの作成と PRISMAdirect への追加」を参照してください。
1.PRISMAdirect のデフォルト レポートをダウンロードする
「[設定] 」ワークスペースを開きます。
「[システム] 」-「[会計とレポート] 」-「[アカウンティング] 」-「[アカウンティング設定] 」をクリックします。
「[アカウンティングを有効化する] 」オプションを有効にします。
「[システム] 」-「[会計とレポート] 」-「[レポート] 」-「[レポートのアップロード先およびダウンロード先フォルダ] 」をクリックします。
レポート フォルダへのパスを入力します。たとえば、C:\\MyReports です。PRISMAdirect のサーバーでレポート フォルダを作成する必要があります。レポート フォルダには、「[レポート] 」ワークスペースで生成されたレポートが保存されます。
「[受注処理] 」ワークスペースを開き、オーダーを確定します。
オーダーを確定すると、使用可能なアカウンティング情報がいくつかのチケット アイテムの値とともにデータベースに保存されます。たとえば、用紙やシートに関する情報です。
「[レポート] 」ワークスペースを開きます。
作成するカスタム レポートとの共通点が最も多いレポートを選択します。「[レポートの作成] 」をクリックします。
「[レポートの保存] 」をクリックして、「Crystal Reports (RPT)」を選択します。
レポートはレポート フォルダにダウンロードされます。この例では、C:\\MyReports です。
レポート フォルダに移動し、レポートの名前を変更します。たとえば、レポートの名前を「Available job items extended.rpt」に変更できます。
2.PrintAccounting データベースを Crystal Reports で使用できるようにする
Crystal Reports を開き、レポートを開きます。
「Database (データベース)」-「Database Expert (データベース エキスパート)」をクリックします。
<コンピュータ名>\Printroom をダブルクリックして、PrintAccounting データベースにログインします。
自動的に表示される「OLE DB (ADO)」ダイアログ ボックスに、ユーザー sa のパスワードを入力します。ユーザー sa のパスワードは、PRISMAdirect のインストール時に定義したものです。
「[終了] 」をクリックします。
PrintAccounting データベースを Crystal Reports で使用できるようになりました。
3.PrintAccounting データベースのアイテムを追加してレポートをカスタマイズする
「Database Expert (データベース エキスパート)」ダイアログ ボックスを見ると、選択したデフォルト レポートに JobItems テーブルが含まれています。この例では、カスタマイズ済みのレポートに 1 つ以上のカスタム ジョブ アイテムを追加します。
ストアド プロシージャはレポートごとに 1 つだけ使用します。レポートですでにストアド プロシージャを使用している場合は、追加のテーブルやストアド プロシージャを選択しないでください。レポートで複数のストアド プロシージャを使用すると、特に多くのレコードのあるデータベースで深刻なパフォーマンス上の問題につながる可能性があります。
レポートを作成する際は、複数のテーブルまたは 1 つのストアド プロシージャを選択できます。各テーブルにはチケット アイテムの限定されたセットが含まれています。ストアド プロシージャは、1 つの実行計画にまとめられた SQL ステートメントのグループです。次のストアド プロシージャのいずれかをレポートごとに選択できます。
uspGetAllOrdersItems
オーダー レベルのカスタム チケット アイテムを含むすべてのオーダー チケット アイテムが含まれています。
uspGetAllJobsItems
ジョブ レベルのカスタム チケット アイテムを含むすべてのジョブ チケット アイテムが含まれています。
uspGetOrderJobsItems
オーダー レベルとジョブ レベルのカスタム チケット アイテムを含む、すべてのオーダー チケット アイテムとジョブ チケット アイテムが含まれています。
画面の右側で JobItems テーブルを選択して「<」をクリックすると、このテーブルが削除されます。
ストアド プロシージャに移動し、uspGetAllJobsItems を選択して「>」をクリックすると、これが選択したテーブルに追加されます。このストアド プロシージャには、すべてのジョブ アイテム (デフォルト アイテムとカスタム アイテムの両方) が含まれています。
「Enter Values (値の入力)」ダイアログ ボックスが自動的に表示されます。
@DumpDataInTempTable には False を選択します。
@TempTable には一意の名前 (「table1」など) を入力します。
@selectedColumns:
この手順の後のほうで、レポートに表示するフィールドを選択できます。そのステップでは、使用可能なフィールドのセットから選択できます。
使用可能なフィールドをすべて表示するには、「Set to Null (NULL に設定)」オプションを有効にします。
使用可能なフィールドのサブセットだけを表示するには、このパラメータで目的のフィールド名を指定します。各フィールド名はコンマで区切ります。
有効な WHERE 句を使用して、ストアド プロシージャの結果をフィルタリングできます。WHERE 句は SQL クエリの条件です。WHERE 句を含めることのできるパラメータの名前は、選択したストアド プロシージャによって異なります。この例ではプロシージャ uspGetAllJobsItems が選択されているため、パラメータ名は @jobsFilter です。
ストアド プロシージャの結果をフィルタリングするには、このパラメータに有効な WHERE 句を入力します。
たとえば、ストアド プロシージャ uspGetAllJobsItems は JobItems および JobCustomItems テーブルに問い合わせます。JobItems テーブルには JobNumber 列が含まれています。それで、@jobsFilter パラメータで JobNumber > 5 AND JobNumber < 20 を使用して結果をフィルタリングできます。
ストアド プロシージャの結果をフィルタリングしない場合は、このパラメータを空のままにしておきます。「Set to Null (NULL に設定)」は選択しません。
「OK」をクリックします。
「OK」をクリックして、「Database Expert (データベース エキスパート)」ダイアログ ボックスを閉じます。
メッセージ「A stored procedure has been used in this report. Please make sure … (ストアド プロシージャがこのレポートで使用されました。確認してください...)」が表示された場合は、「OK」をクリックします。続いてメッセージ「Refresh report data? (レポート データを更新しますか?)」が表示された場合は、「OK」をクリックします。
「View (表示)」-「Field Explorer (フィールド エクスプローラ)」をクリックします。
ストアド プロシージャを展開し、カスタム レポートに追加するアイテムを見つけます。
そのアイテムを右クリックし、「Insert to report (レポートに挿入)」を選択します。
レポートにアイテムが追加されます。
新しいカスタム ジョブ アイテムを収納できるようにレポートを設定します。
レポートに対してアイテムの追加や削除を実行できます。それに応じてレポートの設計を変更します。
「Report (レポート)」-「Refresh Report Data (レポート データの更新)」をクリックします。
「Use current parameter values (現在のパラメータ値を使用)」を選択して「OK」をクリックします。
レポートのプレビューが表示されます。レポート内には新しく追加したアイテムの現在の値が表示されます。レポートが正しいかどうか確認してください。
「File (ファイル)」-「Save (保存)」をクリックします。
4.カスタム レポートを PRISMAdirect にアップロードする
「[レポート] 」ワークスペースを開きます。
「[オプション] 」 - 「[カスタムレポートのアップロード] 」をクリックします。
該当する RPT ファイルを参照します。
「[開く] 」をクリックします。
「[レポート] 」ワークスペースにレポートが追加されます。
これで、PRISMAdirect で該当するレポートを生成できます。レポートには新しい Custom item (カスタム アイテム) が含まれています。