Sequence Property Processing

This topic discusses how sequence properties are processed when nodes are added or updated in a viewpoint.

Interactive Requests

When you add a sequence property to a node type, any time a node with that node type is added, inserted, moved, edited, or reordered, if that property does not already have a defined value then it is populated with the next sequence value. Sequence properties are not populated if a node is removed or deleted.

The process of retrieving and populating the next sequence value in a property is an internal system property update action and therefore is not subject to security and validations. In other words, when a user adds or updates a node the system populates all sequence data types for that node that do not already have defined values even if:

  • The user does not have write access on that property
  • The property is hidden in the viewpoint
  • The property is not defined as editable
  • The property has Lock on Commit enabled

However, if a user clears or edits the sequence property manually the usual security and validations are applied.

Note:

For copy and model after operations the sequence values are not copied from the source nodes. The values for the new nodes are generated from the next value in the sequence.

Request File Load

For requests from a file load (that is, uploaded request files in an interactive request, compare requests, copy or model after requests, subscriptions, consolidation requests, and merge imports), nodes that do not already have defined values for a sequence property are updated as follows:

  • If the request file contains a value for the sequence property, the value is updated as normal. This is a user action and security and validations apply.
    • The <blank> keyword updates the property with a defined blank value.
    • The <clear> keyword clears the existing value (including blank values) and gets the next sequence value.

      Tip:

      If you add a sequence property to an existing node type, an easy way to generate sequence numbers for that property on existing nodes without making any other changes is to update that property with the <clear> keyword using a request file or viewpoint load.
  • If the request file does not contain a value for the sequence property, then the property is updated with the next value in the sequence. This is an internal system action and security and validations do not apply.

    Note:

    Sequence properties for nodes in a request file are updated even if that property isn't included in the file. For example, if your file contains updates for the Description property only, any nodes in that file that do not have values defined already for a sequence property will also have that property updated with the next sequence value, even if the user doesn't have write access to that property or the property is hidden in the viewpoint.

Imports and Viewpoint Loads

Merge Mode

Imports and viewpoint loads in merge mode are processed the same as Request File Load, above. All sequence properties (including unbound properties) that do not already have a defined value are updated with the next value in their sequence during the import or viewpoint load.

You can use the <clear> keyword to generate sequence values in imports and viewpoint loads in Merge mode.

Reset and Replace Modes

For imports in Reset or Replace mode, unbound sequence properties are not modified. Only bound sequence properties in Universal applications can be updated with sequence values. The values are updated following the same processing as Request File Load, above.

For viewpoint loads in Replace mode, only the sequence properties that are included in the viewpoint load file are updated with a value. If your viewpoint load file does not contain a column for a sequence property, that property is not updated during the viewpoint load.

Using the <clear> Keyword in Reset and Replace Modes

For viewpoint loads in Replace mode, you can use the <clear> keyword to generate sequence values for sequence properties.

For imports in Reset or Replace modes, you can use a clear keyword to generate sequence values if you have set one up in your import options. See Managing Import Options.