名前

ChangeSynergy::apiQueryData


詳細

これはレポート API で使用される最上位のクラスです。 また、サブレポートを表す最上位のクラスでもあります。 「オブジェクト数」(number of objects) の値は、格納されるオブジェクト数を示しています。 「オブジェクト・タイプ」(type of objects) は、オブジェクト・タイプを指定する整数値です。 「関連レポート・レベル」(relational report level) の値は、XML 構文解析ルーチンのみで使用されます。 この値を変更または参照してはなりません。

 オブジェクト・タイプを以下に示します (Globals.pm に定義されているとおり)
	PROBLEM_TYPE = 17 // これは変更依頼です
	TASK_TYPE    = 18 // これはタスクです
	OBJECT_TYPE  19 // これはオブジェクトです
 <csapi_cquery_data>
	<csapi_cobject_vector_size>number of objects</csapi_cobject_vector_size>
	<csapi_cobject_vector_type>type of objects</csapi_cobject_vector_type>
	<csapi_cobject_vector_position>relational report level</csapi_cobject_vector_position>
	<csapi_cobject_vector_position>
	or
	<csapi_cobject_vector>
		<csapi_cobject_data_size>number of objects</csapi_cobject_data_size>
		<csapi_cobject_vector_transitions>transition link data</csapi_cobject_vector_transitions>
		<csapi_cobject_vector_assoc>
			<csapi_cquery_data>
			.
			.
			.
			</csapi_cquery_data>
		</csapi_cobject_vector_assoc>
		<csapi_cobject_data>
			<csapi_cobject_data_name>attribute name</csapi_cobject_data_name>
			<csapi_cobject_data_value>attribute value</csapi_cobject_data_value>
			<csapi_cobject_data_type>web type</csapi_cobject_data_type>
			<csapi_cobject_data_readonly>true|false</csapi_cobject_data_readonly>
			<csapi_cobject_data_required>true|false</csapi_cobject_data_required>
			<csapi_cobject_data_inherited>true|false</csapi_cobject_data_inherited>
			<csapi_cobject_data_default>default value for this attribute</csapi_cobject_data_default>
			<csapi_cobject_data_date>formatted date</csapi_cobject_data_date>
		</csapi_cobject_data>
		.
		.
		.
	</csapi_cobject_vector>
	or
	</csapi_cobject_vector_position>
	.
	.
	.
 </csapi_cquery_data>

メソッド

以下のメソッドを使用できます。

new
 sub new(xmlData)

新しく作成される ChangeSynergy::apiQueryData クラスを初期化して、渡される XML データを表すようにします。

 my $queryData = new ChangeSynergy::apiQueryData(xmlData);
 
パラメーター:
xmlData  - 構文解析して使用可能なフォームへ変換する必要がある XML データ。
 スロー:

die - XML データの構文解析ができない場合。
getDataObject

オブジェクト配列内の位置に基づいて、データ・オブジェクトを 1 つ取得します。 返される結果は apiObjectVector クラスのインスタンスです。

my $xmlData = $queryData->getXmlData()

 パラメーター:
iPos - データ読み出しのためのインデックス位置。
 戻り値: apiObjectVector
	オブジェクト配列内の位置に基づく 1 つのデータ・オブジェクト。
 スロー:

die - リストが空の場合。
die - 指定したインデックス位置が無効の場合。
getDataSize

このクラス・インスタンス内に格納されるオブジェクト数。

my $xmlData = $queryData->getDataSize($iPos)

 戻り値: スカラー
 	このクラス・インスタンス内に格納されるオブジェクト数。
getDataType

このオブジェクト集合のデータ・タイプ。 オブジェクト・タイプ 17、18、19 のいずれか。

my $xmlData = $queryData->getDataType()

 戻り値: スカラー
 	このオブジェクト集合のデータ・タイプ。
getXmlData

この apiQueryData クラスの作成に使用される XML データを取得します。

注記: これはデバッグ専用です。

my $xmlData = $queryData->getXmlData()

 戻り値: スカラー
 このオブジェクトの作成に使用される XML データ。デバッグに役立ちます。
getOfflineDatabases

セントラル・サーバー・モードでは、CR からタスクにトラバースするレポート、たとえば Data_Report_CR_Task など、は、実行時に一部の開発データベースがオフラインになっていると、タスクの一部しか返さない可能性があります。 レポート結果の大半は役に立ちますが、実際のタスクの数はもっと多いはずです。 このような場合のために、この関数を使うと、オフライン状態のデータベースのリストを取得できます。

スタンドアロンでは常に空の配列が返ります。

my @dbs = $queryData->getOfflineDatabases()

 戻り値: 配列
	クエリーまたはレポート実行時にオフラインだったデータベース・ラベルの配列。