In SDDM 3.1.2, I have a model of structured types with methods in the Data Types Model. On the Data types diagram, I modify the code in the method body. These changes are not reflected in the corresponding physical models structured types method body. The two ways I can get the changes from the Data Types model to the physical are to either drop and recreate the physical model or hand code (cut and paste) the method body to the physical model. When I drop and recreate the physical model, I have to reset the drop boxes for the constructor methods for the parameter of SELF from In, Copy to IN-OUT No Copy.
It looks like this is a waterfall approach for migrating code from one phase of the development cycle to the next. Is this the intent of the SDDM design team or a feature with this version? Would if be possible to have the method body code in the physical model kept in sync with the Data Types model method body code until a flag is set after which those two lines then begin to diverge?
thanks for reporting that. Our general approach is to take definition from relational model if definition in physical model is not changed. It appears it's not implemented for Data types model.
I logged a bug for that.
As Philip said, our general approach is to take the definition from the Relational Model or Data Types Model, provided the definition has not been changed at the Physical Model.
This is implemented for Method bodies, so I suspect you had previously changed the Method Body in the Physical Model?
In this case, if you reset the definition in the Physical Model to be exactly the same as in the Data Types model, the "changed" marker in the Physical Model will be unset, and any subsequent changes in the Data Types Model will appear in the Physical Model.
What happens to the "changed" marker when I update the properties of a parameter? In this case for a Constructor function (method) where the parameter SELF is used. In the Data Types diagrammer we don't have the option to set that parameter to "IN OUT NO COPY". Currently that has to be done at the physical implementation level. By changing those parameter options, does that set the "changed" marker for body as well?
This "changed" marker is just for the Method Body. It gets set if the Body is set to something that is different from the value in the Data Types Model.
It is not affected by changes to parameter properties.