Automatischer Empfang von OBIEE-Berichten beim Kunden

Manchmal besteht die Aufgabe darin, einen Bericht am Arbeitsplatz des Kunden zu erhalten, ohne ein interaktives Interaktionsmittel in Form eines Browsers zu verwenden.



In den Tagen von Oracle Reports wurde eine ähnliche Aufgabe mit dem Dienstprogramm rwclient gelöst. Was kann in Oracle BIEE darauf angewendet werden? - Wir verwenden die bereitgestellte REST-API für Oracle BI Publisher :



  1. Lassen Sie uns einen Bericht erstellen und ihn im Verzeichnis verfügbar machen: /~scott.tiger/Example;
  2. Durch Anfordern über das Curl- Dienstprogramm erhalten wir die Serverantwort und speichern sie in einer Datei:



    curl -X POST -u login:password  -o report_out.xlsx -H "Content-Type:multipart/form-data" -v -F 'ReportRequest={"attributeFormat":"xlsx","attributeTemplate":"Publisher Template"};type=application/json' http://hostname:port/xmlpserver/services/rest/v1/reports/~scott.tiger%2FExample/run
  3. Da der Inhalt der Antwort im Dokument report_out.xlsx noch nicht Excel ist, sondern ein mehrteiliges Dokument (siehe RFC 7578 ), verarbeiten wir das Dokument und beißen unnötige Details ab:



    perl -i -pe 'BEGIN{undef $/;} s/.*\r\n\r\n(.*?)\r\n--Boundary[^\n]*?--\r\n/$1/sm' report_out.xlsx
  4. Wir stellen sicher, dass der Bericht funktioniert, indem wir ihn über Excel auf dem Clientcomputer öffnen.
  5. Wir kleben die Entwicklungen durch das Rohr zusammen und erhalten eine fertige Lösung:



    curl -X POST -u login:password  -H "Content-Type:multipart/form-data" -v -F 'ReportRequest={"attributeFormat":"xlsx","attributeTemplate":"Publisher Template"};type=application/json' http://nameserv:port/xmlpserver/services/rest/v1/reports/~scott.tiger%2FExample/run |  perl -pe 'BEGIN{undef $/;} s/.*\r\n\r\n(.*?)\r\n--Boundary[^\n]*?--\r\n/$1/sm' > report_output.xlsx



All Articles