Forum Discussion
StigThronaes
2 days agoNew Contributor
Hi! I have tried this code but it seems it also restricts the user from running "standard" consolidate and also calculate and translate. How can I modify the code so it only restricts "Force Consolidate"?
Oscar
2 days agoContributor
the following will tell you if it's force consolidate:
Dim isForced As Boolean = args.inputs(2)
Then add to your nested code as required:
If( isForced )
.....
Else
.....
End If
- StigThronaes2 days agoNew Contributor
Thanks! It worked. However, it created another problem. I am no longer able to open the Task Scheduler (Business rule error). Is this a known issue? Once I deleted the wcfEventHandler business rule the Task Scheduler worked as normal again.
- Oscar2 days agoContributor
I simplified the business rule
Namespace OneStream.BusinessRule.WcfEventHandler.WcfEventHandler Public Class MainClass Public Function Main(ByVal si As SessionInfo, ByVal globals As BRGlobals, ByVal api As Object, ByVal args As WcfEventHandlerArgs) As Object Try Dim returnValue As Object = args.DefaultReturnValue args.UseReturnValueFromBusinessRule = False args.Cancel = False If ( args.IsBeforeEvent And ScenarioDimHelper.GetNameFromID(si, si.WorkflowClusterPk.ScenarioKey) = "Actual" And (args.OperationName = "Calculate" Or args.OperationName = "StartConsolidation") ) Then Dim isForced As Boolean = args.inputs(2) If( isForced ) Throw New XFException(si, New Exception("Force Cosolidation Not Allowed.")) Else Return returnValue End If End If Return returnValue Catch ex As Exception Throw ErrorHandler.LogWrite(si, New XFException(si, ex)) End Try End Function End Class End Namespace
Related Content
- 2 years ago