여러 조직에서 소유한 부품에 대한 번호 지정
다음은 부품을 소유한 조직을 기반으로 두 번호 지정 체계 간을 전환하는 예제 규칙 XML 조각입니다. Org1의 체계는 PRT-1234567과 같은 번호를 생성하고 Org2의 체계는 12345-PRT와 같은 번호를 생성합니다.
* 
다음 예제에서는 페이지 너비로 인해 일부 XML 요소가 여러 줄에 걸쳐 있습니다. 실제로 XML 문서를 코딩할 때는 각 XML 요소를 한 줄에 하나씩 입력하십시오.
<!-- Define a numbering scheme for Org1 -->
<VarDef id="Org1-GeneratedNumber" algorithm=
"com.ptc.windchill.enterprise.revisionControlled.server.impl. NumberGenerator">
<Arg>PRT-</Arg>
<Arg>{GEN:wt.enterprise.SequenceGenerator:ORG1_WTPARTID_seq:7:0}</Arg>
</VarDef>
<!-- Define a numbering scheme for Org2 -->
<VarDef id="Org2-GeneratedNumber" algorithm="
com.ptc.windchill.enterprise.revisionControlled.server.impl. NumberGenerator">
<Arg>{GEN:wt.enterprise.SequenceGenerator:ORG2_WTPARTID_seq:5:0}</Arg>
<Arg>-PRT</Arg>
</VarDef>
<!-Set the number attribute using the appropriate scheme defined above -->
<AttrValue id="number" algorithm="wt.rule.algorithm.StringConstant">
<Value algorithm="wt.rule.algorithm.BooleanBranch">
<Value algorithm="wt.rule.algorithm.OrgNameEqualsTest">
<Attr id="organization.id"/>
<Arg>Org1</Arg>
</Value>
<VarRef id="Org1-GeneratedNumber"/>
<VarRef id="Org2-GeneratedNumber"/>
</Value>
</AttrValue>
이 예에서 각 번호 지정 체계는 서로 다른 시퀀스를 기반으로 합니다. VarDef 요소는 해당 VarRef 요소가 평가될 때까지는 평가되지 않기 때문에 번호가 하나만 생성됩니다. 따라서 두 조직에 대한 부품이 작성될 때 번호가 순차적으로 지정되어야 합니다. 예를 들어, 두 시퀀스가 모두 1에서 시작할 경우 번호는 다음과 같이 지정됩니다.
Org1이 소유한 부품 생성: PRT-0000001
Org2가 소유한 부품 생성: 00001-PRT
Org2가 소유한 부품 생성: 00002-PRT
Org1이 소유한 부품 생성: PRT-0000002
예상대로 두 조직의 번호 지정 시퀀스에 간격이 없습니다.
도움이 되셨나요?