Hi there,

We have an external entity that we consume through an extension. This entity has a few computed columns that make use of sql functions and can't be moved to OutSystems for obvious reasons.

Problem we are facing is: when we try to use entity actions created by the platform it fails because computed columns can't be modified. This is error message we get:

"The column "*************" cannot be modified because it is either a computed column or is the result of a UNION operator."

Things I have tried so far: 

  1. Mark the attributes as Ignore and Outsystems doesn't show the attributes in consumer modules anymore. Downside is that we can't use those attributes anymore. I though of importing that entity twice as read-only and write-only but Integration studio won't allow for it.
  2. Tried changing the Auto Generated attribute on the extension entity to let the platform know that it can't modify it. But when I update the reference to the entity it marks the IsMandatory property on those attributes as true by default. I can see in the change log that IsMandatory has changed from "Yes" to "No" but when I refresh the reference nothing changes and on re-opening the dependencies again the Refresh option is still there.

This obviously looks like a bug in the service studio to me but I am also not sure if it'll help me in fixing the actual issue which is to keep the computed columns without OutSystems trying to update those.

Looking for directions here.


Thanks in advance,

Sunil

Hello Sunil,

I was suggested that in this case, a workaround would be to use SQL instead of the Entity Actions.

Cheers.

Eduardo Jauch wrote:

Hello Sunil,

I was suggested that in this case, a workaround would be to use SQL instead of the Entity Actions.

Cheers.


Thanks Eduardo. Appreciate the response. I'm not totally against it but at the current stage we don't want to go to Advanced SQL. 

I have logged a support ticket to check if there's another way of doing it or working around the Service Studio bug. I'll update here once we have a resolution.