Leider ist das nicht so bei der Oracle Informations Rights Management Lösung. Daher habe ich einen BI Publisher Report implementiert, den man gegen das Oracle IRM Repository ablaufen lassen kann.
Was muss man hierfür tun?
- Im BI Publisher wird die Datenquelle eingerichtet. Hierfür definiert man eine JDBC Datenquelle
- Sobald die Datenquelle eingerichtet ist, kann man einen Report anlegen und die entsprechenden Daten aus der Datenbank selektieren. Ich habe mich wegen der Übersichtlichkeit entschieden, ein concatenated Statement zu definieren, das aus vier Einzel-Select besteht. Der BI Publisher fasst das Ergebnis wunderbar zusammen:
IRM_AUDIT-DATA: select ll.name CONTEXT_NAME, cje.item_code_value DOCUMENT, to_char(je.time,'MM-DD-YYYY HH24:MI:SS') ACTION_TIME, je.feature_id ACTION, je.ACCOUNT_NAME ACCOUNT_NAME, je.status ACTION_STATUS, je.URI DOCUMENT_URI, je.DESKTOP_VERSION IRM_DESKTOP_VERSION, je.OS OS, je.APPLICATION APPLICATION, je.CONTAINER CONTAINER, je.DEVICE_NAME DEVICE_NAME from context_journal_entry cje, journal_entry je, context_instance_labels cil, label ll where cje.context_instance_id = cil.context_instance_id and cil.label_id = ll.label_id and cje.journal_entry_id = je.journal_entry_id and ( upper(cje.item_code_value) like nvl(upper(:DOCUMENT_NAME),'%') and upper(ll.name) like nvl(upper(:CONTEXT_NAME),'%') and upper(je.ACCOUNT_NAME) like nvl(upper(:USER_NAME),'%') and je.time >= nvl(:START_DATE, sysdate-2000) and je.time <= nvl(:END_DATE, sysdate+1) ) DOC-SUMMARY: select cje.item_code_value DOCUMENT, je.feature_id ACTION, ll.name CONTEXT_NAME, count(je.feature_id) Count_Action from context_journal_entry cje, journal_entry je, context_instance_labels cil, label ll where cje.journal_entry_id = je.journal_entry_id and cje.context_instance_id = cil.context_instance_id and cil.label_id = ll.label_id and je.status = 'SUCCESS' and ( upper(cje.item_code_value) like nvl(upper(:DOCUMENT_NAME),'%') and upper(ll.name) like nvl(upper(:CONTEXT_NAME),'%') and upper(je.ACCOUNT_NAME) like nvl(upper(:USER_NAME),'%') and je.time >= nvl(:START_DATE, sysdate-2000) and je.time <= nvl(:END_DATE, sysdate+1) ) group by cje.item_code_value, je.feature_id, ll.name PARAMETERS: select nvl(to_char(:START_DATE,'dd-mm-yyyy'),'No Start Date') START_DATE, nvl(to_char(:END_DATE,'dd-mm-yyyy'),'No End Date') END_DATE, nvl(:USER_NAME,'All') USER_NAME, nvl(:DOCUMENT_NAME,'All') DOCUMENT_NAME, nvl(:CONTEXT_NAME,'All') CONTEXT_NAME from dual FAILED_DOC_SUMMARY:select cje.item_code_value DOCUMENT, je.feature_id ACTION, ll.name CONTEXT_NAME, count(je.feature_id) Count_Action from journal_entry je, context_journal_entry cje, context_instance_labels cil, label ll where je.journal_entry_id = cje.journal_entry_id and cje.context_instance_id = cil.context_instance_id and cil.label_id = ll.label_id and je.status = 'FAILURE' and ( upper(cje.item_code_value) like nvl(upper(:DOCUMENT_NAME),'%') and upper(ll.name) like nvl(upper(:CONTEXT_NAME),'%') and upper(je.ACCOUNT_NAME) like nvl(upper(:USER_NAME),'%') and je.time >= nvl(:START_DATE, sysdate-2000) and je.time <= nvl(:END_DATE, sysdate+1) ) group by cje.item_code_value, je.feature_id, ll.name
- Im BI Publisher sieht der Editier-Modus wie nachfolgend aufgeführt aus
- Sobald das concatenated Select Statement eingerichtet ist, kann man mit dem BI Publisher den Report ausführen und erhält nur XML Daten, da wir noch kein Template definiert haben.
- Nun exportiert man die Daten in ein XML-File und nutzt diese Informationen, um z.B. mit Word ein Layout-Template zu definieren (Vorher BI Publisher Desktop installieren). Die Template Erstellung funktioniert ähnlich einem Serienbrief. (in der Version 11g kann man auch den Online Layout Builder nutzen). Ist das Layout definiert, so kann man die Layout Datei dem Report zuordnen und fertig ist der Report.
- Die Profis unter Euch können dann noch Parameter definieren, um so das Ergebnis im Report besser einschränken zu können.
Wer das komplette BI Publisher IRM Report Paket haben möchte, sendet mir einfach eine Email.
Keine Kommentare:
Kommentar veröffentlichen