with reference to my earlier posts

with reference to my earlier posts
forum.appian.com/.../e-213114
I am still not able to come to a conclusion or not able to figure out the root cause for this, Let me explain u the scenario
I have a main process(MP) model and 7 subprocesses(SP) in which all the 7 SPs have the same pv called empdetails CDT which is single.
1.Created a Task report having EMP ID as one column(value : empdetails_cdt.empID)with Context as MP and include SPs as "Yes".
2.at this time I couldn't get the values for some records in the report for emp ID.
3.rather I could see some multiple values like 123;123;123;(No Value) in the Emp ID column for some records
4.I tried changing the report context to All 7 sub processes and changed the include subprocess to "No".
5.Now what happened the values are present for all the records and the value is single which is 123
Scenario 2:
1. with the same report I added as Main process mode...

OriginalPostID-214102

  Discussion posts and replies are publicly visible

Parents
  • @harshav Hi, here goes the explanation to your questions as per my knowledge:
    1.Even though the CDT pv is single why am I getting multiple values in report for emp ID
    When you choose the option 'Include data from sub-processes', the data starts appearing from the sub-processes in the report for the each parent process row in the report. So let's take your case as an example. Let's say you have a PV by name 'employeeDetails_cdt' in the parent as well as child processes. While creating a report, choosing the option 'Include data from sub-processes' populates the particular parent process record with the values found for pv!employeeDetails_cdt.empID from parent as well as child processes. So that's how you end up in seeing multiple values, as your configuration itself is trying to query the values from multiple (parent and child) processes. If you know that the values are going to be same across the processes irrespective of hierarchy, then you may go for applying a function such as fn!union() to refrain from seeing duplicates in the report. Further you observe this behavior only for parent processes, as they are the ones that will pull more than one value depending on the child processes it has got. You won't observe this pattern for a child/standalone process (or a process that has no sub-process node configured in it) as it just gets a value of its own context but not any other values. You may see some null values out of the multiple values being seen here, but I guess that might be because of the reason that the values aren't populated in the corresponding sub-process.

    2. When I gave an indexing to the CDT pv in report how come the values are getting populated.
    I would leave this to others but a wild guess is that this could be because of the casting, that is, employeeDetails_cdt[1].empID resolves to a data type which is of type single.

    Re the Appian Version, to the best of my knowledge, at-least the functionality (Reporting and the configurations in it) which we are discussing here hasn't got any changes and so isn't dependent on the version.

    Let's see if other practitioners could give some invaluable suggestions.
Reply
  • @harshav Hi, here goes the explanation to your questions as per my knowledge:
    1.Even though the CDT pv is single why am I getting multiple values in report for emp ID
    When you choose the option 'Include data from sub-processes', the data starts appearing from the sub-processes in the report for the each parent process row in the report. So let's take your case as an example. Let's say you have a PV by name 'employeeDetails_cdt' in the parent as well as child processes. While creating a report, choosing the option 'Include data from sub-processes' populates the particular parent process record with the values found for pv!employeeDetails_cdt.empID from parent as well as child processes. So that's how you end up in seeing multiple values, as your configuration itself is trying to query the values from multiple (parent and child) processes. If you know that the values are going to be same across the processes irrespective of hierarchy, then you may go for applying a function such as fn!union() to refrain from seeing duplicates in the report. Further you observe this behavior only for parent processes, as they are the ones that will pull more than one value depending on the child processes it has got. You won't observe this pattern for a child/standalone process (or a process that has no sub-process node configured in it) as it just gets a value of its own context but not any other values. You may see some null values out of the multiple values being seen here, but I guess that might be because of the reason that the values aren't populated in the corresponding sub-process.

    2. When I gave an indexing to the CDT pv in report how come the values are getting populated.
    I would leave this to others but a wild guess is that this could be because of the casting, that is, employeeDetails_cdt[1].empID resolves to a data type which is of type single.

    Re the Appian Version, to the best of my knowledge, at-least the functionality (Reporting and the configurations in it) which we are discussing here hasn't got any changes and so isn't dependent on the version.

    Let's see if other practitioners could give some invaluable suggestions.
Children
No Data