public class SmartPush
extends java.lang.Object
A SmartPush will automatically scope the data that is pushed based on the shape of a grid if one is provided. The push can be further scoped by specifying an override members map for the source location. SmartPush will error out when override members map contains members from unmapped dimensions of the target location.
Example call from Groovy to push data scoped down with override members:
Example call from Groovy to push data in context of a grid:/*RTPS: {MyAccount} {MyScenario} {MyVersion} {MyEntity}*/ if(operation.application.hasDataMap("cubeLink1")) operation.application.getDataMap("cubeLink1").createSmartPush().execute(["Account":rtps.MyAccount.enteredValue, "Scenario":rtps.MyScenario.enteredValue, "Version":rtps.MyVersion.enteredValue, "Entity":rtps.MyEntity.enteredValue])
Example call from Groovy to push data in context of a grid if the grid has a smart push named cubeLink1. This is useful when the same script is attached to multiple forms with different definitions:operation.grid.getSmartPush("cubeLink1").execute()
Example call from Groovy to push data in context of a grid and data further scoped down with override members:if(operation.grid.hasSmartPush("cubeLink1")) operation.grid.getSmartPush("cubeLink1").execute()
Example call from Groovy to push data in context of a grid and data further scoped down with exclude members. Here data will be pushed for all periods as defined in the smart push except for Jan and Feb:operation.grid.getSmartPush("cubeLink1").execute(["Account":"Min Bonus, Min Salary"])
Example call from Groovy to push data in context of a grid only for employees whose salaries have been modified:operation.grid.getSmartPush("cubeLink1").execute(null, ["Period":"Jan, Feb"])
By default, parameters are case insensitive and may not be null or empty unless otherwise specified.if(!operation.grid.hasSmartPush("Employee Data")) return // Capture the employees whose salaries were edited Set<String> employees = [] operation.grid.dataCellIterator('Salary').each { DataCell cell -> if(cell.edited) { employees << cell.getMemberName("Employee") } } if(employees) { // Push data to the reporting cube for edited employees only String employeesStr = """\"${employees.join('", "')}\"""" operation.grid.getSmartPush("Employee Data").execute( [ "Employee" : employeesStr ] ) }
Modifier and Type | Method and Description |
---|---|
void |
execute()
Executes a smart push against the underlying DataMap.
|
void |
execute(boolean suppressMissingRowsNative)
Executes a smart push against the underlying DataMap.
|
void |
execute(java.util.Map<java.lang.String,java.lang.String> overrideMembersMap)
Executes this smart push against the underlying DataMap using the
specified override members map.
|
void |
execute(java.util.Map<java.lang.String,java.lang.String> overrideMembersMap,
boolean suppressMissingRowsNative)
Executes this smart push against the underlying DataMap using the
specified override members map.
|
void |
execute(java.util.Map<java.lang.String,java.lang.String> overrideMembersMap,
java.util.Map<java.lang.String,java.lang.String> overrideExclusionMembersMap)
Executes this smart push against the underlying DataMap using the
specified override members map.
|
void |
execute(java.util.Map<java.lang.String,java.lang.String> overrideMembersMap,
java.util.Map<java.lang.String,java.lang.String> overrideExclusionMembersMap,
boolean suppressMissingRowsNative)
Executes this smart push against the underlying DataMap using the
specified override members map.
|
java.lang.String |
getName()
Returns the name of this smart push.
|
java.lang.String |
toString()
Returns a string representation of the object.
|
public void execute() throws java.lang.Exception
DataPushException
- if the data push failsjava.lang.Exception
- if an unexpected fault occurspublic void execute(boolean suppressMissingRowsNative) throws java.lang.Exception
suppressMissingRowsNative
- if true, Essbase non empty suppression
will be used to suppress missing dataDataPushException
- if the data push failsjava.lang.Exception
- if an unexpected fault occurspublic void execute(java.util.Map<java.lang.String,java.lang.String> overrideMembersMap) throws java.lang.Exception
Any members overridden will replace the members in the smart push definition for the overridden dimensions during execution.
overrideMembersMap
- a map containing the dimension name
as the key and a member
selection string as a valueDataPushException
- if the data push failsjava.lang.Exception
- if an unexpected fault occurspublic void execute(java.util.Map<java.lang.String,java.lang.String> overrideMembersMap, boolean suppressMissingRowsNative) throws java.lang.Exception
Any members overridden will replace the members in the smart push definition for the overridden dimensions during execution.
overrideMembersMap
- a map containing the dimension name as the key
and a member selection
string as a valuesuppressMissingRowsNative
- if true, Essbase non empty suppression
will be used to suppress missing dataDataPushException
- if the data push failsjava.lang.Exception
- if an unexpected fault occurspublic void execute(java.util.Map<java.lang.String,java.lang.String> overrideMembersMap, java.util.Map<java.lang.String,java.lang.String> overrideExclusionMembersMap) throws java.lang.Exception
Any members overridden will replace the members in the smart push definition for the overridden dimensions during execution.
Any members specified in a selection in the exclusion map will be excluded from the evaluated member selection from the override members map if provided or the smart push definition for the excluded dimensions during execution.
Any members from the evaluated exclusion selection not present in the evaluated member selection from the data map definition will be ignored.
overrideMembersMap
- a map containing the dimension name
as the key and a member
selection string as a valueoverrideExclusionMembersMap
- a map containing the dimension name
as the key and a member
selection string as a valueDataPushException
- the data push failsjava.lang.Exception
- if an unexpected fault occurspublic void execute(java.util.Map<java.lang.String,java.lang.String> overrideMembersMap, java.util.Map<java.lang.String,java.lang.String> overrideExclusionMembersMap, boolean suppressMissingRowsNative) throws java.lang.Exception
Any members overridden will replace the members in the smart push definition for the overridden dimensions during execution.
Any members specified in a selection in the exclusion map will be excluded from the evaluated member selection from the override members map if provided or the smart push definition for the excluded dimensions during execution.
Any members from the evaluated exclusion selection not present in the evaluated member selection from the data map definition will be ignored.
overrideMembersMap
- a map containing the dimension name
as the key and a member
selection string as a valueoverrideExclusionMembersMap
- a map containing the dimension name
as the key and a member
selection string as a valuesuppressMissingRowsNative
- if true, Essbase non empty suppression
will be used to suppress missing dataDataPushException
- if the data push failsjava.lang.Exception
- if an unexpected fault occurspublic java.lang.String getName()
public java.lang.String toString()
toString
in class java.lang.Object
Copyright © 2017, 2024, Oracle and/or its affiliates. All rights reserved.