View Issue Details

IDProjectCategoryView StatusLast Update
0008315Compliance Test Tool (CTT) Unified Architecture1 - Script Issuepublic2023-11-22 18:25
ReporterHock, Christian Assigned ToArchie Miller  
PriorityhighSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version1.04 
Target Version1.04Fixed in Version1.03.341.401 
Summary0008315: CTT tool makes a distinction between 'null' and 'empty' OPC UA Variants
Description

In Part 6 V 1.04 and 1.05 is the following described:

5.1.6 Variant (V1.04)
• A Variant is a union of all built-in data types including an ExtensionObject. Variants can also contain arrays of any of these built-in types. Variants are used to store any value or parameter with a data type of BaseDataType or one of its subtypes.
Variants can be empty. An empty Variant is described as having a null value and should be treated like a null column in a SQL database. A null value in a Variant may not be the same as a null value for data types that support nulls such as Strings. Some DevelopmentPlatforms may not be able to preserve the distinction between a null for a DataType and a null for a Variant, therefore, applications shall //not// rely on this distinction. This requirement also means that if an Attribute supports the writing of a null value it shall also support writing of an empty Variant and vice versa.
• …

5.1.7 Variant (Draft 1.05.25 – latest Draft on sharepoint)
• A Variant is a union of all built-in data types including an ExtensionObject. Variants can also contain arrays of any of these built-in types. Variants are used to store any value or parameter with a data type of BaseDataType or one of its subtypes.
Variants can be empty. An empty Variant is described as having a null value and should be treated like a null column in a SQL database. A null value in a Variant may not be the same as a null value for data types that support nulls such as Strings. Some DevelopmentPlatforms may not be able to preserve the distinction between a null for a DataType and a null for a Variant, therefore, applications shall //not// rely on this distinction. This requirement also means that if an Attribute supports the writing of a null value it shall also support writing of an empty Variant and vice versa.
• …

Additional Information

The CMP group and Alexander Allmendinger are aware of this problem and have agreed to no longer distinguish between 'empty' and 'null' OPC UA Variants in the CTT-Tool.

TagsNo tags attached.
Files Affected

library/AlarmsAndConditions/AlarmCollector.js
library/AlarmsAndConditions/AlarmUtilities.js
maintree/Alarms and Conditions/ A and C Base/Limit/Test Cases/Test_002.js
maintree/Alarms and Conditions/ A and C Basic/Test Cases/Test_005.js
maintree/Alarms and Conditions/ A and C Comment/Test Cases/Test_002.js

Relationships

has duplicate 0007990 closedArchie Miller CTT UA Scripts A&C / A&C Basic / Test_005.js does not allow NULL for BranchId, Comment, ClientUserId 
related to 0007943 closedPaul Hunkar CTT UA Scripts Comment: CTT-Tool complains that the Comment-Field is NULL 
related to 0008340 closedArchie Miller CTT UA Scripts Clarification on InputNode requirement in AlarmConditionType 

Activities

Paul Hunkar

2023-02-06 16:00

administrator   ~0018669

Retargeting this issue to look at A&C scripts and how they handle nulls that are required to be returned for fields that are not available from a given event , but are specified in the select clause of the event filter.

Archie Miller

2023-07-06 18:20

administrator   ~0019691

Went through CTT Working group AlarmFieldsNULL document, and addressed the validation of the fields Identified.
Fields
SourceNode
SourceName
BranchId
LastSeverity
InputNode
SetpointNode
Comment
Comment.SourceTimestamp
ClientUserId

Then walked all scripts to ensure validity.

Paul Hunkar

2023-08-03 15:12

administrator   ~0019800

reviewed changes in previous call - agreed to changes then (part of pull request) - agreed to close issue

Issue History

Date Modified Username Field Change
2022-09-10 09:56 Hock, Christian New Issue
2023-02-06 16:00 Paul Hunkar Note Added: 0018669
2023-02-06 16:00 Paul Hunkar Assigned To => Archie Miller
2023-02-06 16:00 Paul Hunkar Status new => assigned
2023-07-06 18:20 Archie Miller Status assigned => resolved
2023-07-06 18:20 Archie Miller Resolution open => fixed
2023-07-06 18:20 Archie Miller Note Added: 0019691
2023-07-06 18:23 Archie Miller Files Affected => library/AlarmsAndConditions/AlarmCollector.js
library/AlarmsAndConditions/AlarmUtilities.js
maintree/Alarms and Conditions/ A and C Base/Limit/Test Cases/Test_002.js
maintree/Alarms and Conditions/ A and C Basic/Test Cases/Test_005.js
maintree/Alar...
2023-08-03 15:12 Paul Hunkar Status resolved => closed
2023-08-03 15:12 Paul Hunkar Fixed in Version => 1.03.341.401
2023-08-03 15:12 Paul Hunkar Note Added: 0019800
2023-08-03 15:42 Paul Hunkar Relationship added related to 0007943
2023-10-09 14:48 Archie Miller Relationship added related to 0007990
2023-10-19 14:23 Paul Hunkar Relationship replaced has duplicate 0007990
2023-11-22 18:25 Archie Miller Relationship added related to 0008340