Amministrazione avanzata > Configurazione dell'ambiente Windchill > Regole aziendali > Regole aziendali disponibili > Regola attributo
  
Regola attributo
La regola di attributo verifica che gli attributi specificati soddisfino determinate condizioni. Il tipo di oggetto è l'unico input richiesto per la configurazione di una regola di attributo e deve essere un oggetto di tipo wt.fc.Persistable. Ad esempio, com.ptc.Waiver è un sottotipo di wt.change2.WTVariance.
<configs>
<config name="objectType" value="com.ptc.Waiver"></config>
</configs>
È possibile specificare il nome o il valore stringa del tipo utilizzando solo il nome esterno del tipo (com.ptc.Waiver o WCTYPE|wt.change2.WTVariance|com.ptc.Waiver).
È possibile escludere determinati sottotipi del tipo di oggetto specificato dalla regola di attributo. Ad esempio, la seguente configurazione della regola di attributo per il tipo di oggetto WTVariance escluderebbe dalla valutazione le soluzioni temporanee di tipo com.ptc.Waiver e com.ptc.Deviation.
<configs>
<config name="objectType" value="wt.change2.WTVariance "></config>
<config name="excludedType" value="com.ptc.Waiver"></config>
<config name="excludedType" value="com.ptc.Deviation"></config>
</configs>
Per configurare una condizione di convalida per un attributo del tipo di oggetto specificato, il nome di configurazione sarà Nome attributo e il valore Condizione. La configurazione dell'attributo riportata di seguito verifica se com.ptc.Waiver dispone di una quantità approvata compresa tra 10 e 100.
<configs>
<config name="objectType" value="com.ptc.Waiver"></config>
<config name="approvedQuantity" value="[10..100]"></config>
</configs>
Di seguito è riportato un esempio in cui "weight" è il nome interno di un attributo globale in un sottotipo della parte.
<configs>
<config name="objectType" value="com.ptc.SubTypePart"></config>
<config name="weight" value="<=100"></config>
</configs>
Nella tabella riportata di seguito sono illustrate le operazioni supportate e i tipi di oggetto supportati nella configurazione della regola di attributo.
Operatore
Tipi di valore
Descrizione
Esempio di condizioni di caricamento
>, >=, <, <=
Long, String, Date, Timestamp, FloatingPoint, FloatingPointWithUnits
Verifica che il valore dell'attributo dell'oggetto sia maggiore, maggiore o uguale, minore oppure minore o uguale al valore specificato.
I caratteri dell'operatore sono caratteri riservati nel caricamento di importazione; l'operatore minore di (<) deve essere specificato come "&lt;" e l'operatore maggiore di (>) come "&gt;".
&gt;2012-01-12 00:00:00=&lt;=20.002&gt;=10
[0..10]
Long, String, Date, Timestamp, FloatingPoint, FloatingPointWithUnits
Verifica che il valore dell'attributo dell'oggetto sia compreso nell'intervallo specificato. Se non viene specificato alcun valore minimo nell'intervallo, la condizione è equivalente a minore di o uguale a. Se non viene specificato il valore massimo nell'intervallo, la condizione viene considerata maggiore di o uguale a.
[-10.09..10.09][2012-01-12 00:00:00..2012-02-12 00:00:00][..100][0..]
=, !=
Boolean, Long, String, Date, Timestamp, FloatingPoint, FloatingPointWithUnits
Verifica che il valore dell'attributo dell'oggetto sia o meno il valore specificato.
Il carattere dell'operatore ! è un carattere riservato nel caricamento di importazione e deve essere specificato come "#33;".
=true#33;=2012-02-12 00:00:00=10.09
[A,B]
Boolean, Long, String, Date, Timestamp, FloatingPoint, FloatingPointWithUnits
Verifica che il valore dell'attributo dell'oggetto sia compreso nella serie di valori.
[true][2012-02-01 00:00:00,2012-02-15 00:00:00,2012-02-30 00:00:00][MAJOR,CRITICAL][10.01,10.02][10,100,1000]
SET
Boolean, Long, String, Date, Timestamp, FloatingPoint, FloatingPointWithUnits
Verifica che il valore dell'attributo dell'oggetto non sia nullo. Per specificare l'operazione, è necessaria solo la parola chiave SET.
SET
NOT_SET
Boolean, Long, String, Date, Timestamp, FloatingPoint, FloatingPointWithUnits
Verifica che il valore dell'attributo dell'oggetto sia nullo. Per specificare l'operazione, è necessaria solo la parola chiave NOT_SET.
NOT_SET
EQUALS
Stringa
Verifica che il valore dell'attributo dell'oggetto corrisponda alla stringa specificata.
EQUALS(MAJOR)
NOT_EQUALS
Stringa
Verifica che il valore dell'attributo dell'oggetto non corrisponda alla stringa specificata
NOT_EQUALS(MAJOR)
BEGINSWITH
Stringa
Verifica che il valore dell'attributo dell'oggetto inizi con una stringa specificata.
BEGINSWITH(PN)
NOT_BEGINSWITH
Stringa
Verifica che il valore dell'attributo dell'oggetto non inizi con una stringa specificata.
NOT_BEGINSWITH(PN)
ENDSWITH
Stringa
Verifica che il valore dell'attributo dell'oggetto termini con una stringa specificata.
ENDSWITH(0)
NOT_ENDSWITH
Stringa
Verifica che il valore dell'attributo dell'oggetto non termini con una stringa specificata.
NOT_ENDSWITH(0)
CONTAINS
Stringa
Verifica che il valore dell'attributo dell'oggetto contenga la stringa specificata.
CONTAINS(PN0)
NOT_CONTAINS
Stringa
Verifica che il valore dell'attributo dell'oggetto non contenga la stringa specificata.
NOT_CONTAINS(PN0)
LENGTH
Stringa
Verifica che la lunghezza della stringa dell'attributo dell'oggetto sia compresa nell'intervallo specificato.
LENGTH(0..40)LENGTH(0..)LENGTH(..40)
* 
Le impostazioni locali di sistema vengono utilizzate per il formato delle date e dei valori di data e ora nella condizione dell'attributo.
Esempio
Si supponga di disporre di un determinato sottotipo di una parte con un attributo denominato spessore per rappresentarne il peso. Prima del rilascio delle parti con un attributo spessore, verificare che lo spessore sia impostato in base a un valore ragionevole. A tale scopo, creare una regola aziendale per verificare che l'attributo spessore rientri in un intervallo compreso tra 1 e 100.
Regola aziendale impostata:
<?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>
Regola aziendale:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE BusinessRule SYSTEM "standardX20.dtd">
<BusinessRule>
<ObjectID><localId>wt.businessRules.BusinessRule:168926</localId></ObjectID>
<objectContainerPath>/wt.inf.container.OrgContainer=
BusinessRulesTestOrganization/wt.pdmlink.PDMLinkProduct=
BusinessRulesTestProduct</objectContainerPath>
<key>PART_ATTRIBUTE_RULE</key>
<selector>ATTRIBUTE_RULE</selector>
<name>Test Attribute Rule</name>
<description>Test Attribute Rule</description>
<enabled>true</enabled>
<updateIfExists>true</updateIfExists>
<configs>
<config name="objectType" value="wt.part.AttributeRulePart"></config>
<config name="weight" value="[0..100]"></config>
</configs>
</BusinessRule>
Link della regola aziendale:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE BusinessRuleLink SYSTEM "standardX20.dtd">
<BusinessRuleLink>
<ObjectID><localId>wt.businessRules.BusinessRuleLink:168919</localId>
</ObjectID>

<ruleSet><ObjectReference><localID>wt.businessRules.BusinessRuleSet:45347
</localId></ObjectReference></ruleSet>

<rule><ObjectReference><localID>wt.businessRules.BusinessRule:168926
</localId></ObjectReference></rule>
<blockNumber>1</blockNumber>
<updateIfExists>true</updateIfExists>
</BuisnessRuleLink>