高度なカスタマイズ > ビジネスロジックのカスタマイズ > レポートの生成 > Info*Engine タスクデータソースのレポートのカスタマイズ
  
Info*Engine タスクデータソースのレポートのカスタマイズ
目的
レポートで使用する、プログラムによる新しい Windchill データ読み込みタスクを作成します。
バックグラウンド
Windchill Business Reporting (WBR) ソリューションでは、データソースオブジェクトを使用して Windchill からデータを読み込みます。データソースのタイプの 1 つは、Info*Engine タスクです。Info*Engine タスクは、プログラム構文を使用して Windchill データの読み込みと操作を行うテキストベースのドキュメントです。このタスクは、テーブルフォーマットでデータを返す必要があります (各要素の属性の数が同じである必要があります)。また、このタスクを特殊なタグと構文でコメント化して、WBR データソースとして定義する必要があります。
範囲/適用可能性/前提条件
このマニュアルでは、Windchill Business Reporting (WBR) ソリューション (Cognos など) が正常にインストールおよび設定されていることを前提としています。Windchill のインスタンス名は <Windchill インスタンス名> です。Cognos のルート URL は <WBR_ホーム_URL> です。通常、WBR ソリューションが <WBR ホスト> にインストールされている場合、<WBR_ホーム_URL> は http://<WBR ホスト>/cognos8/cgi-bin/cognos.cgi になります。<WBR_ホーム_URL> にログインでき、Windchill データソースオブジェクトを表示してレポートを作成する Cognos 権限があることを前提とします。
Windchill サーバータスクディレクトリ <Windchill_ホーム>/tasks へのアクセス権があり、サブディレクトリ <マイタスクパッケージ> で Info*Engine タスク <マイタスク> を作成することを前提とします。
WBR 統合では、レポートメタモデルを更新するためのアクセス権限も必要です。
このマニュアルでは、Info*Engine タスクを構築する方法については説明していません。詳細については、Info*Engine User's Guide を参照してください。
予測される結果
このソリューションの最終結果は、Cognos レポートの作成に使用できるデータソースの作成です。
ソリューション
Info*Engine タスクデータソースを構築します。
手順 - Info*Engine タスクデータソースの作成
1. <Windchill_ホーム>/tasks/<マイタスクパッケージ> で Info*Engine タスクの XML ファイルを作成します。
2. テーブルフォーマットで結果を返すレポートタスクを記述します。これは、特定の追加規則に従う、ほかの点では通常の Info*Engine タスクです。まず、各列に同じタイプのオブジェクトがあるテーブルグループが返されます。使用可能な列タイプは以下のとおりです。
java.lang.Boolean
java.lang.Long
java.lang.String
java.sql.Timestamp
java.util.Date
java.lang.Double
com.ptc.core.meta.common.FloatingPoint
com.ptc.core.meta.common.Hyperlink
java.math.BigDecimal
3. WBR データソースパラメータ情報をタスクコメントに追加します。パラメータコメントは 0 個以上にすることができます。指定する各パラメータは、1 行に収める必要があります。パラメータコメントの構文は以下のとおりです。
@param <type> <name> <description>
ここで、<タイプ> はパラメータの Java タイプ、<名前> はパラメータの名前、<説明> はパラメータの説明です。使用可能なパラメータタイプは以下のとおりです。
java.lang.Boolean
java.lang.Long
java.lang.String
java.sql.Timestamp
java.util.Date
java.lang.Double
java.math.BigDecimal
4. WBR データソース列情報を "return" タスクコメントに追加します。列情報は、このタスクがデータソースと見なされるように適切なフォーマットで指定する必要があります。列コメントの構文は以下のとおりです。
@return <type> ${<variableName>} {columns: <columnList>}
ここで、<type> は Info*Engine タスクの出力タイプ、<variableName> は返されるタスク変数への参照、<columnList> は出力のテーブルフォーマットの説明です。<タイプ> と {<変数名>} の詳細については、Info*Engine User's Guide の「SOAP コメント」セクションを参照してください。列は、テーブル出力の各列について 1 つまたは複数のタイプおよび名前のペアをコンマで区切ったリストです。タイプと名前は空白で区切られます。使用可能な列タイプは以下のとおりです。
java.lang.Boolean
java.lang.Long
java.lang.String
java.sql.Timestamp
java.util.Date
java.lang.Double
com.ptc.core.meta.common.FloatingPoint
com.ptc.core.meta.common.Hyperlink
java.math.BigDecimal
5. タスクをメソッドとして ReportTask タイプに追加します。タスクファイルと同じディレクトリに、".delegateInfo" という名前のファイルを作成します。ファイルには以下の 2 行を含める必要があります。
repositoryType=com.ptc.windchill
typeId=com.ptc.windchill.enterprise.report.ReportTask
6. <マイタスク> のパッケージを作成してインストールします。Info*Engine User's Guide の「上級ユーザーのトピック」> 「パッケージ」を参照してください。
7. Cognos モデルを更新して、この新しいデータソースを認識します。インストールされている Windchill のショートカットから JConsole を起動します。Embedded Servlet Engine (Tomcat ベース) JVM インスタンスに接続します。「MBeans」タブで「com.ptc」 > 「Monitors」 > 「ReportingSystem」の順に選択して、レポート管理ビーンを選択します。「Operations」タブで「updateModel」をクリックします。
8. Cognos にデータソースが存在することを確認します。<WBR_ホーム_URL> を使用して Cognos にログインし、"Report Studio" を起動します。「Insertable Objects」ウィンドウの「Source」タブの「Windchill」 > 「Report Tasks」 > 「com.ptc.windchill.enterprise.report.ReportTask」の下で、<マイタスク> データソースを見つけます。
以下は、データソースのタスクコメントの例です。
<!--com.infoengine.soap.rpc.def
Report Task Example.
@param java.lang.String param1 A string parameter named param1.
@param java.lang.Long param2 A numeric parameter named param2.
@return INFOENGINE_GROUP ${out} {columns: java.lang.String
name, com.ptc.core.meta.common.Hyperlink url, java.util.Date
deadline, java.math.BigDecimal duration}
-->
カスタマイズポイント
手順 - 別のタイプでの Info*Engine タスクデータソースの作成
前述の基本手順では、デフォルトのレポートタイプ com.ptc.windchill.enterprise.report.ReportTask を使用して Info*Engine タスクが作成されました。このタイプは、「Source」タブの「Windchill」 > 「Report Tasks」 > 「com.ptc.windchill.enterprise.report.ReportTask」レベルに関連付けられています。レポートタスクタイプは、データソースを論理的にグループ化するために使用できます。基本手順に準じる手法として、別のタイプ "myPackage.MyReportTask" で Info*Engine タスクを作成する方法があります。
1. このタイプは、プロパティ「com.ptc.windchill.enterprise.report.reportTaskClassNames」で指定されたレポートタイプのコンマ区切りリストに追加する必要があります。
2. このプロパティは、Info*Engine タスクデータソースの作成手順のステップ 7 を実行する前に変更する必要があります。
3. Info*Engine タスクデータソースの作成手順のステップ 5 で、typeId の .delegateInfo エントリによって "myPackage.MyReportTask" が指定されます。
4. Info*Engine タスクデータソースの作成手順のステップ 8 で、データソースが「Windchill」 > 「レポートタスク」> 「myPackage.MyReportTask」で使用できるようになります。
手順 - Info*Engine タスクデータソースの削除
必要なくなった Info*Engine タスクデータソースは、Windchill から削除して Cognos モデルを更新することによって、システムから除去できます。また、タスクコメントをデータソースとして認識されないように除去できます。
1. タスクを除去するには、パッケージをアンインストールして、XML ファイルをタスクディレクトリから除去します。
2. 次に、Info*Engine タスクデータソースの作成手順のステップ 3 に従って、Cognos モデルを更新します。
制限事項
.delegateInfo ファイルの typeId は、SOAP クラスにマッピングされます。また、タスクファイル名は、クラス内の SOAP メソッドにマッピングされます。これらの名前には両方とも、Java 識別子として有効な文字のみを使用できます。さらに、すべてのメソッドは特定のクラスに対して一意である必要があります。各タスク名は、特定の typeId に対して一意である必要があります。
サンプルコード
Windchill コードでの使用例
Info*Engine タスクデータソースを使用する定義済みレポートが複数あります。これらのデータソースは、「Source」タブの「Windchill」 > 「Report Tasks」 > 「com.ptc.windchill.enterprise.report.ReportTask」レベルにリストされています。これらのデータソースは、Cognos レポートの作成に使用できます。ただし、関連する Info*Engine タスクの直接修正はサポートされていません。
パッケージ化されたサンプル
デモの Info*Engine タスクデータソース ContextItems は、「Source」タブの「Windchill」 > 「Report Tasks」 > 「com.ptc.windchill.enterprise.report.ReportTask」レベルで使用できます。タスクソースは、<Windchill_ホーム>/tasks/com/ptc/windchill/enterprise/reports/ContextItems.xml にあります。これにより、すべての部品とドキュメントの和集合が指定のコンテキストで読み込まれます。
その他のリソース
関連する最良事例
レポート - ReportTemplate データソースのカスタマイズ
レポート - Cognos プレゼンテーションのカスタマイズ
関連パッケージ/クラスの Javadoc
レポートモジュール
com.ptc.windchill.enterprise.report
関連カスタマイズドキュメント
なし
その他の関連 Windchill ドキュメント
Info*Engine User's Guide (Prerequisite)
Info*Engine Implementation Guide
Windchill Specialized Administration Guide
関連 Web サイト
http://support.cognow.com/support