BOM リリース規則
このビジネス規則は、すべての結果オブジェクトが適切な状態にあり、それらの第 1 レベルの依存がすべて適切な状態にあることを保証します。子オブジェクトも結果オブジェクトである場合、子は変更通知を通してリリースされるときに、現在の状態にとどまる代わりに、ターゲット状態に移行します。
必須のコンフィギュレーションオプションは次のとおりです。
targetState - 結果オブジェクトの有効な状態。複数の targetState を定義できます。
validDependentState - 依存オブジェクトの有効な状態。複数の validDependentState を定義できます。
collectionComponentID - 依存オブジェクトの収集に使用するコレクションコンポーネントの ID。Windchill システムでは、デフォルトのコレクションコンポーネント ID の COLLECT_ITEMS_FOR_BOM_RELEASE_RULE を使用できます。各コレクションコンポーネント ID には、収集するオブジェクトを決定するプリファレンスがあります。「プリファレンス管理」ユーティリティの「ビジネス規則」セクションに表示される「BOM リリース成熟度コレクター」プリファレンスは、コレクション規則を制御します。
任意のコンフィギュレーションオプションは次のとおりです。
checkPredecessorRevisions - 依存オブジェクトの以前のリビジョンが有効な状態であるかどうかを確認します。true の場合、以前のリビジョンが有効な状態であるかどうかが確認されます。false または設定されていない場合、以前のリビジョンの有効性は確認されません。デフォルトは false です。
invalidDependentState - 依存オブジェクトの無効な状態。複数の invalidDependentState を定義できます。
次の例に、BOM リリース規則の使用法を示します。
「リリース済み」または「プロトタイプ」状態にリリースされ、「無効」状態でないアセンブリ。依存オブジェクトが「リリース済み」または「プロトタイプ」のいずれの状態でもないか、「無効」状態である場合、以前のリビジョンが確認されます。
依存構成部品のいずれかが無効な状態である場合は、規則が失敗し、「コンフリクトを表示」レポートに無効なアセンブリのリストが表示されます。詳細については、規則のコンフリクトの表示を参照してください。
コンフィギュレーション属性の例:
* 
コンフィギュレーションオプションが複数の値をサポートしている場合は、次の例に示すように、追加の値ごとに別々のコンフィギュレーションエントリを指定することで、複数の状態を定義できます。
<configs>
<config name="targetState" value="RELEASED"/>
<config name="validDependentState" value="RELEASED"/>
<config name="validDependentState" value="PROTOTYPE"/>
<config name="invalidDependentState" value="OBSOLETE"></config>
<config name="checkPredecessorRevisions" value="true"></config>
<config name="collectionComponentID"
value="COLLECT_ITEMS_FOR_BOM_RELEASE_RULE"/>
</configs>
次の例に、BOM リリース規則を示します。
多数の子部品があるアセンブリを変更する必要があるとします。ただし、アセンブリを変更する前に、すべての子が「リリース済み」状態にあるか、この変更の結果として「リリース済み」状態になることを確認します。さらに、すべての子部品が最新であることを確認するため、いずれの子部品も「無効」になっていないことを確認します。これを設定するには、次のビジネス規則オブジェクトを作成します。
ビジネス規則セット:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE BusinessRuleSet SYSTEM "standardX20.dtd">
<BusinessRuleSet>
<ObjectID><localId>wt.businessRules.BusinessRuleSet:45347</localId>
</ObjectID>
<objectContainerPath>/wt.inf.container.OrgContainer=
BusinessRulesTestOrganization/wt.pdmlink.PDMLinkProduct=
BusinessRulesTestProduct</objectContainerPath>
<key>CHANGEABLE_PRE_RELEASE</key>
<name>Test_Changeable_ReleaseRuleSet</name>
<description>To test basic Attribute RuleSet Validation</description>
<enabled>true</enabled>
<overridable>true</overridable>
<updateIfExists>true</updateIfExists>
</BusinessRuleSet>
ビジネス規則:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE BusinessRule SYSTEM "standardX20.dtd">
<BusinessRule>
<ObjectID><localId>wt.businessRules.BusinessRule:158927</localId>
</ObjectID>
<objectContainerPath>/wt.inf.container.OrgContainer=
BusinessRulesTestOrganization/wt.pdmlink.PDMLinkProduct=
BusinessRulesTestProduct</objectContainerPath>
<key>BOM_RELEASE_RULE_RELEASED_STATE</key>
<selector>BOM_RELEASE_RULE</selector>
<name>Test BOM release Rule</name>
<description>Test BOM release Rule RELEASED State</description>
<enabled>true</enabled>
<updateIfExists>true</updateIfExists>
<configs>
<config name="targetState" value="RELEASED"></config>
<config name="validDependentState" value="RELEASED"></config>
<config name="invalidDependentState" value="OBSOLETE"></config>
<config name="checkPredecessorRevisions" value="true"></config>
<config name="collectionComponentID" value=
"COLLECT_ITEMS_FOR_BOM_RELEASE_RULE"></config>
</configs>
</BusinessRule>
ビジネス規則リンク:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE BusinessRuleLink SYSTEM "standardX20.dtd">
<BusinessRuleLink>
<ObjectID><localId>wt.businessRules.BusinessRuleLink:168920</localId>
</ObjectID>
<ruleSet><ObjectReference><localId>wt.businessRules.BusinessRuleSet:45347
</localId></ObjectReference></ruleSet>
<rule><ObjectReference><localId>wt.businessRules.BusinessRule:158927
</localId></ObjectReference></rule>
<blockNumber>1</blockNumber>
<updateIfExists>true</updateIfExists>
</BusinessRuleLink>
これは役に立ちましたか?