Question

4
Replies
2281
Views
AndrzejJ Member since 2013 2 posts
Bizmatica
Posted: 2 years ago
Last activity: 2 years 4 months ago
Closed
Solved

Is Read-Only Data Page really a read only page ?

I'm a little confused. From my tests, it looks like a read-only data page may not always be a really read-only one.
I've created a data page with below spec:

  • Scope: Thread,
  • Edit mode : "Read Only",
  • Structure: List (pages of concrete -Data class),
  • Data source: report definition on -Data class,
  • One input parameter passed to above report definition.

Data page looks normal, until I've tried accidentally update its data with a data transform. I just did something like this:

ForEachPageIn{ D_Tester[ID:"1"].pxResults } : Set .pyTransientText = "aValue"

And a surprise was that it works, data in a "read-only" data page were changed!

As an additional test I've added a second data source to the same data page (and an additional param responsible to point to proper data source). The second datasource was just a data transform returning a list of objects of the same class. Now, data page called with a param which chooses
the second data source behaves correctly, when I tried to run the same code to change its data I got expected exception:

The page or property D_Tester_pa611332804608059pz.pxResults(1).pyTransientText is read-only, and cannot be modified.
Calling method: com.pega.pegarules.data.internal.clipboard.ClipboardPropertyStrMinFeatureImpl.setValueOverride(Object)

So, currently I have two instances of the same data page called with two different params, first is really read-only but the second,sourced with
a report definition, is not read-only. I checked that I may change only data in .pxResults page list, trying to perform something like :

Set D_Tester[ID:"1"].pyTransientText = "aValue"

returns expected exception in both cases.
Has anyone seen such a behavior? Am I missing something? My Platform version in 7.2.1.

Low-Code App Development SR Created
Moderation Team has archived post
Share this page LinkedIn