I need to write a report on tenants which gives me the tenant name and the last time the tenant was accessed. My original approach was to modify the pyTenantList report in the shared layer (which has pyTenantName) and add pyLastSignOn to it, however that property is in a locked Pega RS and is not optimized. Unfortunately this cannot be modified.
The UDFs I am referring to are(were) OOTB Pega UDFs for extracting unoptimized properties from the blob, which is why I qualified my statement with an "if". I believe there was an effort to stop using them as they are expensive calls, and they may no longer exist in a given version.
Having said that, this post talks about how to set up a pr_read_from_stream() call for use in a query: