Question
Oligos SAS
FR
Last activity: 29 Dec 2020 9:10 EST
report definition on rule-obj-activity to find hard coded classes
Hi, i am looking for a way to do report definition on rule-obj-activity in order to find hard coding class on property-set.
I need to write something like select the activities where in "whatever" step there is a property-set that as a PropertiesValue that contains : "My-Hardcoded-class" .
In the case of the activities, the XML contain 2 pagelist :
- LVL-0<Pegadata>
- LVL-1<pySteps REPEATINGTYPE="PageList">
- LVL-2<pyStepsActivityName>Property-Set</pyStepsActivityName>
- LVL-2<pyParamArray REPEATINGTYPE="PageList">
- LVL-3<PropertiesValue>My-Hardcoded-class</PropertiesValue>
how can we query in PEGA with page-list ?
I have tried : the star selector * like .pySteps(*).pyStepsActivityName but it is not supported and other like .pySteps(1,2,3).pyStepsActivityName or .pySteps[1,2,3].pyStepsActivityName but nothing work.
Same issue with my filter : .pySteps(*).pyParamArray(*).PropertiesValue
Does someone can help me on the subject ?
many thx
I have not yet find a solution apart from looping in an activity :
obj-browse (pageActivity, Rule-Obj-Activity)
> loop (pageActivity.pxresults)
> obj-openbyhandle (CurrentActivity)
>set a flag
>loop (.pySteps)
> When pyStepsActivityName=="Property-Set"
>loop (.pyParamArray)
>Property-Set (flag , When @startsWith(.PropertiesValue,"MyHardCodedClass")
>PageCopy (CurrentActivity into ResultsActivities.pxResults(<PREPEND>))
But I still loop only on a first step level (i have guessed that 3 loops levels is quite a lot when playing with more than 5000 activities).
So if someone get a better solution, please share, including an SQL request direclty on the database.
I have not yet find a solution apart from looping in an activity :
obj-browse (pageActivity, Rule-Obj-Activity)
> loop (pageActivity.pxresults)
> obj-openbyhandle (CurrentActivity)
>set a flag
>loop (.pySteps)
> When pyStepsActivityName=="Property-Set"
>loop (.pyParamArray)
>Property-Set (flag , When @startsWith(.PropertiesValue,"MyHardCodedClass")
>PageCopy (CurrentActivity into ResultsActivities.pxResults(<PREPEND>))
But I still loop only on a first step level (i have guessed that 3 loops levels is quite a lot when playing with more than 5000 activities).
So if someone get a better solution, please share, including an SQL request direclty on the database.
NB: you get the ResultsActivities list in the clipboard but in case you need a report you can add a 'call pxConvertResultsToCSV (ResultsActivities)' at the last step , it has to be run from an application (eg: action on a button), pass pxResults as pagelist and a filename for donwload purpose