Reply To: EM / Datenbank (Auf der Suche nach der unbekannten Hierarchie..)

Welcome to the POB User Group Online Community! Forums PUG DACH EM / Datenbank (Auf der Suche nach der unbekannten Hierarchie..) Reply To: EM / Datenbank (Auf der Suche nach der unbekannten Hierarchie..)

#3811
ts
Member

Danke! Das hat mich wieder einmal auf die richtige Fährte gebracht.

Die Übersetzungen können ein wenig in die Irre führen – ich hab sie nur dem Verständnis halber in den Query aufgenommen gehabt. Letzten Endes ging es mir darum, dass ich die rollenbasierten Berechtigungen auf die Tabellen fürs interne Auditing benötigte.

Das lief dann letzen Endes auf sowas hinaus:

SELECT DISTINCT

	 PM.id AS MODID
	,PM.description MODDES
	,PM.is_installed MODISINSTALLED
	,table_name AS TBLNAME
	,text_data AS TBLTRANSLATION
	,RL.id AS ROLEID
	,RL.description AS ROLEDES
	,RACL.rights AS ROLEPERM
	,CASE WHEN RACL.rights = 133 THEN '1' ELSE '0' END AS [DEFAULT]
	,CASE WHEN RACL.rights = 511 THEN '1' ELSE '0' END AS [FULL]
	,CASE WHEN RACL.rights & 1 <> 0 THEN '1' ELSE '0' END AS [READ]
	,CASE WHEN RACL.rights & 2 <> 0 THEN '1' ELSE '0' END AS [READ_LOGICAL_DELETED]
	,CASE WHEN RACL.rights & 4 <> 0 THEN '1' ELSE '0' END AS [CHANGE]
	,CASE WHEN RACL.rights & 8 <> 0 THEN '1' ELSE '0' END AS [CREATE]
	,CASE WHEN RACL.rights & 16 <> 0 THEN '1' ELSE '0' END AS [LOGICAL_DELETE]
	,CASE WHEN RACL.rights & 32 <> 0 THEN '1' ELSE '0' END AS [DELETE]
	,CASE WHEN RACL.rights & 64 <> 0 THEN '1' ELSE '0' END AS  [UNDELETE]
	,CASE WHEN RACL.rights & 128 <> 0 THEN '1' ELSE '0' END AS [EXECUTE]
	,CASE WHEN RACL.rights & 256 <> 0 THEN '1' ELSE '0' END AS [GRANT]
FROM [dbo].[Pob_Entity] AS PE
INNER JOIN [dbo].[Pob_Translation] AS PT 
	ON PE.pob_entity_pk = PT.pk
INNER JOIN [dbo].[Pob_Module] AS PM 
	ON PE.pob_module_pk = PM.pob_module_pk
LEFT OUTER JOIN [dbo].[Pob_Role_Acl] AS RACL 
	ON RACL.pob_emitem_pk = PE.pob_entity_pk
LEFT OUTER JOIN [dbo].[Pob_Role] AS RL 
	ON RL.pob_role_pk = RACL.pob_role_pk
WHERE pt.culture_id=1031
ORDER BY MODID, TBLNAME, ROLEID

Und dabei war Dein Hinweis auf die Pob_Entity natürlich enorm hilfreich. 🙂