ClearQuest HOOK代码生成图&报表
[Rational ClearQuest CQ]
[图 报表 Chart Report]
调用 Rational ClearQuest API 生成图
在介绍调用 Rational ClearQuest API 生成图表之前,有必要对 API 中定义的 WorkSpace 对象作一个介绍,Rational ClearQuest 的 WorkSpace 包含查询,图表存储的目录层次关系。WorkSpace 对象主要就是用来储存这些信息,在代码中我们可以通过调用 Session 对象的 GetWorkSpace 方法得到 WorkSpace 对象。
在 Rational ClearQuest API 中,定义了 ChartMgr 对象,该对象提供了创建图的接口。值得注意的是,ChartMgr 对象只支持 Windows 系统下的绘图。
在 Windows 系统下调用 Rational ClearQuest API 生成图可以分为以下几个步骤:
1. 通过调用 Session 对象的 GetWorkSpace 方法得到 WorkSpace 对象
2. 调用 WorkSpace 对象的 GetCharMgr 方法得到 ChartMgr 对象
3. 创建查询的结果集,用 Execute 方法得到查询结果
4. 调用 ChartMgr 对象的 SetResultSet 方法设定图中包含的数据
5. 调用 ChartMgr 对象的 MakeJPEG 或 MakePNG 方法生成图,并存储于指定的文件路径中
下面的代码是调用 Rational ClearQuest API 生成图的例子:
VBScript example:
'创建 WorkSpace 对象
Set WorkSpace = curSession.GetWorkSpace
Set ChartDef = WorkSpace.GetChartDef "Personal Queries/Sample_Chart"
'创建结果集
Set Result = curSession.BuildResultSet(ChartDef)
Result.SetMaxRowsInMemory(1000)
Result.Execute
'创建 ChartMgr 对象
Set chartMgr = WorkSpace.GetChartMgr
chartMgr.SetResultSet Result
'生成图
chartMgr.MakeJPEG "C:\\ Chart.jpg"
Perl example:
# 创建 WorkSpace 对象
my $WorkSpace = $curSession->GetWorkSpace();
my $ChartDef = $WorkSpace->GetChartDef("Personal Queries/Sample_Chart");
# 创建结果集
my $Result = $curSession->BuildResultSet($ChartDef);
$Result->SetMaxRowsInMemory(1000);
$Result->Execute();
# 创建 ChartMgr 对象
my $chartMgr = $WorkSpace->GetChartMgr();
$chartMgr->SetResultSet($Result);
# 生成图
$chartMgr->MakeJPEG("C:\\ Chart.jpg");
'----------------------------------------------------------------
调用 Rational ClearQuest API 生成报表
在 Rational ClearQuest API 中,定义了 ReportMgr 对象,该对象提供了创建报表的接口。值得注意的是,ReportMgr 对象也只支持 Windows 系统下报表的创建。
在 Windows 系统下调用 Rational ClearQuest API 生成报表可以分为以下几个步骤:
1. 通过调用 Session 对象的 GetWorkSpace 方法得到 WorkSpace 对象
2. 调用 WorkSpace 对象的 GetReportMgr 方法得到 ReportMgr 对象
3. 调用 ReportMgr 对象的 SetHTMLFileName 方法设定报表文件存储路径
4. 调用 ReportMgr 对象的 ExecuteReport 方法生成报表
下面的代码是调用 Rational ClearQuest API 生成报表的例子:
VBScript example:
'创建 WorkSpace 对象
Set WorkSpace = curSession.GetWorkSpace
'创建 ReportMgr 对象
Set reportMgr = WorkSpace.GetReportMgr "Personal Queries/Sample_report"
reportMgr.SetHTMLFileName "C:\\Report.html"
'生成报表
reportMgr.ExecuteReport
Perl example:
# 创建 WorkSpace 对象
my $WorkSpace = $curSession->GetWorkSpace();
# 创建 ReportMgr 对象
my $reportMgr = $WorkSpace->GetReportMgr ("Personal Queries/Sample_report" );
$reportMgr->SetHTMLFileName("C:\\Report.html");
# 生成报表
$reportMgr->ExecuteReport();
转自 IBM developerWorks中国
阅读(1282) | 评论(0) | 转发(0) |