ChangeSynergy::ReportEntry
ChangeSynergy::ReportEntry クラスは、サーバーに対してレポートをインポートまたはエクスポートする際にクラス・セットの一部として使用されます。 すべての ReportEntry オブジェクトには、1 つの QueryEntry オブジェクトおよび 1 つ以上の SubReportEntry オブジェクトが含まれています。これらのオブジェクト・セットによって、標準 Change レポート構成エントリーが構成されます。このクラスは、「Column」レポートについて以下に示されているように、CCM_REPORT 項目を表します。
[CCM_REPORT] [NAME]Column[/NAME] [QUERY]すべての CR[/QUERY] [PROBLEM_DEF]column_cr[/PROBLEM_DEF] [EXPORT_FORMAT]HTML[/EXPORT_FORMAT] [INCREMENTAL]true[/INCREMENTAL] [INCREMENT_SIZE]20[/INCREMENT_SIZE] [IMAGE_PATH]columnFormat.png[/IMAGE_PATH] [CUSTOM_DISPLAY_ORDER]0[/CUSTOM_DISPLAY_ORDER] [DESCRIPTION] 問題属性のリストを選択できるようにするカスタム・レポート形式。 問題番号および状況は他のフォームにリンクされます。 [/DESCRIPTION] [/CCM_REPORT]
これらのクラス 3 つすべてを手動で作成することも可能ではありますが、単にレポートをエクスポートし、変更してからインポートするか、レポートをファイルにエクスポートし、変更してからインポートするのが最適な方法です。これらの 3 つのクラスの設定はすべて変更できますが、設定の多くは変更しないでください (その変更内容を確実に把握している場合を除く)。これらの項目の変更は、定義済みのシステム・レポートの構成ファイル設定を変更するのとほぼ変わりません。
例:
eval { $csapi->setUpConnection("http", "machine", 8600);
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\machine\\ccmdb\\cm_database");
#Construct a new Globals object. my $globals = new ChangeSynergy::Globals(); #Export a CR report named 'Column' from the sysetm configuration my $reportEntry = $csapi->exportAReport($aUser, "Column", $globals->{PROBLEM_TYPE}, $globals->{SYSTEM_CONFIG}); print "\nreportEntry->getName : " . $reportEntry->getName(); print "\nreportEntry->getBaseName : " . $reportEntry->getBaseName(); print "\nreportEntry->getReportTemplate: " . $reportEntry->getReportTemplate(); print "\nreportEntry->getExportFormat : " . $reportEntry->getExportFormat(); print "\nreportEntry->getMaxQuery : " . $reportEntry->getMaxQuery(); print "\nreportEntry->getMaxString : " . $reportEntry->getMaxString(); print "\nreportEntry->getDescription : " . $reportEntry->getDescription(); print "\nreportEntry->getIncrementSize : " . $reportEntry->getIncrementSize(); print "\nreportEntry->getIncremental : " . $reportEntry->getIncremental(); print "\nreportEntry->getStyle : " . $reportEntry->getStyle(); print "\nreportEntry->getCustomDisOrder: " . $reportEntry->getCustomDisplayOrder(); print "\nreportEntry->getImagePath : " . $reportEntry->getImagePath(); };
if ($@) { print $@; }
scalar |
getBaseName() 当該レポートの基になるレポートの名前を取得します。どのレポートにも基づかない場合は、getName と同じ結果が返されます。 |
scalar |
getCustomDisplayOrder() インターフェースにアドホック・レポート形式が表示される順序 (0 から始まる) を取得します。 |
scalar |
getDescription() レポートの詳細を取得します。 |
scalar |
getExportFormat() レポートのエクスポート形式を取得します。これは、レポート結果のファイル拡張子を定義します。 |
scalar |
getIncremental() 当該レポートがページ分割を使用するかどうかを取得します。値は true または false です。 |
scalar |
getIncrementSize() ページ分割レポートにおける 1 ページの項目数を取得します。 |
scalar |
getMaxString() TEXT データ・タイプの属性の場合に取得する最大文字数を取得します。 |
scalar |
getMaxQuery() 当該レポートで返すことができる、データベースからの結果の最大数を取得します。 |
scalar |
getName() レポートの名前を取得します。上の構成例では、これは NAME タグのデータです。これは、レポート・インターフェースでユーザーに表示される名前です。 |
scalar |
getQueryEntry() 当該レポートがリンクされる CCM_QUERY 構成定義を表す L<QueryEntry> オブジェクトを取得します。 |
scalar |
getReportTemplate() レポート・インターフェースからレポート名がクリックされたときにロードされるテンプレートの名前を取得します。 |
scalar |
getStyle() レポートのスタイル・タイプを取得します。現在、チャート・レポートおよびマトリックス・レポートでのみ使用されます。 |
array |
getSubReports() 当該レポートの PROBLEM_DEF、TASK_DEF、および OBJECT_DEF の各項目を定義する L<SubReportEntry> オブジェクトの配列を取得します。 |
void |
setBaseName(scalar baseName) 当該レポートの基になるレポートの名前を設定します。レポートをインポートおよびエクスポートする場合は、これを設定する必要はありません。レポートをエクスポートおよびインポートすると、すべての構成エントリーがエクスポートされ、基本レポート・エントリーを検索する必要がないためです。 |
void |
setCustomDisplayOrder(scalar baseName) インターフェースにアドホック・レポート形式が表示される順序 (0 から始まる) を設定します。 |
void |
setDescription(scalar description) このレポートの詳細を設定します。これは、エンド・ユーザーがレポートを選択する際にレポート・インターフェースに表示されるテキストです。 |
void |
setExportFormat(scalar exportFormat) レポートのエクスポート形式を設定します。これは、レポート結果のファイル拡張子を定義します。例: 「HTML」や「TXT」。 |
void |
setIncremental(scalar incremental) 当該レポートがページ分割を使用するかどうかを設定します。値は true または false です。 |
void |
setIncrementSize(scalar incrementSize) ページ分割レポートにおける 1 ページの項目数を設定します。 |
void |
setMaxString(scalar maxString) TEXT データ・タイプの属性の場合に取得する最大文字数を設定します。 |
void |
setMaxQuery(scalar maxQuery) 当該レポートでクエリー機能が返すことができる結果の最大数を設定します。 |
void |
setName(scalar reportName) レポートの名前を設定します。上の構成例では、これは NAME タグのデータです。これは、レポート・インターフェースでユーザーに表示される名前です。 |
void |
setQueryEntry(scalar queryEntry) 当該レポートがリンクされる CCM_QUERY 構成定義を表す L<QueryEntry> オブジェクトを設定します。 |
void |
setReportTemplate(scalar reportTemplate) レポート・インターフェースからレポート名がクリックされたときにロードされるテンプレートの名前を設定します。レポート・テンプレートの例: 「TrendWithBreakdown」。 |
void |
setStyle(scalar style) レポートのスタイル・タイプを設定します。現在、チャート・レポートおよびマトリックス・レポートでのみ使用されます。 |
void |
setSubReports(array subreports) 当該レポートの PROBLEM_DEF、TASK_DEF、および OBJECT_DEF の各項目を定義する L<SubReportEntry> オブジェクトの配列を設定します。 |
void |
toXml(scalar xmlData) ReportEntry、QueryEntry、およびすべての SubReportEntry を XML ストリングに変換します。このストリングをファイル・システムに保存して再ロードし、ReportEntry オブジェクトを再構成できます。 |
当該レポートの基になるレポートの名前を取得します。どのレポートにも基づかない場合は、getName と同じ結果が返されます。
戻り値: スカラー 基本レポートの名前。
インターフェースにアドホック・レポート形式が表示される順序 (0 から始まる) を取得します。
戻り値: スカラー インターフェースにアドホック・レポートが表示される順序 (0 から始まる)。
レポートの詳細を取得します。詳細は、ユーザーがレポートをクリックしたときに Change レポート・インターフェースで表示されます。
戻り値: スカラー レポートの詳細。
レポートのエクスポート形式を取得します。これは、レポート結果のファイル拡張子を定義します。
戻り値: スカラー エクスポート形式 (ファイル拡張子)。
当該レポートがページ分割を使用するかどうかを取得します。値は true または false です。
戻り値: スカラー レポートがページ分割を使用する場合は true、それ以外の場合は false。
ページ分割レポートにおける 1 ページの項目数を取得します。
戻り値: スカラー ページ分割レポートに表示する項目の最大数。
TEXT データ・タイプの属性の場合に取得する最大文字数を取得します。
戻り値: スカラー 1 つの属性に対して返す最大文字数。
当該レポートで返すことができる、データベースからの結果の最大数を取得します。
戻り値: スカラー 戻される結果の最大数。
レポートの名前を取得します。これは、Change レポート・インターフェースでユーザーに表示される名前です。
戻り値: スカラー レポートの名前。
当該レポートがリンクされる CCM_QUERY 構成定義を表す QueryEntry オブジェクトを取得します。
戻り値: スカラー レポートのクエリー項目。
レポート・インターフェースからレポート名がクリックされたときにロードされるテンプレートの名前を取得します。レポート・テンプレートでは通常、ユーザーはレポートを実行する前に、さらに情報を入力するように求められます。レポート・テンプレートの例: 「TrendWithBreakdown」。
戻り値: スカラー レポート・テンプレートの名前。
レポートのスタイル・タイプを取得します。現在、チャート・レポートおよびマトリックス・レポートでのみ使用されます。
戻り値: スカラー レポートのスタイル。
当該レポートの PROBLEM_DEF、TASK_DEF、および OBJECT_DEF の各項目を定義する SubReportEntry オブジェクトの配列を取得します。
戻り値: 配列 サブレポート・エントリーの配列。
当該レポートの基になるレポートの名前を設定します。レポートをインポートおよびエクスポートする場合は、これを設定する必要はありません。レポートをエクスポートおよびインポートすると、すべての構成エントリーがエクスポートされ、基本レポート・エントリーを検索する必要がないためです。
パラメーター: スカラー: 基本レポートの名前。
例: my $reportEntry = $csapi->exportAReport($aUser, "My Report", $globals->{PROBLEM_TYPE}, $globals->{SHARED_PROFILE}); $reportEntry->setBaseName("Column");
インターフェースにアドホック・レポート形式が表示される順序 (0 から始まる) を設定します。この設定が影響するのは、インターフェースから「新規 (new)」リンクがクリックされたときに表示されるレポート形式に対してのみです。
パラメーター: スカラー: レポートが表示される順序。
例: my $reportEntry = $csapi->exportAReport($aUser, "My Report", $globals->{PROBLEM_TYPE}, $globals->{SHARED_PROFILE}); $reportEntry->setCustomDisplayOrder("12");
レポートの詳細 (Change レポート・インターフェースでエンド・ユーザーに表示されるテキスト) を設定します。
パラメーター: スカラー: レポートの詳細。
例: my $reportEntry = $csapi->exportAReport($aUser, "My Report", $globals->{PROBLEM_TYPE}, $globals->{SHARED_PROFILE}); $reportEntry->setDescription("HTML");
レポートのエクスポート形式を設定します。これは、レポート結果のファイル拡張子を定義します。例: 「HTML」や「TXT」。
パラメーター: スカラー: エクスポート形式タイプ。
例: my $reportEntry = $csapi->exportAReport($aUser, "My Report", $globals->{PROBLEM_TYPE}, $globals->{SHARED_PROFILE}); $reportEntry->setExportFormat("HTML");
当該レポートがページ分割を使用するかどうかを設定します。値は true または false です。
パラメーター: スカラー: レポートがページ分割を使用する場合は true、それ以外の場合は false。
例: my $reportEntry = $csapi->exportAReport($aUser, "My Report", $globals->{PROBLEM_TYPE}, $globals->{SHARED_PROFILE}); $reportEntry->setIncremental("true");
ページ分割レポートにおける 1 ページの項目数を設定します。
パラメーター: スカラー: ページ分割レポートで 1 ページに表示する結果の最大数。
例: my $reportEntry = $csapi->exportAReport($aUser, "My Report", $globals->{PROBLEM_TYPE}, $globals->{SHARED_PROFILE}); $reportEntry->setIncrementSize("20");
データ・タイプが TEXT の属性が返すことができる最大文字数を設定します。属性の文字数が最大値を超える場合は、最大値を超える文字が切り捨てられます。この設定が省略された場合は、レポートは pt.cfg ファイルに定義された MAX_STRING を使用します。
パラメーター: スカラー: TEXT タイプで許可される最大文字数。
例: my $reportEntry = $csapi->exportAReport($aUser, "My Report", $globals->{PROBLEM_TYPE}, $globals->{SHARED_PROFILE}); $reportEntry->setMaxString("32000");
当該レポートでクエリー機能が返すことができる結果の最大数を設定します。クエリーで最大値を超える結果が検出された場合は、検出された結果数が多過ぎることを示すエラーがユーザーに返されます。この設定が省略された場合は、レポートは pt.cfg ファイルに定義された MAX_QUERY を使用します。
パラメーター: スカラー: 許可する結果の最大数。
例: my $reportEntry = $csapi->exportAReport($aUser, "My Report", $globals->{PROBLEM_TYPE}, $globals->{SHARED_PROFILE}); $reportEntry->setMaxQuery("2000");
レポートの名前を設定します。これは、Change レポート・インターフェースでユーザーに表示される名前です。 レポート名は固有でなければならず、そうでない場合には csapiimportAReport は失敗します。
パラメーター: スカラー: レポートのインポート時にレポートに付けられる名前。
例: my $reportEntry = $csapi->exportAReport($aUser, "My Report", $globals->{PROBLEM_TYPE}, $globals->{SHARED_PROFILE}); $reportEntry->setName("Imported Report");
当該レポートがリンクされる CCM_QUERY 構成定義を表す QueryEntry オブジェクトを設定します。クエリー項目にはレポートが実行時に使用するクエリー・ストリングが含まれているため、レポートにはクエリー項目を設定する必要があります。
パラメーター: スカラー: 当該レポートのクエリー情報が含まれたクエリー項目。
例: my $reportEntry = $csapi->exportAReport($aUser, "My Report", $globals->{PROBLEM_TYPE}, $globals->{SHARED_PROFILE}); my $queryEntry = new ChangeSynergy::QueryEntry(); $queryEntry->setName("query"); $queryEntry->setQueryString("()cvtype='problem')"); $reportEntry->setQueryEntry($queryEntry);
レポート・インターフェースからレポート名がクリックされたときにロードされるテンプレートの名前を取得します。レポート・テンプレートでは通常、ユーザーはレポートを実行する前に、さらに情報を入力するように求められます。レポート・テンプレートの例: 「TrendWithBreakdown」。
パラメーター: スカラー: レポート・テンプレートの名前。
例: my $reportEntry = $csapi->exportAReport($aUser, "My Report", $globals->{PROBLEM_TYPE}, $globals->{SHARED_PROFILE}); $reportEntry->setReportTemplate("TrendWithBreakdown");
レポートのスタイル・タイプを設定します。現在、チャート・レポートおよびマトリックス・レポートでのみ使用されます。有効な値は、VBarChart、HBarChart、LineChart、PieChart、および Matrix です。
パラメーター: スカラー: レポートのスタイル。
例: my $reportEntry = $csapi->exportAReport($aUser, "My Report", $globals->{PROBLEM_TYPE}, $globals->{SHARED_PROFILE}); $reportEntry->setStyle("VBarChart");
当該レポートの PROBLEM_DEF、TASK_DEF、および OBJECT_DEF の各項目を定義する SubReportEntry オブジェクトの配列を設定します。 すべてのレポートには、少なくとも 1 つのサブレポート・エントリーを設定する必要があります。
パラメーター: 配列: サブレポート・エントリーのリスト。
例: my $reportEntry = $csapi->exportAReport($aUser, "My Report", $globals->{PROBLEM_TYPE}, $globals->{SHARED_PROFILE}); my @subReports = (); push @subReports, new ChangeSynergy::SubReportEntry(CCM_PROBLEM, CCM_TASK or CCM_OBJECT entry); $reportEntry->setSubReports(\@subreports);
ReportEntry、QueryEntry、およびすべての SubReportEntry を XML ストリングに変換します。このストリングをファイル・システムに保存して再ロードし、ReportEntry オブジェクトを再構成できます。
戻り値: 配列 オブジェクトを表す XML データ。
例: my $reportEntry = $csapi->exportAReport($aUser, "My Report", $globals->{PROBLEM_TYPE}, $globals->{SHARED_PROFILE}); my $file = $reportEntry->getName() . ".xml"; open(OUTPUT, ">$file"); print(OUTPUT $reportEntry->toXml()); close(OUTPUT);