高度なカスタマイズ > ビジネスロジックのカスタマイズ > レポートの生成 > カスタム Windchill ページからのレポートの起動
カスタム Windchill ページからのレポートの起動
レポートを実行するには、次の 2 つの方法があります。
Windchill UI 操作を使用
Java サービス API を呼び出し
Windchill UI 操作を使用したレポートの実行
1. 要件に従って Windchill操作操作モデルを作成し、「操作」をクリックして JSP ページを開きます。
* 
詳細については、「新規操作の定義」および「新規操作モデルの定義」を参照してください。
2. JSP ファイルを作成します。
3. TLD ファイルの依存を追加します。たとえば、次のようになります。
<%@taglib uri="http://www.ptc.com/windchill/taglib/executeReport" prefix="Report"%>
4. レポートの要件に従ってリクエスト基準パラメータを送信して値を追加する HashMap を作成します。たとえば、次のようになります。
<%
HashMap reportCriteriaMap = new HashMap<String, Object>();
reportCriteriaMap.put("IDA2A2", "7940920");
%>
5. HashMap reportParamMap="<%= reportCriteriaMap%>" を TLD ファイルに渡して処理を進めます。たとえば、次のようになります。
<Report:executeReport reportParamMap="<%=reportCriteriaMap%>" />
6. レポートオブジェクト識別子を指定して JSP ファイルを実行することで、レポートを生成します。たとえば、次のようになります。
http://vagrant.ptcnet.ptc.com:2280/Windchill/netmarkets/jsp/report/xyz.jsp?oid=com.ptc.windchill.enterprise.report.Report:198531
* 
クエリーパラメータはレポート OID でなければなりません。
サポートされている API を使用したレポートの実行
* 
次の方法は、読み取り形式でレポートを実行するときにのみ使用します。レポートの修正に使用してはなりません。
1. レポートモジュールでのレポートの実行用に、サービス API の次の 4 つのパラメータが公開されています。
Windchill レポートオブジェクト (com.ptc.windchill.enterprise.report.Report.java) の WTReference
レポートの要件に従って Map によって送信されるリクエスト基準パラメータ。たとえば、次のようになります。
Map<String, String> reportCriteriaMap = new HashMap<String, String>();
reportCriteriaMap.put("IDA2A2", “1234”);
レポートフォーマットタイプ。
* 
ReportFormatType 列挙は ReportServiceHelper.executeThirdPartyReport() で使用されます。これはインデックス値を ReportServiceHelper.executeThirdPartyReport() に渡します。
たとえば、次のレポートフォーマットタイプを使用します。
(ReportFormatType.REP_HTML, ReportFormatType.REP_XML,
ReportFormatType.REP_PDF, ReportFormatType.REP_CSV,
ReportFormatType.REP_EXCEL)
ファイル出力ストリーム。
* 
このオブジェクトはストリーム作成者がクローズする必要があります。ReportServiceHelper.executeReport () メソッドは出力ストリームオブジェクトをクローズしません。
2. 上記の 4 つのパラメータを使用して、次のメソッドを呼び出します。
ReportServiceHelper.executeReport (WTReference reference, Map params, ReportFormatType reportFormatType, OutputStream output)
3. ファイル出力ストリームを使用してレポートを起動します。
Windchill レポートテンプレートに基づくレポートの場合、次のパラメータを追加してレポートを実行する必要があります。
* 
次のパラメータは com.ptc.windchill.enterprise.report.ReportServiceHelper.java クラスで定数として指定されています。
パラメータ名
説明
FORMAT
生成されたレポートのフォーマットを指定します。
委任フォーマットでレポートを生成するには、FORMAT_DELEGATE と指定します。
DELEGATE_NAME
委任フォーマットの名前を指定します。
PDF フォーマットでレポートを生成するには、PDF と指定します。
XML フォーマットでレポートを生成するには、XML と指定します。
CSV フォーマットでレポートを生成するには、CSV と指定します。
並べ替えを行って HTML フォーマットでレポートを生成するには、HTML_WITH_SORTING と指定します。
マージを行って HTML フォーマットでレポートを生成するには、HTML_WITH_MERGING と指定します。
並べ替えとマージを行って HTML フォーマットでレポートを生成するには、HTML_WITH_SORTING_AND_MERGING と指定します。
SORT_ORDER
生成されたレポートの並べ替え順序を指定します。
レポートを昇順で並べ替えるには、SORT_ASCENDING と指定します。
レポートを降順で並べ替えるには、SORT_DESCENDING と指定します。
SORT_BY_INDEX
生成されたレポートの並べ替え順序をコラムインデックスによって指定します。
IGNORE_CUSTOM_INPUT_PAGE
カスタム入力ページを無視するには、true と指定します。
カスタム入力ページを表示するには、false と指定します。
例 1
CSV タイプのレポートを実行する場合、次のパラメータを追加します。
Map<String, String> parameters = new HashMap<String, String>();
parameters.put(ReportServiceHelper.DELEGATE_NAME , ReportServiceHelper.CSV);
parameters.put(ReportServiceHelper.FORMAT , ReportServiceHelper.FORMAT_DELEGATE);
parameters.put(ReportServiceHelper.IGNORE_CUSTOM_INPUT_PAGE, “true”);
例 2
並べ替えた順序でレポートを実行する場合、次のパラメータを追加します。
Map<String, String> parameters = new HashMap<String, String>();
parameters.put(ReportServiceHelper.DELEGATE_NAME, ReportServiceHelper.HTML_WITH_SORTING_AND_MERGING);
parameters.put(ReportServiceHelper.FORMAT, ReportServiceHelper.FORMAT_DELEGATE);
parameters.put(SORT_ORDER, SORT_ASCENDING);
parameters.put(SORT_BY_INDEX, "2"); // Sort by column index
これは役に立ちましたか?