Specify unique Smart Object instance values
For Smart Object (SO) instances that are an instance of a Smart Object definition, each instance can persist its own instance specific data (data unique to the instance of the SO). Instance-specific data can include values for:
- Program parameters
- Program local tags
- Routine parameters
- Routine local tags
- Properties on the program or routine itself
Use this structure for specifying an instance value:
[ SO instance ] {
<Tag relative {from SO Instance) Qualified Name> := value
<Tag relative {from SO Instance) Qualified Name> { <member values }
}
Keep these guidelines in mind when using instance-specific values:
- Instance-specific values apply to any inherited value, which can be:
- From the SO instance’s definition.
- From any definition the SO instance’s definition also extends, or inherits, from.
- Any child SO instance that is contained within the SO instance.
- Any child SO instance inherited.
- Instance-specific values are only specified when the value within the instance is different than the value from the definition. In cases where the definition does not specify a value, the value in the definition is zero.
- Instance-specific values can be specified on a scalar tag, a complex typed tag or parameter, such as arrays or structure tags, or a specific bit on a scalar typed tag or parameter.
- Instance-specific data also applies to definitions extending other definitions. A derived definition may have “instance specific data” different than the definition it extends.
These examples show Smart Object syntax.
Situation | Example |
---|---|
Smart Object definition with values assigned to tags contained within the SO |
|
SO instances with instance-specific values |
|
SO instances with structured instance-specific values |
|
SO definition with instance- specific values – extending from base |
|
Provide Feedback