名称

ChangeSynergy::CreateReportDefinition


描述

同时使用 ChangeSynergy::CreateReportDefinition 类和 csapi createReport API,以根据现有报告创建新的 Change 报告。

此 API 的用法示例:

my $csapi = new ChangeSynergy::csapi();

	eval
	{
		$csapi->setUpConnection("http", "machine", 8600);
		my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\machine\\ccmdb\\cm_database");
		
		#Create an instance of the CreateReportDefinition class.

		my $reportDef = new ChangeSynergy::CreateReportDefinition();
	
		#Set the required attributes.
		$reportDef->setName("API Created Report");
		$reportDef->setBaseReport("Column");
		$reportDef->setQueryString("(cvtype='problem') and (crstatus='entered')");
		
		#Set optional attributes

		$reportDef->setDescription("This report was created via the Perl API");
		$reportDef->setIncrementSize(7); #Only see 7 items per page.
		$reportDef->setFolderName("API Folder"); #Place the report into a folder named 'API Folder'
		
		#Change the list of attributes from a column report. Initial attributes are problem_number, crstatus and problem_synopsis.
		#Changing to just be problem_number and enterer.

		my @attributeLists = ();
		push @attributeLists, "problem_number:0:false|enterer:1:false";
		$reportDef->setAttributes(\@attributeLists);
		
		#Sort first by enterer as a string and secondarily sort the problem number.

		my @sortOrderList = ();
		push @sortOrderList, "enterer:string:A|problem_number:intb:A";
		$reportDef->setSortOrder(\@sortOrderList);
		

		#Create an instance of the Globals calls.

		my $globals = new ChangeSynergy::Globals();
		
		#Call the 'createReport' API and add the new report to the Shared CR queries.
		$csapi->createReport($aUser, $reportDef, $globals->{PROBLEM_TYPE}, $globals->{SHARED_PROFILE});
	};
	
	if ($@)
	{
		print $@;
	}

方法概要

数组 getAttributes()

获取属性配置字符串的数组,每个数组索引针对一个子报告。示例字符串:“problem_number:0:false|enterer:1:false”。
标量 getBaseReport()

获取创建新报告所基于的基本报告的名称。
标量 getDescription()

获取报告的描述。
标量 getFolderName()

获取将在其中创建报告的文件夹的名称。
标量 getIncrementSize()

获取将显示在标明页码的报告上的项目的数量,或如果报告未标明页码,则为 -1。
标量 getName()>

获取要创建的报告的名称。
标量 getPromptingQueryXml()>

获取定义提示查询工作方式的 XML 数据。
数组 getSortOrder()

获取排序顺序配置字符串的数组,每个数组索引针对一个子报告。示例字符串:“problem_number:intb:A”。
标量 getQueryString()

获取报告的查询字符串。
setAttributes(array @attributes)

设置运行报告时将检索的属性的列表。每个数组索引都是一个属性配置字符串,“problem_number:0:false|crstatus:1:false|problem_synopsis:2:false”。
setBaseReport(scalar baseReportName)

设置创建新报告所基于的基本报告的名称,例如“Column”或“Block”。 创建新报告时,需要基本报告名称。
setDescription(scalar description)

设置此报告的描述,该描述是当最终用户选择此报告时应该在报告界面中看到的文本。
setFolderName(scalar folderName)

设置将在其中创建报告的文件夹的名称。 如果未提供文件夹名称,则报告将创建在根目录层。
setIncrementSize(scalar incrementSize)

设置报告每页所显示项目的数量。如果报告未标明页码,则使用 -1。
setName(scalar reportName)

设置将在 Change 服务器上创建的报告的名称。 这个名称将出现在报告界面上。创建新报告时需要一个名称。
setPromptingQueryXml(scalar reportName)

设置报告的提示查询 XML。它定义提示查询工作方式。
setSortOrder(array @sortOrder)

设置运行报告时将使用的排序属性的列表。每个数组索引都是一个排序顺序配置字符串,“problem_number:intb:A”。
setQueryString(scalar queryString)

设置运行报告时将使用的查询字符串。例如,(cvtype='problem') 和 (crstatus='assigned')。 创建新报告时需要查询字符串。


方法

new

初始化新创建的 ChangeSynergy::CreateReportDefinition 类,以便用于创建新报告。

 my $reportDef = new ChangeSynergy::CreateReportDefinition();


getAttributes

获取属性配置字符串的数组。数组的每个索引都表示一个子报告。属性配置字符串示例为“problem_number:0:false|crstatus:1:false|problem_synopsis:2:false”, 它与在 CCM_PROBLEM, CCM_TASK 或 CCM_OBJECT 定义的标准配置项中出现的字符串同属一类。

 返回:标量数组
属性配置字符串的数组。


getBaseReport

获取基本报告的名称。基本报告是此报告所基于的报告,例如,“Column”或“Block”。

 返回:标量
基本报告的名称。	


getDescription

获取报告的描述。当用户单击报告时,该描述将显示在 Change 报告界面中。

 返回:标量
报告的描述。


getFolderName

获取放置新报告的文件夹的名称。如果为空,则新报告将不会放置到文件夹中。

 返回:标量
在其中创建报告的文件夹的名称。	


getIncrementSize

获取将显示在标明页码的报告上的项目的数量。如果返回值为 -1,则表示此报告未标明页码。

 返回:标量
要显示在页面上的结果的数量,如果是未标页码的报告,则为 -1。


getName

获取报告的名称,该名称将显示在 Change 报告界面中。

 返回:标量
报告将在 change 服务器上使用的名称。


getPromptingQueryXml

获取提示查询 XML 数据。

 返回:标量
XML 格式的提示查询数据。	


getSortOrder

获取排序顺序配置字符串的数组。数组的每个索引都表示一个子报告。排序顺序配置字符串示例为“problem_number:intb:A”,它与在 CCM_PROBLEM、CCM_TASK 或 CCM_OBJECT 定义的标准配置项中出现的字符串同属一类。

 返回:标量数组
排序顺序配置字符串的数组。


getQueryString

获取报告的查询字符串。

 返回:标量
查询字符串。


setAttributes

设置运行报告时将检索的每个子报告的属性列表。每个数组索引表示每个子报告的一个属性配置字符串。必须设置的字符串是 name:order:span 属性。 例如,“problem_number:0:false|crstatus:1:false|problem_synopsis:2:false”。

传入的参数必须为数组引用, \@array。

该设置只能用于特别报告类型,而不能用于系统或报告构建器报告,因为其格式是硬编码的,不能动态更改。

 参数:
数组引用属性:引用属性配置字符串的数组。	
 示例:
	

	my $reportDef = new ChangeSynergy::CreateReportDefinition();
	

	my @attributeLists = ();
	push @attributeLists, "problem_number:0:false|enterer:1:false";
	$reportDef->setAttributes(\@attributeLists);


setBaseReport

设置创建新报告所基于的基本报告的名称。基本报告必须已经存在于 Change 服务器之上。可能的基本报告示例为“Column”和“Block”。

必须设置该参数,csapi->createReport 函数才能起作用。

 参数:
标量:基本报告的名称。	
 示例:
	

	my $reportDef = new ChangeSynergy::CreateReportDefinition();
	$reportDef->setBaseReport("Column");


setDescription

设置最终用户将在 Change 报告界面中看到的报告描述文本。

 参数:
标量:报告的描述。	
 示例:
	

	my $reportDef = new ChangeSynergy::CreateReportDefinition();
	$reportDef->setDescription("All entered CRs");


setFolderName

设置将在其中创建报告的文件夹的名称。如果文件夹并不存在,将尝试创建一个文件夹。如果未指定文件夹名称,则报告将创建在根文件夹中。

 参数:
标量:放置报告的文件夹的名称,或如果为空,则不存在文件夹。	
 示例:
	

	my $reportDef = new ChangeSynergy::CreateReportDefinition();
	$reportDef->setFolderName("API Folder");


setIncrementSize

设置报告结果每页所显示项目的数量。指定 -1 表示该报告将不使用页面标明。

 参数:
标量:每页可查看项目的数量,或 -1 表示未标明页码。
 示例:
	
	my $reportDef = new ChangeSynergy::CreateReportDefinition();
	$reportDef->setIncrementSize(20);


setName

设置报告的名称,这是最终用户应在 Change 报告界面中看到并进行交互的名称。 如果报告名称已经存在,则此名称应该为“报告名称 (x)”,其中 x 为第一个自由选择的数字。该命名方案与 Web 界面中使用的命名方案相同。

必须设置该参数,csapi->createReport 函数才能起作用。

 参数:
标量:报告在创建时应该具有的名称。	
 示例:
	

	my $reportDef = new ChangeSynergy::CreateReportDefinition();
	$reportDef->setName("API report");


setPromptingQueryXml

设置报告的提示查询 XML 数据。最好通过界面或导出并导入现有报告的方式来创建提示报告。如果了解 XML 格式,则只需要设置该设置。

 参数:
标量:定义提示查询的 XML 数据。	
 示例:
	
	my $reportDef = new ChangeSynergy::CreateReportDefinition();
	$reportDef->setPromptingQueryXml(XML DATA);


setSortOrder

设置运行报告时用于排序报告的每个子报告的排序属性列表。每个数组索引表示每个子报告的一个排序顺序配置字符串。必须设置的字符串是 attribute name:sort type:A 或 D。其中 A 或 D 表示升序或降序。 示例字符串为“problem_number:intb:A”。

传入的参数必须为数组引用, \@array。

 参数:
数组引用属性:引用排序顺序配置字符串的数组。	
 示例:
	

	my $reportDef = new ChangeSynergy::CreateReportDefinition();
	

	my @sortOrderList = ();
	push @sortOrderList, "enterer:string:A|problem_number:intb:A";
	$reportDef->setSortOrder(\@sortOrderList);


setQueryString

设置运行报告时将使用的查询字符串。

必须设置该参数,csapi->createReport 函数才能起作用。

 参数:
标量:查询字符串。	
 示例:
	

	my $reportDef = new ChangeSynergy::CreateReportDefinition();
	$reportDef->setQueryString("(cvtype='problem') and (crstatus='entered')");