Business Data from Process Variable required in Process Report

We have a process report in the context of a single process model. This process model has around 20 - 25 nested sub processes with human task(s) in it. Our requirement is to show a task report from where a group of users can view the status of various tasks (active, assigned and completed) and do reassignment if necessary.

Now we have no issue in showing the task related metrics like taskName, status, assignedTo, etc. But we also need few business process data (such as requestId, requestType, businessUnit) to be shown in the report (and option to use filters on them). All these process data are present in one particular CDT which flows across all the process models.

But here the issue is the name of process variable used in each sub process are different (since they were created by different people for various purpose and later integrated for this workf...

OriginalPostID-241727



  Discussion posts and replies are publicly visible

Parents
  • @kumaraveln I believe doing something as follows while working on a similar use-case but for an in-flight modification. Not sure how far the following works but I would suggest giving it a try and let us know if it worked. I retrieved the PVs based on pm!version so assuming that it should be possible with pm!id as well.

    In case if gblRequestDetails_cdt is of type single:

    fn!property(
    \tfn!displayvalue(
    \ tpm!id,
    \ t{
    \ t/*Either you can use the integer type process model ids or process model type constants here*/
    \ tcons!MY_PM1,
    \ tcons!MY_PM2,
    \ tcons!MY_PM3,
    \ t..
    \ t},
    \ t{
    \ tpv!identicalPVWIthDifferentNameInPM1,
    \ tpv!identicalPVWIthDifferentNameInPM2,
    \ tpv!identicalPVWIthDifferentNameInPM3,
    \ t..
    \ t},
    \ tnull
    \t),
    \t"requestId",
    \t""
    )

    In case if gblRequestDetails_cdt is of type multiple:

    fn!property(
    \tfn!choose(
    \ tfn!wherecontains(
    \ tpm!id,
    \ t/*Either you can use the integer type process model ids or process model type constants here*/
    \ t{
    \ tcons!MY_PM1,
    \ tcons!MY_PM2,
    \ tcons!MY_PM3,
    \ t..
    \ t}
    \ t),
    \ t{
    \ tpv!identicalPVWIthDifferentNameInPM1,
    \ tpv!identicalPVWIthDifferentNameInPM2,
    \ tpv!identicalPVWIthDifferentNameInPM3,
    \ t..
    \ t}
    \t),
    \t"requestId",
    \tnull
    )
Reply
  • @kumaraveln I believe doing something as follows while working on a similar use-case but for an in-flight modification. Not sure how far the following works but I would suggest giving it a try and let us know if it worked. I retrieved the PVs based on pm!version so assuming that it should be possible with pm!id as well.

    In case if gblRequestDetails_cdt is of type single:

    fn!property(
    \tfn!displayvalue(
    \ tpm!id,
    \ t{
    \ t/*Either you can use the integer type process model ids or process model type constants here*/
    \ tcons!MY_PM1,
    \ tcons!MY_PM2,
    \ tcons!MY_PM3,
    \ t..
    \ t},
    \ t{
    \ tpv!identicalPVWIthDifferentNameInPM1,
    \ tpv!identicalPVWIthDifferentNameInPM2,
    \ tpv!identicalPVWIthDifferentNameInPM3,
    \ t..
    \ t},
    \ tnull
    \t),
    \t"requestId",
    \t""
    )

    In case if gblRequestDetails_cdt is of type multiple:

    fn!property(
    \tfn!choose(
    \ tfn!wherecontains(
    \ tpm!id,
    \ t/*Either you can use the integer type process model ids or process model type constants here*/
    \ t{
    \ tcons!MY_PM1,
    \ tcons!MY_PM2,
    \ tcons!MY_PM3,
    \ t..
    \ t}
    \ t),
    \ t{
    \ tpv!identicalPVWIthDifferentNameInPM1,
    \ tpv!identicalPVWIthDifferentNameInPM2,
    \ tpv!identicalPVWIthDifferentNameInPM3,
    \ t..
    \ t}
    \t),
    \t"requestId",
    \tnull
    )
Children
No Data