Forum Discussion

Marcus's avatar
Marcus
New Contributor II
3 months ago

DataManagementEventHandler Args

Hi,

I try to get the data unit information of different DM steps, such as Calculate, Copy Data, Reset Scenario, Clear Scenario, Custom Calculate. For a regular "Calculate" I'll get the information via

Public Function Main(ByVal si As SessionInfo, ByVal globals As BRGlobals, ByVal api As Object, ByVal args As DataManagementEventHandlerArgs) As Object
            Dim sbLog As New Text.StringBuilder
            Try
                Dim returnValue As Object = args.DefaultReturnValue
                
                Dim dmStepMetadataInfo As DataMgmtStepMetadataInfo
                If args.OperationName = BREventOperationType.DataManagement.ExecuteStep    Then
                    dmStepMetadataInfo = DirectCast(args.inputs(0), DataMgmtStepMetadataInfo)
                    Dim entList As String = String.Join(",",dmStepMetadataInfo.EntityInfos.Select(Function(miMem) miMem.member.Name).ToList().ToArray())
                    

as it is described in another communits-post.

But if I do a "Copy Data", I don't know how to get the submitted data unit. args.inputs(0) is of type OneStream.Finance.Engine.DataMgmtStepMetadataInfo as far as I know from using the error log messages. But there is no documentation of the type "DataMgmtStepMetadataInfo" and I won't get the data unit infos the same way I did in the code above.

args.inputs(1) is less interesting. It contains the user name, the DM step description and task activity information.

There are no more args inputs.

Any ideas how to pull the data unit information out of "DataMgmtStepMetadataInfo"?

Regards,

Marcus

1 Reply

  • Sweez's avatar
    Sweez
    Contributor

    Marcus, try using the following which uses the "DataMgmtCopyDataDefinition" class:  

     

                    Dim returnValue As Object = args.DefaultReturnValue    
                    Dim dmStepMetadataInfo As DataMgmtStepMetadataInfo
     
                    If args.OperationName = BREventOperationType.DataManagement.ExecuteStep Then
                        dmStepMetadataInfo = DirectCast(args.inputs(0), DataMgmtStepMetadataInfo)
     
    sbLog.AppendLine($"Destination Cube: {dmStepMetadataInfo.CopyDataDefinition.DestCube}")
    sbLog.AppendLine($"Destination Entity Filter: {dmStepMetadataInfo.CopyDataDefinition.DestEntityFilter}")
    sbLog.AppendLine($"Destination Scenario: {dmStepMetadataInfo.CopyDataDefinition.DestScenario}")
    sbLog.AppendLine($"Destination TimeFilter: {dmStepMetadataInfo.CopyDataDefinition.DestTimeFilter}")
    sbLog.AppendLine($"Destination View: {dmStepMetadataInfo.CopyDataDefinition.DestView}")
     
    sbLog.AppendLine($"--------------------")
     
    sbLog.AppendLine($"Source Cube: {dmStepMetadataInfo.CopyDataDefinition.SourceCube}")
    sbLog.AppendLine($"Source Entity Filter: {dmStepMetadataInfo.CopyDataDefinition.SourceEntityFilter}")
    sbLog.AppendLine($"Source Scenario: {dmStepMetadataInfo.CopyDataDefinition.SourceScenario}")
    sbLog.AppendLine($"Source TimeFilter: {dmStepMetadataInfo.CopyDataDefinition.SourceTimeFilter}")
    sbLog.AppendLine($"Source View: {dmStepMetadataInfo.CopyDataDefinition.SourceView}")
     
    brapi.ErrorLog.LogMessage(si, sbLog.ToString)
    End If

     

    Here is the DM job used in the example and the log output.