Oracle Data Integrator in der Praxis Anbindung von SAP ERP und Essbase Andreas Ballenthin Solution Architect OPITZ CONSULTING Gummersbach GmbH Oracle Business Intelligence und Data Warehouse Konferenz Königswinter bei Bonn, 22. März 2012 Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 1 Ihr Oracle Center of Excellence Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 2 Mission Märkte Wir entwickeln gemeinsam mit allen Branchen Lösungen, die dazu führen, dass sich diese Organisationen besser entwickeln als ihr Wettbewerb. Branchenübergreifend Über 600 Kunden Unsere Dienstleistung erfolgt partnerschaftlich und ist auf eine langjährige Zusammenarbeit angelegt. 29% Handel / Logistik / Dienstleistungen 29% Industrie / Versorger / Telekommunikation 42% Öffentliche Auftraggeber / Banken und Versicherungen / Vereine und Verbände Leistungsangebot Eckdaten Business IT Alignment Business Information Management Business Process Management Anwendungsentwicklung SOA und System-Integration IT-Infrastruktur-Management Gründung 1990 400 Mitarbeiter 8 Standorte <Präsentationstitel – bitte im Folienmaster ändern> © OPITZ CONSULTING GmbH 2012 Seite 3 Agenda 1. Motivation 2. Anbindung von SAP ERP als Quellsystem 3. Anbindung von Oracle Essbase als Zielsystem 4. Anbindung von Oracle Essbase als Quellsystem Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 4 1 Motivation Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 5 Motivation SAP ERP kommt im deutschsprachigen Raum als Datenquelle häufig vor. Negative Vorerfahrungen mit SAP-Anbindungen sind häufig. Essbase dient als Backend für Hyperion Planning u. ä. Essbase wird als Aggregat zu ROLAP-Implementierungen genutzt, insbesondere im Kontext der OBIEE. Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 6 Kundenszenario SAP ODI Essbase Transformations-DB Standalone Cube 1 Standalone Cube 2 SAP ERP Hyperion Planning Planning Application 1 Planning Application 2 (Oracle 11.2) Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 7 2 Anbindung von SAP ERP als Quellsystem Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 8 Rückblende: OWB-SAP-Connector (30.09.2009) Halbautomatisches Deploymentverfahren Entwicklung Mapping definieren Produktion OWB 0 Entwickeln 1 Deployen SAP R/3 3 Benannten ABAP-Code ausführen OWB SAP R/3 2 SAPTransport 4 Datenfile transferieren und laden 1. ABAP generieren und per RFC (RFC_ABAP_INSTALL_AND_RUN) an SAP senden 2. Transport des ABAP-Reports über SAP-Transportsystem 3. ABAP-Report ausführen 4. Datenfile per FTP abholen und per SQL-Loader laden Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 9 Rückblende: OWB-SAP-Connector (30.09.2009) Erfahrungen (I) Der Einsatz unter Nicht-Windows-Umgebungen ist mühsam, da wenig dokumentiert. Für große Datenmengen ist dieser eher ungeeignet. Einsatz der automatisierten Version scheitert an rechtlichen Rahmenbedingungen und Erfordernissen der Revisionssicherheit. Meist muss der ABAP-Code nachbearbeitet werden. Klammerungen in Filtern wie ((… AND …) OR (…AND…)) oder ((… OR …) AND (…OR…)) sorgen für Fehlermeldungen. Datenfile muss auf OWB-Host umbenannt werden. Schlägt der Filetransfer vom SAP-Host auf den FTP-Host fehl, erhält man keine Fehlermeldung. Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 10 Rückblende: OWB-SAP-Connector (30.09.2009) Erfahrungen (II) Aus dem Rootverzeichnis des FTP-Servers kann nicht transferiert werden. Die Konstellation "Mapping generiert nach /tmp/xxx" und "FTP-Directory = xxx" und "FTP-Server-Root="/tmp/" funktioniert jedoch. Reportnamen sind nicht übersteuerbar (setzen sich immer aus den Namen der verwendeten Tabellen zusammen). Die Namenslänge ist dem OWB-Connector, nicht aber SAP egal. Es wird nicht nach 30 Zeichen (= Längenbeschränkung eines ABAP-Reportnamens) abgeschnitten. Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 11 SAP ABAP ERP Adapter „ODI-SAP-Connector“ Wird von Oracle Deutschland verantwortet ODI SDK Basis: SAPJCo3 (sapjco3.jar, sapjco3.dll) odi-sap.jar Java-EE-Applikation (odi-sap.jar) Wird dem Oracle Data Integrator als Open Tool bekannt gemacht Gliedert sich nahtlos in die SAP-Transportprozesse ein Genügt rechtlichen Rahmenbedingungen und Erfordernissen der Revisionssicherheit Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 12 Topologie und Reverse Engineering Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 13 Funktionsweise LKM SAP ERP to Oracle (SQLLDR) ODI SAP _OdiSAPAbapExecute odi-sap.jar sapjco3.jar sapjco3.dll Function Group ABAP Program ZODI_FGR… LKM SAP ERP to Oracle (SQLLDR) SAP-FTP-Server SAPFTPA Anlieferungsverzeichnis ODI-Work-Table C$_0… Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 14 Funktionsweise LKM SAP ERP to Oracle (SQLLDR) Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 15 3 Anbindung von Oracle Essbase als Zielsystem Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 16 Essbase: Rule Files Daten werden nach Essbase geladen. Rule File wird i. d. R. im Essbase Server definiert. Rule File hat Files oder Datenbanken als Datenquelle. Rule File wird meist von Fachabteilung oder HyperionEntwicklern definiert. Rule File liegt üblicherweise in der Verantwortung der Fachabteilung. ► Es ist wesentlich sinnvoller, ein vorhandenes Rule File anzusprechen, als im ODI ein Rule File zu generieren und ausführen zu lassen. Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 17 IKM Essbase Data Load using Rule Files Basis: IKM SQL to Hyperion Essbase (DATA) Optionen und Defaultwerte sind identisch Schritte: IKM SQL to Hyperion Essbase (DATA) IKM Essbase Data Load using Rules Files Lock journalized table Prepare for loading Prepare for loading Load data into essbase Report statistics Cleanup journalized table Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 18 Funktionsweise IKM Essbase Data Load using Rule Files ODI-Agent ODI-Agent-lokaler Essbase-Client Essbase IKM Essbase Data Load using Rule Files Prepare for loading (Jython) odihapp_common.jar essmsh Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 19 Verwendung shell touch '...\load_essbase.err'; shell rm '...\load_essbase.err'; import database <App>.<Database> dimensions / data connect as 'xxx' identified by 'xxx' using server rules_file 'xxx.rul' on error write to '...\load_essbase.err'; iferror 'exitabort'; shell touch '...\load_essbase.err'; exit 0; define label 'exitabort'; exit; Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 20 Parameterübergaben PRE_LOAD_MAXL_SCRIPT wird vollständig als Filename interpretiert. Das Setzen von Essbase-Server-Variablen ist je nach Anwendung nötig. Lösung: 1. Parameterfile maxlparam.msh exportieren (IKM SQL To File Append) set YEAR = FY11; 2. Im maxL-Script aufrufen msh '…\maxlparam.msh'; 3. Servervariablen setzen alter database … set variable 'YEAR' "$YEAR" ; 4. Servervariable in Calc Scripts, Rules Files u.ä. verwenden Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 21 Möglichkeiten alter database … set variable …; alter database … clear data in region … physical; import database … data … import database … dimensions … shell msh execute calculation … Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 22 4 Anbindung von Oracle Essbase als Quellsystem Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 23 Essbase: Report Scripts / Calc Scripts Daten aus Essbase extrahieren Report Scripts / Calc Scripts werden i. d. R. im Essbase Server definiert Werden meist von Fachabteilung oder Hyperion-Entwicklern definiert Liegen i. d. R. in der Verantwortung der Fachabteilung ► Es ist sinnvoll, ein vorhandenes Report Script / Calc Script anzusprechen. Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 24 Funktionsweise LKM Hyperion Essbase DATA to SQL Essbase ODI-Agent Ziel (Oracle RDBMS) LKM Hyperion Essbase DATA to SQL Begin Essbase Data Extract (Jython) Extract Data (Jython) odihapp_common.jar odihapp_essbase.jar Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase C$ © OPITZ CONSULTING GmbH 2012 Seite 25 Verwendung EXTRACTION_QUERY_FILE Ohne Pfadangabe: Server Report Script Mit Pfadangabe: Client Report Script (agentenlokal) Weiterverarbeitung mit StandardIKMs z. B. IKM SQL Control Append Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase { DECIMAL v } { SUPALL } { NAMESON } { TABDELIMIT } { ROWREPEAT } { NOINDENTGEN } { SUPMISSINGROWS } { MISSINGTEXT "0" } <Supshare <Row (Year,Period) <DimBottom Year <DimBottom Period ! © OPITZ CONSULTING GmbH 2012 Seite 26 Wichtige Hinweise Customizing war notwendig. (Schritt „Begin Essbase Data Extract“) Column „Data“ des Ziels wird mit UD1 markiert und soll an das Ende des Extrakts gestellt werden. stagCols = ' <%=odiRef.getColList("" , "[CX_COL_NAME]=[COL_NAME] ", ", ", "", "!UD1")%> <%=odiRef.getColList(",", "[CX_COL_NAME]=[COL_NAME] ", ", ", "", "UD1")%>' Reihenfolge der Dimensionen ist „beliebig“, aber reproduzierbar. Nach erstem Extrakt wird Reihenfolge im Report Script an Definition der C$-Tabelle angeglichen. Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 27 Wenn das zu langsam ist: LKM Essbase Data Extract using Calc Script Vorlage IKM Essbase Data Load using Rule Files verwenden. Konvertierung zu LKM über Repository-Update vornehmen. UPDATE snp_trt SET trt_type='KL' ,km_src_techno = 'HYPERION_ESSBASE' ,km_techno = NULL WHERE i_trt = ... Zusätzlich wird ein leeres IKM benötigt. Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 28 Exportieren mit Calc Script SET DATAEXPORTOPTIONS { DataExportLevel "ALL"; DataExportRelationalFile ON ; DATAEXPORTOVERWRITEFILE ON; }; FIX (&Servervariable 1, @MATCH ("<Dimension 1>","<Maske>"), <Festes Attribut 1" <Festes Attribut 2" &Servervariable 2 @RELATIVE("YearTotal",0)); DATAEXPORT "DSN" "<DSN>" "<Zieltabelle>" "user" "passwort"; ENDFIX; Bis zu 100x schneller als Report Script Am ODI „vorbei“ Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 29 Kontakt Andreas Ballenthin OPITZ CONSULTING Gummersbach GmbH [email protected] +49 2261 6001 0 Diese Präsentation finden Sie auf http://www.slideshare.net/opitzconsulting. Oracle Data Integrator in der Praxis – Anbindung von SAP ERP und Essbase © OPITZ CONSULTING GmbH 2012 Seite 30