// Capture the edited periods and products Set editedMembers = [] operation.grid.dataCellIterator({DataCell cell -> cell.edited}, MemberNameType.ESSBASE_NAME).each { DataCell cell -> editedMembers << cell.periodName << cell.getMemberName("Product") } if(editedMembers.size() == 0){ println("No edited cells found!") return; } // Execute the job that calculates the product revenues JobFactory jf = operation.application.jobFactory List povMemberCells = operation.grid.pov.findAll{ DataGrid.HeaderCell it -> it.dimName != "Plan Element" } Job job = executeJob(jf.job("Groovy Calculate Product Revenue RTPs", "Rules", ["editedMembers" : cscParams(povMemberCells, editedMembers)]))