Im Rahmen unserer SAP Hybris C4C Einführung stand diese Woche nun das nächste Teilprojekt an: Datenmigration. Steffen hat in unserem letzten Blog Beitrag bereits ein wenig darüber berichtet. Ich werde heute genauer ausführen, wie wir dabei vorgegangen sind.

Vorgehensweise & Datenexport aus Salesforce.com

Unser bisheriges CRM, Salesforce.com (SFDC), war über einen SAP Data Services Adapter direkt angebunden. SAP Hybris Cloud for Customer verfügt über eine oData Schnittstelle, für die SAP Data Services ebenfalls einen Adapter bereitstellt. Unser ursprünglicher Plan, um SAP Hybris Cloud for Customer mit Daten aus Salesforce zu befüllen, war es, genau diese Schnittstelle dafür zu nutzen. Denn mithilfe von oData Services lassen sich Daten einheitlich via http abfragen, aktualisieren, einfügen und löschen. Und auf Basis der SAP Data Services geschieht das unfassbar einfach und schnell.

Leider konnten wir den oData Ansatz zur direkten Migration auf C4C nicht wie gewünscht umsetzen: Nach dem Auslesen der Salesforce-Daten mittels Salesforce Adapter ließen sich diese zwar entsprechend weiterverarbeiten und auf die von C4C bereitgestellten oData Services mappen, aber ein Schreiben in C4C war nicht möglich. Erste Analysen ergaben, dass es vermutlich an inkompatiblen oData Protokoll Versionen zwischen SAP Data Services und C4C Schnittstelle lag. Hier wären zusätzliche Analysen sowohl durch uns als auch den SAP Support erforderlich gewesen, um einen geeigneten Softwarepatch für den oData Adapter zu erhalten. Dieses Szenario hätte uns jedoch zu viel Zeit gekostet, die so in unserer Projektplanung nicht vorgesehen war. Daher mussten wir diesen eleganten Ansatz leider verwerfen.

Zeit für Plan B: Wir haben uns dann entschieden, die von C4C bereitgestellten Migration Excel Templates zu benutzen. Heißt im Klartext: Daten per Salseforce Adapter exportieren und mittels Data Services in Staging Tabellen zwischenspeichern. Anschließend in Data Service analysieren, bereinigen und aufbereiten sowie per Flat File Export als CSV Dateien bereitstellen.

Datenbereinigung und –transformation mit SAP Data Services

Nur ein homogener, fehlerfreier Datenbestand liefert eine vertrauenswürdige Grundlage für unsere Geschäftsentscheidungen. Um in unserem Zielsystem SAP Hybris C4C eindeutige und einheitliche Datensätze zu garantieren, war das Data Cleansing ein wichtiger Meilenstein im Projekt. Auch hier arbeiten wir mit SAP Data Services.

Dabei wurden:

  • Dubletten vollautomatisiert identifiziert und konsolidiert.
  • Address Cleansing mithilfe externer Validierungsservices durchgeführt, d. h. die Adressen wurden validiert und falls nötig automatisch vervollständigt.
  • Insbesonders die Unternehmensdaten mit relevanten Zusatzinformationen, wie z. B. Geodaten bzw. x-y-Koordinaten angereichert

Auf diese Weise ist es uns gelungen, die Datenqualität nachhaltig zu steigern und somit die manuelle Nachbesserung für einen Datenimport in C4C auf ein Minimum zu senken.

Anschließend haben wir die Daten mithilfe SAP Data Services gemappt und transformiert. Eine Datentransformation ist erforderlich, da Quell- und Zielsystem idR nie die gleichen Datenmodelle aufweisen werden. Daher wird zunächst ein Datenmapping durchgeführt und basierend auf den Erkenntnissen des Mappings Transformationsregeln erstellt, um die Daten vor dem Datenimport sinnvoll anzupassen. Auf das Thema Mapping ist Steffen ebenfalls im letzten Blog <> eingegangen. Die Transformationsregeln werden dann beim Import softwaregestützt umgesetzt. Im Detail: Wir haben unsere C4C Migration Excel Templates, die die Datenstruktur für den C4C Import beschreiben, in Data Services als FlatFile Formate angelegt. So konnte das Tool direkt die aus dem Salsefore Adapter gelieferten Daten auf die jeweiligen Flatfile Strukturen mappen. Das Code Mapping haben wir über sog. Lookup Tabellen realisiert.

Datenimport in SAP Hybris C4C

Abgeschlossen wird die Datenmigration durch den Import der Daten ins Zielsystem, in unserem Fall also C4C. Hier haben wir uns für ein mehrstufiges Vorgehen entschieden: Zunächst wurden zuerst die Basisobjekte wie z.B. Kunde, Account, Kampagnen usw. geladen. Erst danach haben wir damit verknüpfte Objekte wie Kontakte, Leads und Aktivitäten geladen.

Für jedes in C4C angelegte Objekt haben wir parallel die Salesforce ID gespeichert, um nach dem Anlegen eine Korrelation zwischen der neu vergebenen C4C ID und der ursprünglichen Salesforce ID herstellen zu können. Dafür wurden in Data Services entsprechende Tabellen angelegt, die einen Lookup von der Salesforce ID auf die neu vergebene C4C ID ermöglichen. Diese Tabellen wurden mittels Data Services entweder per CSV Export aus C4C oder direkt per oDATA aus C4C befüllt.

Abschließend haben wir auch bereits archivierte Objekte, wie z.B. Leads oder Aktivitäten migriert. Auf diese Weise ist es uns gelungen die komplette Aktivitätshistorie (Telefon, Email, Besuche/Aktivitäten) samt Verknüpfung zu Accounts und Kontakten zu erhalten. Insgesamt handelte es sich dabei um 33.869 E-Mail Aktivitäten; 37.121 Telefon Aktivitäten und ca. 48.000 Sonstige Aktivitäten.

Das gelang nur durch einen kleinen „Umweg“: Die Daten wurden als CSV Datei aus Salesforce exportiert und mussten dann in Data Services aufwändig aufbereitet werden, damit C4C nach dem Datenimport z.B. die enthaltenen Zeilenumbrüche in einer Beschreibung korrekt interpretiert. Ohne diese Vorbereitung wäre ein Import unmöglich gewesen, da besagte Zeilenumbrüche die CSV Struktur vollständig verschoben hätten und die Daten den falschen Feldern zugeordnet worden wären.

Status Quo am heutigen Tag sieht also wie folgt aus: Unsere qualitativ hochwertigen Daten befinden sich in SAP Hybris Cloud for Customer. Im nächsten Schritt werden wir das neue System mit einer kleinen Pilotgruppe testen, bevor es dann hoffentlich bald live gehen kann.

Autor Benjamin Dietz, MDM Consultant bei IBsolution

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *