I have been working on setting up the UFL connector to store data in PI and create an AF structure based on incoming json files.
The connector is creating all of the points desired, the AF structure and element template with all required attributes, and assigning the correct static attribute values.
Where I am having an issue is when the input json file does not contain one or more of the defined variables that the configuration file is parsing for. Sometimes the incoming json file will exclude a field all-together for an entry (i.e., the variable is not listed in one of the entries instead of listing the variable as a blank or null value - example below). The excluded variables are not being used to define point names or AF hierarchy, but are used in updating PI point values which are tied to element attributes.
It appears that when this is the case all of the pre-existing AF elements that are updated by parsing the input file will alter their structure to exclude the missing field (even if it is missing for only one of the elements being updated). When looking at the message log, the variable in question does not print any output to the log for the missing entry (not a blank/null output, but no entry at all in the log). Entries in the same file that are not missing the variable in question do print correctly to the log and the points (but are still excluded in AF).
Is there a way to set up the template/configuration file to prevent excluding the value, even if it is not included in one of the entries? Or is there a way to set up the configuration file to print a blank/null/etc. when the field is not supplied by the incoming file?
Any ideas would be much appreciated.