Hi All,
I have my expression rule as below and I'm trying to get 100 records in 1 batch to pass to the process model. Now I need to fetch the 1st row from this rule output into a process model - perform some action and then loop back to fetch the second row - perform some action, loop back third record to fetch 3rd row and so on until I reach my 100th record. Please advise what expression do I need to write here to fetch the rows and loop back?
Rule:a!localVariables(local!getData: a!queryEntity_22r2( entity: cons!SAC_ENTITY_CLIENTCASES, fetchTotalCount: true, query: a!query( logicalExpression: a!queryLogicalExpression( operator: "AND", filters: { ), a!queryFilter( field: "docsSent", operator: "is null" ) } ), selection: a!querySelection( columns: { a!queryColumn(field: "caseId"),a!queryColumn(field: "caseStatus"), a!queryColumn(field: "clientName"), a!queryColumn(field: "folderId") } ), pagingInfo: if( rule!APN_isBlank( ri!pagingInfo ), a!pagingInfo( startIndex: 1, batchSize: 5, sort: a!sortInfo( field: "caseId", ascending: true ) ), ri!pagingInfo ), ) ),local!getData)
Output of the Rule saved into PV of type data subset in process model:
Discussion posts and replies are publicly visible
What action you want to perform on the datasubset rows individually?
can they be done in an expression instead of process model?
Hi, you can fetch all the rows in the process model and use MNI (Multiple Node Instances) on the desired node or subprocess to process each row individually. Alternatively, you can loop through the rows using process variables like currentIndex combined with conditional gateways.
currentIndex
If you want your rule to return only one row at a time, you’ll need to pass an input (e.g., currentIndex) to the rule, which determines the current iteration and fetches the corresponding item based on that index via index() or property function.