This activity reads a report and saves the result(s) into a process variable. The process report must already exist within Appian.
One way to conserve the memory used by your processes is to collect any data or statistics that you might want to preserve using a report that is run by the Execute Process Report smart service in a subprocess. This allows you to completely delete the parent process upon (or shortly after) completion, while retaining any archival data you need to keep.
The user running the smart service must have at least Viewer rights to the process report. Attempting to complete this task without the proper user rights generates an error message for the process administrator and pauses the process.
Category: Analytics
Icon:
Assignment Options: Unattended
This section contains tab configuration details specific to this smart service. For more information about common configurations see the Process Node Properties page.
.arf
). The process reports list includes only those reports where you have Viewer permissions.For example, if your report includes a list of office locations and staff, you might want to filter the report to only display office locations that include more than 50 staff members. Assuming that the staff column in your process report lists the number of people in each location. You would select the Staff column from the Column list; select >= from the Operator list; and enter 50
in the Value field.
When you add another filter, the system applies the filter to the underlying analytics query before loading the report.
Select the Outputs tab. Each column returned by the report is displayed as an entry on the node outputs list.
Select the node output that contains the data you want to save into a process variable. The Result Properties are displayed. If your report saves multiple data values into a single cell (the intersection of a row and a column), only the first element is saved.
Select one of the following operators for saving your data:
Select an existing process variable from the Target list, or click to create a new process variable.
If you need to use an expression to modify your report data before saving it into a process variable, you can create a custom output. The report columns can be referenced as activity class parameters.
Process reports query data from the analytics engine. The analytics engine checks the execution engines for changes and refreshes its database at a very high frequency. However, until the updates from the execution engines take place, there could be some disparity between the data stored in the execution engines and the data rendered by the analytics engine.
A simple way to ensure that your analytical data is current before proceeding in your process is to insert an activity-chained user input form before loading the node that queries the analytics engine. By inserting another form directly before the report, you'll delay the process model by a few moments, giving the analytics engine time to synchronize data with the execution engines. Simply chain the node, assign it to the same user, and display a Continue message on the screen. You can offer the user a chance to confirm data, or simply describe what is going to be presented next. For example: "The following page displays XYZ information and metrics. Click Next to continue." This should alleviate any problems you might encounter with chained tasks executing before the analytics engine updates a report.
If a user input node isn't practical, you can also call a synchronous subprocess that inserts a short delay by incrementing a process variable in a looped flow until an arbitrary limit is reached (say 50 times). Or, if the process can wait for an entire minute, simply use a timer event to delay the flow.
Execute Process Report Smart Service