View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0006080 | 10000-006: Mappings | Spec | public | 2020-09-22 12:37 | 2020-12-01 16:29 |
| Reporter | Thomas Merk | Assigned To | Randy Armstrong | ||
| Priority | normal | Severity | minor | Reproducibility | have not tried |
| Status | closed | Resolution | fixed | ||
| Summary | 0006080: Decimal data type encoding | ||||
| Description | The encoding of data type "Decimal" is not clearly defined. In Part 6 it is stated:
It is also stated, that decoders that do not understand the Decimal type shall treat it like any other unknown structure. However every other "unknown" structure is described at other places, what is missing completely for this data type. Without additional infomation (in Definition" or dictionary) it is impossible for decode this structured value. | ||||
| Tags | No tags attached. | ||||
| Commit Version | |||||
| Fix Due Date | |||||
|
|
Even the typical refernce "HasEncoding" is missing at this data type. Is it intended, that this data type has to be implemented like a built-in type? Even built-in types (e.g. "LocalizedText") are described in dictionary, so why not this data type? |
|
|
I think the DecimalDataType is something specific to the Foundation's .NET implementation. There are a lot of other types that do not exist as well. However it should be noted that this is only in the "Services" NodeSet, as far as I'm aware the current 1.04.7 standard nodeset does not have this. In addition at least now it is propertly marked as "CodeGenerator" specific, which to my knowledge means it is not a real type, only something the .NET impl needs. In our Prosys OPC UA SDK for Java codegen I'm ignoring every CodeGenerator marked type as they are not real types (in the services nodeset it is like this at the moment): And I think the original spec text of "like other structures" mean as a Structure for which there is no encoding defined, i.e. it will remain as binary/xml/json raw ExtensionObject. So basically it is a "built-in" type without taking a built in type number (of which are limited amount spaces left). |
|
|
Here is a quote from an email I received about this: We are currently on the way of defining the requirement for the decimal data type to be implemented in the SDK. On this way we are struggling a little bit. The information regarding Decimal is quite confusing in specification. It is represented below “Number” and has no data type description assigned So we are not sure how we have to implement encoding / decoding All this implies that we cannot treat the “Decimal” data type as any other structured type. |
|
|
Add text to clarify in Part 6 that stacks that want to encode/decode this type need to custom code this like is done for all other built-in types because The "structure" metadata is not present in the address space/nodeset. |
|
|
Fixed in Draft 22. |
|
|
Agreed to changes in Telecon. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2020-09-22 12:37 | Thomas Merk | New Issue | |
| 2020-09-22 13:03 | Thomas Merk | Note Added: 0012959 | |
| 2020-09-29 11:42 | BjarneBostrom | Note Added: 0012984 | |
| 2020-09-29 15:12 | David Levine | Note Added: 0012985 | |
| 2020-09-29 15:23 | Jim Luth | Note Added: 0012986 | |
| 2020-09-29 15:23 | Jim Luth | Assigned To | => Randy Armstrong |
| 2020-09-29 15:23 | Jim Luth | Status | new => assigned |
| 2020-11-27 08:31 | Randy Armstrong | Status | assigned => resolved |
| 2020-11-27 08:31 | Randy Armstrong | Resolution | open => fixed |
| 2020-11-27 08:31 | Randy Armstrong | Note Added: 0013302 | |
| 2020-12-01 16:29 | Jim Luth | Status | resolved => closed |
| 2020-12-01 16:29 | Jim Luth | Fixed in Version | => 1.05 |
| 2020-12-01 16:29 | Jim Luth | Note Added: 0013329 |