I wanted to report a bug. So, in one of the Object Classes we are using there is a property called QTY in stock. This property is of Data Type Integer. No matter what we tried we could not write value to this property. To get around this and possibly find a solution we created another property of Integer type on the same object class called it Total Stock, replaced all the places where QTY in stock was used including actions with Total Stock and suddenly we were able to write values to this. This is a bug we found and lost quite a bit of time trying to debug this issue. Thanks.
I’m very interested in understanding how this happened, and what steps can be taken to prevent it from happening in the future. It would be a big problem for us if important data was silently failing to be saved and just being lost, with no error messages or anything, as was the case here. Now I am worried that there are other similar data fields that are no longer functional, and we just haven’t discovered it yet.
Was “QTY in stock” property recently created, or has it been around for a long time?
Was this experienced in Development environement only?
Have you checked that you do not have any runtime properties on that same datasource with the same nodename (qTYInStock)?
My intial guess: You added this new property in the Global Data Model, but you already have a runtime property on the data source level with that same node name. A change request for improving this check (check nodenames of all runtime properties on all data sources) is already in place.
Yes, a nodename clash. Two properties with the same node name on the same data source in use in the same App.
As mentioned, it is a registered challenge. And I just checked the status: It is fixed in the next release!
Current version: Uniqueness check on nodename is performed when adding new Object Class Properties on itself, and when adding Data Source runtime properties (check on same data source and object class properties).
Next version: Uniqueness check is improved: now checking all runtime properties of all data sources in all Apps and Services when adding new Object Class Properties in the Global Data Model.