高度なカスタマイズ > ビジネスロジックのカスタマイズ > MPMLink のカスタマイズ > 自動 BOM 変換の設定とカスタマイズ > ソリューション
  
ソリューション
既成のコンフィギュレーションとカスタマイズフックを使用してロジックを実装します。
前提となる知識
このタスクを実行するには、以下のことを理解している必要があります。
基本的な MPMLink と BOM 構造
Java に関連した基本的な開発
リソースバンドルファイルカスタマイズの管理
Windchill xconfmanager の概念
ソリューションエレメント
テンプレートのフローを処理するメインクラス用の既成のコンフィギュレーションが <WT_ホーム>/codebase/com/ptc/windchill/mpml/xconfs/mpmlink.service.properties.xconf ファイルにあります。
コンフィギュレーションを以下に示します。
<Service context="default"
name="com.ptc.windchill.associativity.reconciliation.resolver.AbstractAddUsageResolver">
<Option cardinality="singleton" requestor="wt.part.WTPart"
serviceClass="com.ptc.windchill.mpml.reconciliation.resolver.MPMLinkAddedUsageDiscrepancyResolver"/>
</Service>
コンフィギュレーションを更新してカスタム委任を含めることができます。
既成のプロパティコンフィギュレーションが <WT_ホーム>/codebase/com/ptc/core/foundation/associativity/xconfs/associativity.properties.xconf ファイルで提供されています。
以下に示す既成のプロパティコンフィギュレーションは、最も近い共通の対応コンテキストにおける場合と同様に変換を実行するデフォルトの動作を提供します。
<Property name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" multivalued="," default=""/>
<Property name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPartUsageLink" multivalued="," default=""/>
これらの既成のプロパティは、WTPart の任意のインスタンスを下流構造上のあらゆる場所に、つまり制約なしで貼り付けることを可能にします。
これらのプロパティは部品の親子関係と部品でサポートされています。部品の親子関係が常に優先されます。部品の親子関係が有効な場合にのみ、部品のコンフィギュレーションが考慮されます。部品の親子関係の変換を制御しない場合、部品の親子関係の既成のプロパティコンフィギュレーションを維持することで、すべての親子関係が有効になります。
プロパティのフォーマットは <base_prefix>.<upstream_view>.<downstream_view>.<type_internal_name> です。プロパティの各キーについて以下の表で説明します。
エレメント
タイプ
説明
base_prefix
プロパティキーコンポーネント
プレフィックス com.ptc.windchill.associativity.reconciliation.addusage
は必須で、定数です。このプレフィックスが付いているプロパティだけがテンプレート追加のコンフィギュレーションで考慮されます。
upstream_view
プロパティキーコンポーネント
対応リンクの上流ビューコンテキストを構成するビューの内部名。例: design
このキーは対応する downstream_view コンフィギュレーションも必要とします。このキーはオプションです。
downstream_view
プロパティキーコンポーネント
対応リンクの下流ビューコンテキストを構成するビューの内部名。例: manufacturing
このキーは対応する upstream_view コンフィギュレーションも必要とします。このキーはオプションです。
type_internal_name
プロパティキーコンポーネント
変換に有効なタイプの内部名。キーに階層名が含まれていてはなりません。例: com.ptc.ElectricalPart
このキーは継承をサポートします。このため、スーパータイプに定義されている場合、明示的に定義されている場合を除き、関連するコンフィギュレーションがサブタイプに適用されます。
このキーは必須です。
上記のキーを使用したプロパティの設定例を以下に示します。
タイプを指定: com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart
タイプと上流ビューおよび下流ビューを指定: com.ptc.windchill.associativity.reconciliation.addusage.design.manfacturing.wt.part.WTPart
システムは同じ優先順位で親子関係と子の読み取りプロパティをサポートします。親子関係と子のすべてのプロパティがサポートされますが、場合によっては適用できないことがあります。
プロパティのキーごとに、key=value のペアのリストを定義できます。このペアはカスタマイズ可能であり、追加のオプションを追加して、委任で使用したり、カスタムロジックを使用して処理したりできます。既成のキーと値のペアを以下の表に示します。
エレメント
タイプ
説明
transformoption
プロパティ
与えられたタイプを下流構造でどのように変換すべきかを指定します。サポートされているデフォルトの有効な値は addSamenewBranch、および newPart です。これらの値はインタフェース操作「貼り付け」「新規ブランチとして貼り付け」、および「新規部品として貼り付け」に相当します。例: transformOption=addSame
下流構造が存在する場合、内部で addExisting オプションが優先されます。指定しない場合、デフォルト値は addSame です。
この値は大文字と小文字が区別されます。
structureoption
プロパティ
変換されるノードの子に対して実行する操作を指定します。子を継承するか、子を再帰的に変換するか、子を継承しないことが可能です。
有効な値は 01、および 2 です。例: structureOption=0デフォルト値は 0 です。これらの値について以下で説明します。
0: 子を複製しません。
1: 子を複製しますが、変換しません。
2: 子を複製し、再帰的に変換します。
場合によっては、値を適用できないことがあります。たとえば、transformOptionaddSame である場合、structureOption は適用できません。
attribute.<internal_name>
プロパティ
変換の有効性の制御に使用されるタイプの属性の内部名を指定します。例: attribute.lineNumber.value=20,attribute.phantom=trueサポートされる属性タイプは Global、Local、Alias、および Calculated です。
これは複数値プロパティであり、複数の属性を指定できます。これはオプションであり、指定しなかった場合、変換はそのタイプについてのみ検証されます。既成では、文字列比較が実行されます。
targetType
プロパティ
有効な上流部品を使用可能な下流タイプを指定します。指定したタイプが含まれている階層内のパスに有効のマークが付きます。値として、タイプの階層名ではなく、タイプの内部名を指定しなければなりません。例: targetType=com.ptc.ElectricalPart
これはオプションです。指定しなかった場合、最も近い共通の対応コンテキストがデフォルトターゲットとして使用されます。
targetAttribute.<internal_name>
プロパティ
上流ノードの貼り付け先または変換先のターゲットノードを指定します。これにはプレフィックス targetAttribute が含まれます。例: targetAttribute.lineNumber.value=20,targetAttribute.phantom=true
これはオプションです。指定しなかった場合、targetType が使用されます。リーフからルートに移動して、パス階層内の最初に一致したインスタンスで停止します。
doAndValidationForAttr
プロパティ
ソースまたはターゲットでの一致検索に複数の属性が定義されている場合に、一致の検索に AND または OR 操作を実行するかどうかを指定します。
デフォルトは true です。
forceNewDownstreamCreation
プロパティ
下流ブランチがすでに存在する場合に新規下流ブランチまたは部品を作成するかどうかを指定します。たとえば、transformOption=newPart を使用している場合などです。
デフォルト値は false です。
continueNavigationForReusedChildren
プロパティ
変換の一環として、子が再使用されて下流ブランチにそのまま継承される場合に、構造のナビゲーションを続行するかどうかを指定します。これは、addSame 操作を使用して親を変換するが、構造内ではノードに newBranch または newPart 操作を使用する場合に便利です。これによってパフォーマンスに影響が生じることがあります。
デフォルト値は false です。
useProcessPlanLogicEnabled
プロパティ
下流構造が存在しない場合に、部品に作成されているプロセス計画をサーチし、そのプロセス計画で指定されている上流ノードに関連付けられている下流構造を使用するかどうかを指定します。
上記のキーを使用したプロパティの設定例を以下に示します。
<Property name="com.ptc.windchill.associativity.reconciliation.addusage.org.rnd.CustomPart" multivalued="," default=""/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.org.rnd.CustomPart" value="transformOption=newBranch"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.org.rnd.CustomPart" value="structureOption=0"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.org.rnd.CustomPart" value="targetType=wt.part.WTPart"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.org.rnd.CustomPart" value="targetAttribute.phantom=true"/>