Example authoring request
CalcScript draft
Supports: CalcScript + changed-members and Data Map Groovy
SET COPYMISSINGBLOCK OFF;
SET AGGMISSG OFF;
SET UPDATECALC OFF;
FIX
(
/*Period*/&SV_FCSTMTHSMAP, "BegBalance",
/*Scenario*/"Plan",
/*Currency*/"LOC",
/*Product Name*/@RELATIVE("Total Product Name",0),
/*Departments*/@RELATIVE("Total Departments",0),
/*Region*/@RELATIVE("Total Region",0),
/*Business Units*/@RELATIVE("Total Business Units",0),
/*Employee*/@RELATIVE("Total Employee",0),
/*DataType*/"Input"
)
DATACOPY "FY27" TO "FY26";
ENDFIX
Cube targetCube = operation.application.getCube("WfPln")
DataGrid currentGrid = operation.grid
Set<String> changedMembers = new LinkedHashSet<>()
currentGrid.dataCellIterator({ DataCell cell -> cell.edited }).each { cell ->
changedMembers.add(cell.getMemberName("Employee"))
}
if (changedMembers.isEmpty()) {
return
}
targetCube.executeCalcScript(calcScript)
/*RTPS: {WFP_Entity} {WFP_Scenario} {WFP_Version}*/
String dataMapName = "OWP_Compensation Data for Reporting"
boolean clearData = true
Map<String, String> overrides = [
"Entity": rtps.WFP_Entity.enteredValue,
"Scenario": rtps.WFP_Scenario.enteredValue,
"Version": rtps.WFP_Version.enteredValue
]
operation.application.getDataMap(dataMapName).execute(overrides, clearData)