Cause
This error occurs if your application code attempts to modify a property of the receiver (self) in a non-updating method. As non-updating methods cannot modify the receiver object, this is invalid.
This error is also returned if your code passes a property of the receiver as a parameter to another method, where that parameter is defined as usage io, output, or input. As the other method can update this parameter (and would thus indirectly update the receiver), this is not permitted.
Action
Remove the code that attempts to modify the property. If the error is being reported on the passing of a parameter, it may be possible to change the usage of that parameter to constant (the default), in order to resolve the error.