Getting

Rizil
New Contributor

I am trying to get the journal post group in the workflow profile properties using JournalsEventHandler Business rule. 


Does anyone have done this before? Is it possible to get the journal post group value from the Workflow Profile?

image.png

2 REPLIES 2

T_Kress
Contributor

The WF Post security group ID exists in application tables.  But you have to join a few application tables together, based upon the scenario type, and then join that ID to Framework tables to pull back the true security group associated with that WF profile Journal Post Group.  I am unsure of an more elegant way to get it than running a SQL query against various app and framework tables with related joins.  I will post code that works in my local app copy that may give you a starting point.

 

select [Workflow Profile], [Access Group], [Maintenance Group], [Scenario Type],max([Execution Group]) [Execution Group],max([Certification Group]) [Certification Group],max([Journal Process Group])[Journal Process Group],max([Journal Approval Group])[Journal Approval Group],max([Journal Post Group])[Journal Post Group] from (SELECT Distinct b.[ProfileName] as [Workflow Profile], CASE WHEN b.[AccessGroupUniqueID] = 'e31054d8-83bf-4f79-b563-0e450342de9e' THEN 'Everyone' WHEN b.[AccessGroupUniqueID] = '00000000-0000-0000-0000-000000000000' THEN 'Everyone' WHEN b.[AccessGroupUniqueID] = 'b26b7926-a1ec-4f32-a402-020bc55cc528' THEN 'Nobody' WHEN SecA.[Name] IS NULL THEN SecEA.[Name] ELSE SecA.[Name] END as [Access Group], CASE WHEN b.[MaintenanceGroupUniqueID] = 'e31054d8-83bf-4f79-b563-0e450342de9e' THEN 'Everyone' WHEN b.[MaintenanceGroupUniqueID] = '00000000-0000-0000-0000-000000000000' THEN 'Everyone' WHEN b.[MaintenanceGroupUniqueID] = 'b26b7926-a1ec-4f32-a402-020bc55cc528' THEN 'Nobody' WHEN SecM.[Name] IS NULL THEN SecEM.[Name] ELSE SecM.[Name] END as [Maintenance Group], CASE WHEN Wf.[ScenarioTypeID] = '-1' THEN '(Default)' WHEN Wf.[ScenarioTypeID] = '0' THEN 'Actual' WHEN Wf.[ScenarioTypeID] = '1' THEN 'Budget' WHEN Wf.[ScenarioTypeID] = '10' THEN 'Administration' WHEN Wf.[ScenarioTypeID] = '101' THEN 'ScenarioType1' WHEN Wf.[ScenarioTypeID] = '102' THEN 'ScenarioType2' WHEN Wf.[ScenarioTypeID] = '103' THEN 'ScenarioType3' WHEN Wf.[ScenarioTypeID] = '104' THEN 'ScenarioType4' WHEN Wf.[ScenarioTypeID] = '105' THEN 'ScenarioType5' WHEN Wf.[ScenarioTypeID] = '106' THEN 'ScenarioType6' WHEN Wf.[ScenarioTypeID] = '107' THEN 'ScenarioType7' WHEN Wf.[ScenarioTypeID] = '108' THEN 'ScenarioType8' WHEN Wf.[ScenarioTypeID] = '11' THEN 'Control' WHEN Wf.[ScenarioTypeID] = '12' THEN 'LongTerm' WHEN Wf.[ScenarioTypeID] = '13' THEN 'Operational' WHEN Wf.[ScenarioTypeID] = '14' THEN 'Sustainability' WHEN Wf.[ScenarioTypeID] = '15' THEN 'Target' WHEN Wf.[ScenarioTypeID] = '2' THEN 'Flash' WHEN Wf.[ScenarioTypeID] = '3' THEN 'Forecast' WHEN Wf.[ScenarioTypeID] = '4' THEN 'FXModel' WHEN Wf.[ScenarioTypeID] = '5' THEN 'History' WHEN Wf.[ScenarioTypeID] = '6' THEN 'Model' WHEN Wf.[ScenarioTypeID] = '7' THEN 'Plan' WHEN Wf.[ScenarioTypeID] = '8' THEN 'Tax' WHEN Wf.[ScenarioTypeID] = '9' THEN 'Variance' END as [Scenario Type], CASE WHEN Wf.[ProfileAttributeValue] = 'e31054d8-83bf-4f79-b563-0e450342de9e' THEN 'Everyone' WHEN Wf.[ProfileAttributeValue] = '00000000-0000-0000-0000-000000000000' THEN 'Everyone' WHEN Wf.[ProfileAttributeValue] = 'b26b7926-a1ec-4f32-a402-020bc55cc528' THEN 'Nobody' WHEN SecWf.[Name] IS NULL THEN ISNULL(SecEWf.[Name],'(Use Default)') ELSE SecWf.[Name] END as [Execution Group], CASE WHEN Wf.[ProfileAttributeValue] = 'e31054d8-83bf-4f79-b563-0e450342de9e' THEN 'Everyone' WHEN Wf.[ProfileAttributeValue] = '00000000-0000-0000-0000-000000000000' THEN 'Everyone' WHEN Wf.[ProfileAttributeValue] = 'b26b7926-a1ec-4f32-a402-020bc55cc528' THEN 'Nobody' WHEN SecWf1.[Name] IS NULL THEN ISNULL(SecEWf1.[Name],'(Use Default)') ELSE SecWf1.[Name] END as [Certification Group], CASE WHEN b.[ProfileName] NOT LIKE '%.Adj' THEN 'N/A' WHEN Wf.[ProfileAttributeValue] = 'e31054d8-83bf-4f79-b563-0e450342de9e' THEN 'Everyone' WHEN Wf.[ProfileAttributeValue] = '00000000-0000-0000-0000-000000000000' THEN 'Everyone' WHEN Wf.[ProfileAttributeValue] = 'b26b7926-a1ec-4f32-a402-020bc55cc528' THEN 'Nobody' WHEN SecWf2.[Name] IS NULL THEN SecEWf2.[Name] ELSE SecWf2.[Name] END as [Journal Process Group], CASE WHEN b.[ProfileName] NOT LIKE '%.Adj' THEN 'N/A' WHEN Wf.[ProfileAttributeValue] = 'e31054d8-83bf-4f79-b563-0e450342de9e' THEN 'Everyone' WHEN Wf.[ProfileAttributeValue] = '00000000-0000-0000-0000-000000000000' THEN 'Everyone' WHEN Wf.[ProfileAttributeValue] = 'b26b7926-a1ec-4f32-a402-020bc55cc528' THEN 'Nobody' WHEN SecWf3.[Name] IS NULL THEN SecEWf3.[Name] ELSE SecWf3.[Name] END as [Journal Approval Group], CASE WHEN b.[ProfileName] NOT LIKE '%.Adj' THEN 'N/A' WHEN Wf.[ProfileAttributeValue] = 'e31054d8-83bf-4f79-b563-0e450342de9e' THEN 'Everyone' WHEN Wf.[ProfileAttributeValue] = '00000000-0000-0000-0000-000000000000' THEN 'Everyone' WHEN Wf.[ProfileAttributeValue] = 'b26b7926-a1ec-4f32-a402-020bc55cc528' THEN 'Nobody' WHEN SecWf4.[Name] IS NULL THEN SecEWf4.[Name] ELSE SecWf4.[Name] END as [Journal Post Group] FROM [dbo].[WorkflowProfileHierarchy] b LEFT JOIN [OneStream_Framework].[dbo].[SecGroup] SecA ON b.[AccessGroupUniqueID] = SecA.[UniqueID] LEFT JOIN [OneStream_Framework].[dbo].[SecGroup] SecM ON b.[MaintenanceGroupUniqueID] = SecM.[UniqueID] LEFT JOIN [OneStream_Framework].[dbo].[SecExclGroup] SecEA ON b.[AccessGroupUniqueID] = SecEA.[UniqueID] LEFT JOIN [OneStream_Framework].[dbo].[SecExclGroup] SecEM ON b.[MaintenanceGroupUniqueID] = SecEM.[UniqueID] LEFT JOIN [dbo].[WorkflowProfileAttributes] Wf ON b.[ProfileKey] = Wf.[ProfileKey] AND wf.[AttributeIndex] in ('1250','16100','6100','6200','6300') LEFT JOIN [OneStream_Framework].[dbo].[SecGroup] SecWF ON Wf.[ProfileAttributeValue] = convert(nvarchar(MAX), SecWF.[UniqueID]) AND wf.[AttributeIndex]= '1250' LEFT JOIN [OneStream_Framework].[dbo].[SecExclGroup] SecEWF ON Wf.[ProfileAttributeValue] = convert(nvarchar(MAX), SecEWF.[UniqueID]) AND wf.[AttributeIndex]= '1250' LEFT JOIN [OneStream_Framework].[dbo].[SecGroup] SecWF1 ON Wf.[ProfileAttributeValue] = convert(nvarchar(MAX), SecWF1.[UniqueID]) AND wf.[AttributeIndex]= '16100' LEFT JOIN [OneStream_Framework].[dbo].[SecExclGroup] SecEWF1 ON Wf.[ProfileAttributeValue] = convert(nvarchar(MAX), SecEWF1.[UniqueID]) AND wf.[AttributeIndex]= '16100' LEFT JOIN [OneStream_Framework].[dbo].[SecGroup] SecWF2 ON Wf.[ProfileAttributeValue] = convert(nvarchar(MAX), SecWF2.[UniqueID]) AND wf.[AttributeIndex]= '6100' LEFT JOIN [OneStream_Framework].[dbo].[SecExclGroup] SecEWF2 ON Wf.[ProfileAttributeValue] = convert(nvarchar(MAX), SecEWF2.[UniqueID]) AND wf.[AttributeIndex]= '6100' LEFT JOIN [OneStream_Framework].[dbo].[SecGroup] SecWF3 ON Wf.[ProfileAttributeValue] = convert(nvarchar(MAX), SecWF3.[UniqueID]) AND wf.[AttributeIndex]= '6200' LEFT JOIN [OneStream_Framework].[dbo].[SecExclGroup] SecEWF3 ON Wf.[ProfileAttributeValue] = convert(nvarchar(MAX), SecEWF3.[UniqueID]) AND wf.[AttributeIndex]= '6200' LEFT JOIN [OneStream_Framework].[dbo].[SecGroup] SecWF4 ON Wf.[ProfileAttributeValue] = convert(nvarchar(MAX), SecWF4.[UniqueID]) AND wf.[AttributeIndex]= '6300' LEFT JOIN [OneStream_Framework].[dbo].[SecExclGroup] SecEWF4 ON Wf.[ProfileAttributeValue] = convert(nvarchar(MAX), SecEWF4.[UniqueID]) AND wf.[AttributeIndex]= '6300' WHERE b.[ProfileName] NOT IN ('(Default)','(Default).Adj','(Default).Forms','(Default).Import') ) x group by [Workflow Profile], [Access Group], [Maintenance Group], [Scenario Type]

Teresa C. Kress
Principal Delivery Manager Partner Enablement | OneStream Software

KarlT
Contributor

An alternate option is to use the following BRAPI but again, you would have to execute this across scenario types i think

Dim wfInfo As WorkflowProfileInfo = BRApi.Workflow.Metadata.GetProfile(si, si.WorkflowClusterPk)
Dim wftext1 As String = wfInfo.GetAttributeValue(scenarioTypeID, SharedConstants.WorkflowProfileAttributeIndexes.JournalPostGroup)