Register Options
- Last UpdatedJan 24, 2025
- 7 minute read
Register Level Settings
These settings are specified in the RDL in ISM against an individual register or a set of registers. Settings marked as Inherits = Yes may be set on a set of registers. Note that the base InfoInterface/Data Sources nodes is not valid for inheriting settings, only nodes underneath this.
|
Setting |
Phase |
Inherits |
Description |
|---|---|---|---|
|
Category |
Capture |
Yes |
Mandatory. Specifies one of four register categories to load data against: Tag|Doc|Gen|Phy (only the first 3 characters of the text are checked). |
|
RegisterType |
Capture |
No |
Mandatory. Specifies one of five loading mechanisms: Primary|Secondary|Attributes|Associations|Tracker |
|
IDColumn |
Capture |
No |
Specifies the column to establish the identity for each object-record (alternately specify IDExpression). |
|
IDExpression |
Capture |
No |
Specifies an {{ Expression }} to establish the identity for each object-record (alternately specify IDColumn). |
|
IDContext |
Capture |
Yes |
Optionally specifies an {{ Expression }} used to establish a unique register-level context (ID uniqueness context) for object-records. |
|
Nomenclature |
Interpret |
Yes |
Specifies a nomenclature (corresponding ID set) to use when mapping data to the RDL. |
|
SuppressIdWarnings |
Capture Interpret |
Yes |
If set, logs will not include warnings about file records which do not specify an ID. |
|
FilePath |
Capture |
Yes |
Legacy setting to specify a folder under ./source data/data load where incoming register update files will be found. |
|
FileName |
Capture |
Yes |
Default *.* Setting to specify which files to read into a register. |
|
ContentType |
Capture |
Yes |
Specifies the file format to read data from. xml|json|eiwm|htm|html|xls|xlsx|txt||tab|csv|tsv relaxed|csv relaxed|buxml For example, Load file may be input.xls, however content is html. |
|
CaptureMethod |
Capture |
Yes |
Specifies if we capture data as a delta (explicit delete) or full update (implicit delete). Part|Delt|Full (first four characters of text are read). |
|
DeleteWhere |
Capture |
Yes |
Optionally specifies an {{ Expression }} to explicitly mark object-records as deleted. For example, {{ @Action starts any [‘d’, ‘r’, ‘x’] }} |
|
CaptureRejectFileRule |
Capture |
Yes |
Specifies a filter {{ Expression }} to set the conditions under which the file will be rejected. For example, {{ if 'Tag Number'.InList(GetAttributeFields).isFalse then '[Tag Number] Field is missing' }} |
|
CaptureRejectRecordRule |
Capture |
Yes |
Specifies a filter {{ Expression }} of records to reject in a register. For example, {{ if @[DOCUMENT NUMBER].isUnset then '[DOCUMENT NUMBER] is required' }} |
|
ExcludeRecords |
Interpret |
Yes |
Specifies a filter {{ Expression }} of records to exclude from a register. Typically, this would be used when publishing a secondary set of information from a main register (in a Linked Register scenario). |
|
IncludeRecords |
Interpret |
Yes |
Specifies a filter {{ Expression }} of records to include in a register. Typically, this would be used when publishing a secondary set of information from a main register (in a Linked Register scenario). |
|
WhiteSpace |
Interpret |
Yes |
Optionally specifies a whitespace handling rule to apply to all data in a register. Trim|Normalise If set to Trim, removes whitespace from the start and end of all object-record values. If set to Normalise, performs a trim and converts any sequence of whitespace to a single, standard, space. |
|
AssociationDelimiter |
Interpret |
Yes |
If set, will split out any reference fields (data that is interpreted as an association) using the specified list of delimiter characters. For example, setting to ;,| would split a;b|c,d into four values. |
|
IgnoreValue |
Interpret |
Yes |
If set, specifies an {{ Expression }} to identify values which will be ignored. For example, {{ $[attr.value] in [‘unknown’,’unset’] }} |
|
IgnoreEmpty |
Interpret |
Yes |
If set to true, y, yes or on then any empty values will be ignored rather than an instruction to set the value to blank. |
|
PropertyValue |
Interpret |
Yes |
If set, specifies an {{ Expression }} to try and split out values from incoming data where units are combined with values. This only applies to incoming data which is mapped to a property (attribute with a measure class specified). For example, {{ $[attr.value].replace(/^\s*([^A-z'%\$#@"°\s]+)\s*([A-z"°'%\$#@].*)$/, '$1').trim }} |
|
PropertyUom |
Interpret |
Yes |
If set, specifies an {{ Expression }} to try and split out units of measure from incoming data where units are combined with values. This only applies to incoming data which is mapped to a property (attribute with a measure class specified). For example, {{ $[attr.value].replaceOrBlank(/^\s*([^A-z'%\$#@"°\s]+)\s*([A-z"°'%\$#@].*)$/, '$2').trim }} |
|
ResolveId |
Interpret |
Yes |
Default is no. If set to yes, it will use Naming and Numbering templates to establish a correct ID using a loose match, or if no match will unset the ID. If set to try, it will use Naming and Numbering templates to establish a correct ID using a loose match, or if no match will use the original ID. |
|
ResolveReferences |
Interpret |
Yes |
Default is no. If set to yes, it will use Naming and Numbering templates to establish a correct ID using a loose match for any columns that define an association, or if no match will unset the ID. If set to try, it will use Naming and Numbering templates to establish a correct ID using a loose match for any columns that define an association, or if no match will use the original ID. |
|
Priority |
Consolidate |
Yes |
When set, indicates priority for this register when consolidating against other registers. A lower number indicates a higher priority, with default being 999999999. |
|
Primary Register |
|||
|---|---|---|---|
|
NameColumn |
Interpret |
Yes |
Specifies the column to establish the human readable name for each object-record (primary registers only, alternately specify NameExpression). |
|
NameExpression |
Interpret |
Yes |
Specifies an {{ Expression }} to establish the human readable name for each object-record (primary registers only, alternately specify NameColumn). |
|
ClassColumn |
Interpret |
Yes |
Specifies the column to establish the class for each object-record (primary registers only, alternately specify ClassExpression). This will try to map values from this column against IDs and Nomenclature values in the RDL. If no match is found, ClassDefault is used. |
|
ClassExpression |
Interpret |
Yes |
Specifies an {{ Expression }} to establish the class for each object-record (primary registers only, alternately specify ClassColumn). This will try to map values from this {{ Expression }} against IDs and Nomenclature values in the RDL. If no match is found, ClassDefault is used. |
|
ClassDefault |
Interpret |
Yes |
Specifies a default class to use for each object-record when the ClassColumn does not match a class in the RDL. The class must be found using either the ID or a Nomenclature match. |
|
Tabular Input Formats (Excel, Text-Delimited) |
|||
|---|---|---|---|
|
HeaderRow |
Capture |
Yes |
The row, or rows, of a tabular format used to determine headers (field names). Default 1. May be set to construct field names from multiple rows, for example, 3:5. If set to 0, then no headers are expected and based on the first row of data field names will be F1, F2, and so on. If a HeaderRow is specified, but a column has no header, this will be called for example, F5 for the fifth column. |
|
FirstDataRow |
Capture |
Yes |
The first data row from which to read data, defaults to the first row after the header row, so generally not required to be set. |
|
TooFewFields |
Capture |
Yes |
Default is Warning. Specifies the reading behavior, if a row has fewer fields than expected, based on the header row. |
|
TooManyFields |
Capture |
Yes |
Default is Warning. Specifies the reading behavior, if a row has more fields than expected, based on the header row. |
|
Text-Delimited Input Formats |
|||
|---|---|---|---|
|
TextQuote |
Capture |
Yes |
Quote used to explicitly enclose string values. Default is " (double quotes). |
|
TextDelimiter |
Capture |
Yes |
Delimiter to separate values. Default is , (comma). Multi-character delimiters are supported. |
|
TextEndOfLine |
Capture |
Yes |
End of line token. Default is CRLF (Carriage Return and Line Feed). |
|
Duplicate Data Handling |
|||
|---|---|---|---|
|
DuplicateRecord |
Capture |
Yes |
Action to take when a duplicate record is encountered. Merge|First|Last|Reject |
|
DuplicateSequentialMax |
Capture |
Yes |
If set to 1 or more and DuplicateRecord is Reject, the limit at which a file will be entirely rejected, when sequential records are found to be duplicates. Default is 0 (allow all). |
|
DulicateNonSequentialMax |
Capture |
Yes |
If set to 1 or more and DuplicateRecord is Reject, the limit at which a file will be entirely rejected, when non-sequential records are found to be duplicates. Default is 0 (allow all). |
|
DuplicateAttribute |
Capture |
Yes |
When DuplicateRecord is Merge, the action to take when an attribute is found. The default Replace setting means last wins. Append will aggregate all distinct values. Replace|Append|Ignore |
|
XML and JSON Input Formats |
|||
|---|---|---|---|
|
RecordSelector |
Capture |
Yes |
Record selector for use when reading XML or JSON that specifies how to identify objects within the content. |
|
Attribute Registers |
|||
|---|---|---|---|
|
AttributeNameColumn |
Capture |
No |
Mandatory for an attribute register. Specifies the column from which to read an attribute name. |
|
AttributeValueColumn |
Capture |
No |
Mandatory for an attribute register. Specifies the column from which to read an attribute value. |
|
AttributeUnitsColumn |
Capture |
No |
Optional for an attribute register. Specifies the column from which to read an attribute value. |
|
Exclude |
Interpret |
No |
Optional rule specifying an {{ Expression }} to ignore certain values. For example, {{ $[attr.name] in ['process unit', 'area'] }} |
Register Column Level Settings
Register column settings are set as a property on an actual Column in a register Columns set.
|
Setting |
Phase |
Inherits |
Description |
|---|---|---|---|
|
Required |
Capture |
No |
If set to any value, it marks the column as requiring data. If any object-record is unset for this column and MaxRequiredFieldErrors check fails, it stops the load of a file (continuing to next file). |
|
MaxRequiredFieldErrors |
Capture |
No |
Default is 0 (allow all). If set to a number greater than 0, and this number of object-records would be rejected, because of required field failures, the entire load file will be rejected, rather than the standard behaviour of loading as much data as possible. |
|
ValueExpression |
Interpret |
No |
If set, specifies an {{ Expression }} which manipulates incoming data in some way. Note that due to the capture and interpret phases, this may be updated without needing to recapture data. |
|
Uom |
Interpret |
No |
If set, specifies a fixed UoM value to apply to all values in the column. |
|
UomColumn |
Interpret |
No |
If set, specifies another column in the register from which to find the UoM for values in this column. |
|
UomExpression |
Interpret |
No |
If set, specifies an {{ Expression }} which works out the UoM for values in this column. For example, {{ '-'.join(@[PressureUnits], @[PressureFlag]) }} |