Read page type property from a blob using pr_read_from_stream UDF
I have a requirement to extract page type property for a work object from the blob stored in the database using pr_read_from_stream UDF or through any other method that can be used through a RDB methods from PEGA.
Please note that in my case since the assignment has been corrupted.Iam not able to use Obj methods for extracting the properties.
I am also able to get the values of the single properties (top level or within a page) with the query given below:-
Select pr_read_from_stream("PROPERTY",pzInsKey,pzpvstream) from TABLE
But how can i get the whole page property?Pls suggest
**Updated by Moderator: Marissa. Removed user added Ask the Expert and #helpme group tags. Apologies for confusion, shouldn't have been an end-user option***
-
Like (0)
-
Accepted Solution

Hi Kahym,
It looks like you looking for the property "Active" in the BLOB. Few questions
- Does the property Active exist in the BLOB for this pzInsKey? You can verify that by doing an Obj-Open-By-Handle for this instance and checking on the clipboard viewer.
- The property name (in this case Active) should be provided in the exact case as defined in the application. Is that the case here?
- Are you getting null if you tried to use pzInsKey instead of Active in the pr_read_from_stream function?
-Rajiv
Select pr_read_from_stream("PROPERTY",pzInsKey,pzpvstream) from TABLE
Change the above to Select pr_read_from_stream(".pagepropertyname.propertyname", pzInsKey, pzPVStream) from TABLE
If you do want to get scalar properties, then you can use the report definition rule to refer to the unexposed embedded page property and it will internally use the UDFs.

Hi,
I am also trying to get unexposed properties from the BLOB however I keep getting null. What am I doing wrong?
select pr_read_from_stream('Active', pzInsKey, pzPVStream)
from PEGAMARKETRULES.pr4_rule where pzinskey = 'RULE-DECISION-DECISIONPARAMETERS ISBANK-NBAFW-SR-DRNVEKAR-BNKCLIKHZM BNKCLIKHZM #20160826T132146.021 GMT' ;
Please help !
Thanks
Accepted Solution

Hi Kahym,
It looks like you looking for the property "Active" in the BLOB. Few questions
- Does the property Active exist in the BLOB for this pzInsKey? You can verify that by doing an Obj-Open-By-Handle for this instance and checking on the clipboard viewer.
- The property name (in this case Active) should be provided in the exact case as defined in the application. Is that the case here?
- Are you getting null if you tried to use pzInsKey instead of Active in the pr_read_from_stream function?
-Rajiv

Hello Rajiv,
Thanks for the answer,
Here are my responses:
- Does the property Active exist in the BLOB for this pzInsKey? You can verify that by doing an Obj-Open-By-Handle for this instance and checking on the clipboard viewer.
- I Have shared the Print Screen.
- The property name (in this case Active) should be provided in the exact case as defined in the application. Is that the case here?
- Yes
- Are you getting null if you tried to use pzInsKey instead of Active in the pr_read_from_stream function?
- No, I do get the pzInsKey

I Have shared the Print Screen.
The print screen is not showing "Active" property in the clipboard viewer snapshot.
Thanks for Replying.
But is there any way to read properties within a page by just specifying the pagename as in the case of the pagegroup is dynamic where its subscript is not constant and keeps changing.
I wanted to create a clone of the old work object so I need all the property values.
Pls help and thanks in advance!!
As of now, there is no way to get this data from the UDF in the database. The only option is to use obj-open (or obj-open-by-handle) from within the Pega platform.
That said, what would be the usecase of getting all properties from a pagegroup using an UDF?

Hi,
Since these values are help in a DecisionData, we are unable to "Optimize" the Properties to expose them. Since we can see the Object in the DB, I was wondering if it was possible to somehow reach the data.

Since these values are help in a DecisionData, we are unable to "Optimize" the Properties to expose them.
I am not sure I understand the above statement and why optimize (declare index or column optimization) wouldn't work.

Hi,
The requirement is to extract proposition metadata to an open datamodel so that customer can create its own reports. Pega Marketing Interacton History is open i.e. it can be quired via plain SQL. However, same cannot be applied for proposition metadata. Therefore, customer wonders if decision datastore can be queired. Apparently, only way to read that data is to write a custom Activity in Pega or extract it to an open schema via BIX.
Regards,

If the intent is to extract data from the BLOB for reporting (BI), then BIX is the right solution to use.