高度なカスタマイズ > Windchill アダプタ > Windchill アダプタ Webject ライブラリ > Query Webject > Query-Tree
  
Query-Tree
Query-Tree Webject は Windchill オブジェクト間の関連性を繰り返しナビゲーションして、関連オブジェクトのツリーを生成します。
関連したオブジェクトのツリーの例としては、部品表 (BOM) が挙げられます。1 つ以上のベースオブジェクトがある場合、この Webject は指定した関連のセットによってベースオブジェクトと関連付けられるすべてのオブジェクトを返します。この Webject では、製品構造が指定された最大の深さに達するまでナビゲーションが再帰的に実行されます。
Webject で作成される出力グループには、再帰的ナビゲーションプロセスによって検出されるすべてのオブジェクトを表す要素が含まれます。さらに、MODE パラメータが値 FLAT で指定されている場合、この Webject は以下のメタデータを各要素に提供します。
com.infoengine.object.id
要素によって表されるオブジェクトの一意の識別子。
com.infoengine.object.type
要素によって表されるオブジェクトのタイプ。たとえば、Java クラス名は要素によって表されるオブジェクトです。
com.infoengine.depth
ベースオブジェクトに関連し、要素によって表されるオブジェクトが検索された製品構造の深さ。たとえば、ベースオブジェクトの深さが 0 であれば、その子の深さは 1 です。
com.infoengine.link.[class].[role]
要素で表されるオブジェクトとその他のオブジェクトの間の関連を指定します。値は、出力グループのほかの要素の com.infoengine.object.id 値と一致するオブジェクト ID です。
値名の class コンポーネントは、関連を定義する Windchill リンククラスのクラス名を指定します。
role コンポーネントは、関連オブジェクトが関連において果たす役割を識別します。
たとえば、com.infoengine.link.wt.part.WTPartUsageLink.uses のようになります。
構文
<ie:webject name="Query-Tree" type="OBJ">
<ie:param name="ACCEPT_LANGUAGE"
data="$(@SERVER[]accept_language[])"/>
<ie:param name="ATTRIBUTE" data="attribute_name"/>
<ie:param name="AUTHORIZATION"
data="$(@SERVER[]authorization[0])"/>
<ie:param name="AUTO_NAVIGATE" data="[TRUE|FALSE]"/>
<ie:param name="CIRCULAR_REFERENCE_BEHAVIOR"
data="[EXCEPTION | LABEL]"/>
<ie:param name="CONFIGSPEC_OBJECT_META" data="meta_name"/>
<ie:param name="CONNECTION_ATTEMPTS" data="attempts"/>
<ie:param name="CONNECTION_ATTEMPT_INTERVAL" data="interval"/>
<ie:param name="DBUSER" data="username"/>
<ie:param name="DEPTH" data="integer"/>
<ie:param name="DESCRIPTOR" data="attribute_name"/>
<ie:param name="DETECT_CIRCULAR_REFERENCES"
data="[TRUE | FALSE]"/>
<ie:param name="DIRECTION" data="role-name"/>
<ie:param name="FORMAT" data="[TRUE | FALSE]"/>
<ie:param name="GROUP_FILTER" data="group_name"/>
<ie:param name="GROUP_IN" data="group_in"/>
<ie:param name="GROUP_OUT" data="group_out"/>
<ie:param name="INCLUDE_ARGS" data="[TRUE | FALSE]"/>
<ie:param name="INCLUDE_CONSTRAINTS" data="[TRUE | FALSE]"/>
<ie:param name="INCLUDE_DESCRIPTORS" data="[TRUE | FALSE]"/>
<ie:param name="INSTANCE" data="appl_name"/>
<ie:param name="MODE" data="[FLAT | NESTED]"/>
<ie:param name="NEXT_OP" data="operation_name"/>
<ie:param name="OBJECT_REF" data="ufid"/>
<ie:param name="OUTPUT_TYPE" data="[OTHER_SIDE | FULL]"/>
<ie:param name="PASSWD" data="password"/>
<ie:param name="REFERENCE_EXCEPTIONS" data="[TRUE | FALSE]"/>
<ie:param name="SELECTBY" data="config_spec_name"/>
<ie:param name="SELECTBY_BASELINE_REF" data="baseline"/>
<ie:param name="SELECTBY_CONFIG_ITEM_REF" data="ufid"/>
<ie:param name="SELECTBY_CONFIGSPEC_REF" data="ufid" />
<ie:param name="SELECTBY_DATE" data="date"/>
data="[TRUE | FALSE]"/>
<ie:param name="SELECTBY_IN_USE_BY_USER" data="[TRUE | FALSE]" />
<ie:param name="SELECTBY_INCLUDE_WORKING"
data="[TRUE | FALSE]"/>
<ie:param name="SELECTBY_LIFECYCLE_STATE"
data="lifecycle_state"/>
<ie:param name="SELECTBY_UNIT" data="unit_value"/>
<ie:param name="SELECTBY_VIEW_REF" data="view_object_ufid"/>
<ie:param name="SESSION_ID" data="$(session_id[]SESSION_ID[])"/>
<ie:param name="TYPE" data="type_name"/>
<ie:param name="WHERE" data="where_clause"/>
<ie:param name="WHERE_CASE_SENSITIVITY" data="[TRUE | FALSE]"/>
</ie:webject>
パラメータ
必須
相互依存
オプション
DIRECTION
AUTHORIZATION
ACCEPT_LANGUAGE
INSTANCE
AUTO_NAVIGATE_TOPLEVEL
ATTRIBUTE
CONFIGSPEC_OBJECT_META
AUTO_NAVIGATE
DBUSER
CIRCULAR_REFERENCE_BEHAVIOR
DESCRIPTOR
CONNECTION_ATTEMPTS
GROUP_FILTER
CONNECTION_ATTEMPT_INTERVAL
GROUP_IN
DEPTH
INCLUDE_ARGS
DETECT_CIRCULAR_REFERENCES
INCLUDE_CONSTRAINTS
FORMAT
INCLUDE_DESCRIPTORS
GROUP_OUT
NEXT_OP
MODE
OBJECT_REF
OUTPUT_TYPE
PASSWD
SESSION_ID
REFERENCE_EXCEPTIONS
SELECTBY
SELECTBY_BASELINE_REF
SELECTBY_CONFIG_ITEM_REF
SELECTBY_CONFIGSPEC_REF
SELECTBY_DATE
SELECTBY_IN_USE_BY_USER
SELECTBY_INCLUDE_WORKING
SELECTBY_LIFECYCLE_STATE
SELECTBY_UNIT
SELECTBY_VIEW_REF
TYPE
WHERE
WHERE_CASE_SENSITIVITY
* 
表に記載されているパラメータの定義が以下にない場合、そのパラメータは共通の定義を持っています。これらのパラメータの説明については、アダプタ Webject の概要の「一般 Webject パラメータ」セクションを参照してください。
AUTO_NAVIGATE
初期のナビゲーション結果を自動的に後処理して、より直接的に使用可能な結果を作成するかどうかを指定します。指定しない場合、デフォルト値は TRUE です。このパラメータはオプションです。
Windchill では、マスターおよび作業版数のデータモデルを持つ作業版数およびバージョンが設定されたオブジェクトから製品構造が構築されます。
製品構造のルートは、複数の作業版数を持つマスターオブジェクトです。マスターはそれぞれの作業版数にリンクします。各作業版数もマスターにリンクし、製品構造ではマスターの子として示されます。一般的に、アプリケーションはマスターおよび作業版数リンクをナビゲーションしません。代わりに、対象となるすべての属性を含んでいる作業版数のみを検索します。
AUTO_NAVIGATE パラメータを使用すると、Webject が自動的にマスターから作業版数にナビゲーションし、フェデレーションクライアントアプリケーションが通常検索する情報を出力グループに含めることができます。また、AUTO_NAVIGATE パラメータを使用すると、Webject は自動的に LightweightProxy オブジェクトの参照を解除し、リモートシステムから読み込まれていた出力グループの要素を返します。
AUTO_NAVIGATE_TOPLEVEL
TRUE に設定すると、AUTO_NAVIGATE パラメータが製品構造の最上位レベルのオブジェクトに適用されます。
AUTO_NAVIGATE_TOPLEVEL を「偽」に設定すると、AUTO_NAVIGATE パラメータは通常どおりの動作を行います。デフォルトは FALSE です。
構造内の関係によって、最上位レベルのオブジェクトに自動ナビゲーションを適用できない場合があります。
このパラメータは AUTO_NAVIGATE が「真」に設定されている場合にのみ適用されます。
CIRCULAR_REFERENCE_BEHAVIOR
循環参照が検出されたときの Webject の動作。このパラメータはオプションです。
EXCEPTION - ツリーの展開が終了します。これがデフォルト値です。
LABEL - Webject によってメタデータがグループおよび要素上に配置されます。最初の循環ノードとして検出されたノードが出力に挿入されますが、それ以上は展開されません。
LABEL として指定すると、次の情報が追加されます。
Webject によって作成された出力グループに配置:
com.infoengine.circular.contains=true
これは、出力グループに循環参照が含まれていることを示します。
子のいずれかによって参照されるオリジナルの要素に配置:
com.infoengine.circular.referenced=true
これは、この要素が子を持つオリジナルノードであり、その子のうちのいずれかがこの要素を参照していることを示します。
この要素とツリーのルートとの間のパス内で以前に展開された要素を複製する要素に配置:
com.infoengine.circular.reference=true
この要素をさらに展開すると、ツリーの中で展開済みの部分を再度展開することになり、それ自身に戻ってきます。
CONFIGSPEC_OBJECT_META
オブジェクトをフィルタするときに使用する ConfigSpec オブジェクトを含むメタデータの名前。このパラメータは、SELECTBY=CONFIGSPEC_OBJECT の場合のみ使用します。
デフォルト値は com.ptc.windchill.configSpec です。
DEPTH
再帰的に降下する製品構造の最大レベル数。指定しない場合、デフォルト値は 1 です。このパラメータはオプションです。
DETECT_CIRCULAR_REFERENCES
TRUE を指定すると、Webject が循環参照の検出を試みます。FALSE を指定すると、Webject は循環参照を検出しません。このパラメータのデフォルト値は FALSE です。このパラメータはオプションです。
* 
TRUE を指定した場合、循環参照が検出されたときの Webject の動作は、CIRCULAR_REFERENCE_BEHAVIOR パラメータを使用して調整できます。
DIRECTION
返されるオブジェクトが果たすリンククラスの役割。たとえば、usedByreferencesreferencedBy があります。
有効な値は、TYPE パラメータによって定義されるリンククラスに依存します。TYPE パラメータが複数の値をとる場合は、DIRECTION パラメータにも複数の値を指定する必要があり、これらの 2 つのパラメータに指定する値の数は同じでなければなりません。TYPE パラメータの各値は、DIRECTION パラメータの値と対応します。
このパラメータは必須です。
GROUP_IN
オブジェクトを含んでいるグループを指定します。オブジェクト ID (OBID) 属性を含んでいるグループの要素ごとに、OBID 属性値によって参照されるオブジェクトがベースオブジェクトとして使用されます。
指定しない場合は、OBJECT_REF パラメータを指定する必要があります。OBJECT_REF パラメータを指定しない場合は、このパラメータを指定する必要があります。OBJECT_REF および GROUP_IN パラメータを両方とも指定すると、指示された複数のベースオブジェクトがナビゲーションされます。
GROUP_OUT
結果を含む出力グループの名前。このパラメータが省略されると、出力グループの名前は文字列 "_Output" を Webject 名に追加することで構築されます。このパラメータはオプションです。
MODE
出力グループに含まれる一覧のモード。このパラメータの有効な値は以下のとおりです。
FLAT - 出力グループはオブジェクトのフラットな一覧を含みます。オブジェクト間の関連およびツリー内での各オブジェクトの関連性の強さは、各オブジェクトで返されたメタデータに登録されます。
NESTED - 出力グループはオブジェクトのネストされた一覧を含みます。子を持つ各オブジェクトは、値が子である属性を含みます。
これらの属性名は、親と子の関連を定義するリンクのクラス名と子に関連する役割名を連結することによって構成されます。たとえば、リンククラスが wt.part.WTPartUsageLink で子の役割名が "uses" の場合、子を持つオブジェクトは、wt.part.WTPartUsageLink.uses という属性名を持ち、この属性の各値は子オブジェクトとなります。子オブジェクトが子を持つ場合、子オブジェクトも、その子を再帰的に含む属性を持ちます。
このパラメータのデフォルトは FLAT です。このパラメータはオプションです。
OBJECT_REF
ベースオブジェクトとして動作するオブジェクトの Unique Federation Identifier (UFID) を指定し、TYPE パラメータに指定した関連付けによってこのベースオブジェクトに関連付けられるすべてのオブジェクト (および再帰的にそれらのオブジェクトに関連するすべてのオブジェクト) を返します。
このパラメータに複数の値がある場合は、複数のベースオブジェクトがナビゲーションされ、出力グループには、TYPE パラメータで指定するリンククラスによって複数のベースオブジェクトと関連付けられるすべてのオブジェクトの組み合わせが含まれます。
このパラメータを指定しない場合は、GROUP_IN パラメータを指定する必要があります。このパラメータと GROUP_IN パラメータを両方とも指定すると、指示された複数のベースオブジェクトがナビゲーションされます。
OUTPUT_TYPE
関連付けられたオブジェクトまたはリンクオブジェクトを返すかどうかを指定します。リンクオブジェクトは 2 つのオブジェクト間の関連を定義するオブジェクトです。このパラメータの有効な値は以下のとおりです。
OTHER_SIDE - TYPE、WHERE、または OBJECT_REF で指定されたオブジェクトが関連するオブジェクトを返します。
RELATION - リンクオブジェクト自体を返します。
FULL - 各関連を定義するリンクオブジェクトからの属性と結合され、指定されたオブジェクトが関連付けられているオブジェクトを返します。リンクオブジェクトから取得された各属性の名前は、リンクオブジェクトのクラス名とリンクオブジェクトからの属性名を以下のフォーマットで連結して設定されます。
wt.part.WTPartUsageLink.quantity.amount
wt.part.WTPartUsageLink はリンクオブジェクトのクラスです。
quantity.amount はリンクオブジェクトの属性名です。
このパラメータのデフォルトは OTHER_SIDE です。このパラメータはオプションです。
SELECTBY
指定されたリンクのタイプによって参照されているオブジェクトが製品構造 (バージョンが設定されたオブジェクト) である場合の Windchill のコンフィギュレーション仕様。このパラメータの有効な値は以下のとおりです。
LATEST - オブジェクトの最新バージョンを返します。
USER - 呼び出しを行うユーザーに対して定義されたデフォルトのコンフィギュレーション仕様によって選択されたオブジェクトを返します。呼び出しを行うユーザーがデフォルトのコンフィギュレーション仕様を持っていない場合、LATEST が使用されます。
BASELINE - 特定のベースラインに関連付けられたオブジェクトを返します。適用するベースラインを識別するには、SELECTBY_BASELINE_REF パラメータも指定されている必要があります。
VIEW -特定のビューと関連付けられているオブジェクトを返します。適用するビューを識別するには、SELECTBY_VIEW_REF パラメータも指定されている必要があります。
LIFECYCLE - 特定のライフサイクルの状態に関連付けられたオブジェクトを返します。適用するライフサイクル状態を識別するには、SELECTBY_LIFECYCLE_STATE パラメータも指定されている必要があります。
IN_USE - 使用されているオブジェクトを返します。
EFFECTIVITY - 特定のエフェクティビティと関連付けられているオブジェクトを返します。適用するエフェクティビティ制約を定義するには、SELECTBY_CONFIG_ITEM_REF、SELECTBY_DATE、および SELECTBY_UNIT パラメータも指定する必要があります。
STANDARD - 標準コンフィギュレーション仕様に関連付けられているオブジェクトを返します。適用する制約を識別するには、SELECTBY_VIEW_REF、SELECTBY_LIFECYCLE_STATE、および SELECTBY_INCLUDE_WORKING パラメータも指定できます。
* 
この値は WTPart オブジェクト固有です。
STANDARD_DOCUMENT - 標準コンフィギュレーション仕様に関連付けられているオブジェクトを選択します。適用する制約を識別するには、SELECTBY_LIFECYCLE_STATE、SELECTBY_INCLUDE_WORKING、および SELECTBY_IN_USE_BY_USER パラメータも指定できます。
CONFIGSPEC_REF - 設定および永続化されている ConfigSpec オブジェクトに基づいてオブジェクトを選択します。SELECTBY_CONFIGSPEC_REF パラメータも指定する必要があります。
CONFIGSPEC_OBJECT - カスタム ConfigSpec オブジェクトをプログラムによって構築し、Webject に渡して、フィルタリング時に使用できるようにします。CONFIGSPEC_OBJECT_META パラメータも指定できます。SELECTBY 値を使用するには、ナビゲーションのシードのために GROUP_IN を指定し、ConfigSpec オブジェクトをメタデータとして GROUP_IN オブジェクトに保存しておく必要があります。
このパラメータのデフォルトは LATEST です。AUTO_NAVIGATE が FALSE に設定されている場合、このパラメータは無視されます。
SELECTBY_BASELINE_REF
SELECTBY が BASELINE として指定されている場合に使用されるベースラインオブジェクトの UFID。
SELECTBY_CONFIG_ITEM_REF
SELECTBY が EFFECTIVITY として指定されている場合に使用されるコンフィギュレーションアイテムの UFID。このパラメータが指定されている場合、SELECTBY_DATE または SELECTBY_UNIT のどちらかが指定されている必要があります。
SELECTBY_CONFIGSPEC_REF
オブジェクトのフィルタリングで使用する、永続化された ConfigSpec オブジェクトへの参照。
SELECTBY_DATE
SELECTBY が EFFECTIVITY として指定されている場合に使用される日付。このパラメータは単独で使用するか、または SELECTBY_CONFIG_ITEM_REF とともに使用することができます。
SELECTBY_IN_USE_BY_USER
ユーザーが使用中のオブジェクトのみを選択するかどうかを指定します。このパラメータはブール型です。SELECTBY=STANDARD_DOCUMENT のみで使用されます。指定しない場合は、オブジェクトを選択するときの基準として、使用中かどうかが使用されません。
SELECTBY_INCLUDE_WORKING
SELECTBY が STANDARD に指定されている場合に作業オブジェクトを含むかどうかを指定します。作業オブジェクトとは、ユーザーのパーソナルキャビネットにあるオブジェクトです。このパラメータに有効な値は TRUE および FALSE です。このパラメータのデフォルトは TRUE です。
SELECTBY_LIFECYCLE_STATE
SELECTBY が LIFECYCLE または STANDARD として指定されている場合に使用されるライフサイクル状態の名前。
SELECTBY_UNIT
SELECTBY が EFFECTIVITY として指定されている場合に使用される単位の値。このパラメータが指定されている場合、SELECTBY_CONFIG_ITEM_REF も指定される必要があります。
SELECTBY_VIEW_REF
SELECTBY が VIEW または STANDARD として指定されている場合に使用される、ビューオブジェクトの UFID。
TYPE
オブジェクトタイプの名前。WHERE を指定した場合、TYPE も指定する必要があります。詳細については、TYPE および WHERE パラメータの指定を参照してください。
OBJECT_REF はこのパラメータの代わり、または追加として指定できます。このパラメータは必須です。
WHERE
照会するオブジェクトを識別する照会定義式。このパラメータは、OBJECT_REF および GROUP_IN の代わりに、または OBJECT_REF および GROUP_IN と組み合わせて使用できます。OBJECT_REF および GROUP_IN のいずれも指定しない場合は、WHERE を指定する必要があります。WHERE を指定した場合、TYPE も指定される必要があります。詳細については、TYPE および WHERE パラメータの指定を参照してください。