Unexpected Behavior with Inherited Entities - Any Ideas Welcome!
I have a reporting capability in my app whose behavior has changed since an upgrade to 6.3.1 from 5.21.2, and I am very puzzled as to why it has changed. I am hoping the community can help me see what I am missing. The report in question uses a parent - child entity structure, with the child inheriting from the parent - so that I don't have to re-enter all of the fact attributes. In addition, the child has an association with the parent that is 1 to Many and has delete behavior to delete all children when the parent is deleted. You can see this structure in the follow image: I have a refresh microflow in my app that will update the data in this structure if something changes, for instance, perhaps the user wants to run the report for a different set of dates than she ran it for previously. One step in this microflow is to retrieve all children for the passed in parent and delete them before generating an updated set of children. Here is a picture of the relevant part of this microflow: The issue I am running into is that when the child is deleted, the parent is also deleted. So the update microflow runs to update the parent report object and when it is complete, the parent report object no longer exists. Also, when this delete happens, the delete behavior of the associations is not respected, i.e. executing a delete for one of the children does not result in any of the other children being deleted, which I would expect them to be. I have checked, and this behavior works differently (I think correctly) in 5.21.2. When I delete a child, the parent is not deleted. I have also checked permissions extensively, on both the parent and child entities, as well as event handlers, and haven't found anything that looks like it would cause this behavior. In addition, I created a new project in 6.3.1 with a similar structure, and the behavior is as it should be, i.e. deleting the child does not delete the parent and deleting the parent deletes all children. If anyone sees anything that may be causing this behavior, I would welcome any suggestions or ideas! I've been banging away at this for a couple of days with no progress. Thanks in advance!
What you're describing definitely sounds like a bug. You should try cutting down the project to just the two entities and the microflow to see if you can narrow down the problem and submit a ticket. Inheritance is notoriously finnicky and the Mendix runtime might be confusing generalization and specialization for delete purposes.
For the time being you should probably manage your delete behavior by after commit microflow, but I'm assuming you've already thought of that.