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>
以下のメソッドを使用できます。
sub new(xmlData)
新しく作成される ChangeSynergy::apiQueryData クラスを初期化して、渡される XML データを表すようにします。
my $queryData = new ChangeSynergy::apiQueryData(xmlData); パラメーター: xmlData - 構文解析して使用可能なフォームへ変換する必要がある XML データ。
スロー: die - XML データの構文解析ができない場合。
オブジェクト配列内の位置に基づいて、データ・オブジェクトを 1 つ取得します。 返される結果は apiObjectVector クラスのインスタンスです。
my $xmlData = $queryData->getXmlData()
パラメーター: iPos - データ読み出しのためのインデックス位置。
戻り値: apiObjectVector オブジェクト配列内の位置に基づく 1 つのデータ・オブジェクト。
スロー: die - リストが空の場合。 die - 指定したインデックス位置が無効の場合。
このクラス・インスタンス内に格納されるオブジェクト数。
my $xmlData = $queryData->getDataSize($iPos)
戻り値: スカラー このクラス・インスタンス内に格納されるオブジェクト数。
このオブジェクト集合のデータ・タイプ。 オブジェクト・タイプ 17、18、19 のいずれか。
my $xmlData = $queryData->getDataType()
戻り値: スカラー このオブジェクト集合のデータ・タイプ。
この apiQueryData クラスの作成に使用される XML データを取得します。
注記: これはデバッグ専用です。
my $xmlData = $queryData->getXmlData()
戻り値: スカラー このオブジェクトの作成に使用される XML データ。デバッグに役立ちます。
セントラル・サーバー・モードでは、CR からタスクにトラバースするレポート、たとえば Data_Report_CR_Task など、は、実行時に一部の開発データベースがオフラインになっていると、タスクの一部しか返さない可能性があります。 レポート結果の大半は役に立ちますが、実際のタスクの数はもっと多いはずです。 このような場合のために、この関数を使うと、オフライン状態のデータベースのリストを取得できます。
スタンドアロンでは常に空の配列が返ります。
my @dbs = $queryData->getOfflineDatabases()
戻り値: 配列 クエリーまたはレポート実行時にオフラインだったデータベース・ラベルの配列。