Post on 25-Mar-2020
Fachhochschule für Technik und Wirtschaft Berlin
Fachbereich Wirtschaftswissenschaften II
Studiengang Wirtschaftsinformatik
Projektbericht:
01.05.2004 – 10.06.2004
Datenexport aus einer SAP Datenbank und
Datenimport in eine CRM Datenbank
SAP2CRM
erstellt von
Saim Sert
&
Mukayıl Kılıç
E-Business 10. Juni 2004
Projektbericht: SAP2CRM Seite 2 von 13
Inhaltsverzeichnis
1 Auftragsbeschreibung .................................................................3
2 Ausgangssituation und Ziele.......................................................4
2.1 Umgebung ........................................................................4
2.2 Anforderungen .................................................................5
2.2.1 Basisanforderung .............................................................. 5
2.2.2 Spezialanforderung........................................................... 5
2.2.3 Optionale Funktionen ....................................................... 5
2.3 Lösungsansatz und Entscheidung ....................................5
2.4 Begründung der Wahl ......................................................6
3 Projektmanagement.....................................................................7
3.1 Nutzen und Risken ...........................................................7
3.2 Projektplan .......................................................................7
3.3 Vorgehensweise ...............................................................8
4 Anlagen .......................................................................................9
4.1 Kurzbeschreibung.............................................................9
4.2 Quellcode........................................................................12
E-Business 10. Juni 2004
Projektbericht: SAP2CRM Seite 3 von 13
1 Auftragsbeschreibung
Der Kunde „FHTW“ möchte in Zukunft – zur Unterstützung und Protokollierung ihrer
Interaktionen – eine CRM Software einsetzen. Die FHTW hat bereits bestehende Kunden,
deren Daten in einem SAP System gepflegt werden. Diese Daten möchte der Kunde als
Grundlage für die Erstbestückung des CRM Systems verwenden. Das CRM System bietet
verschiedene Schnittstellen, um Daten zu importieren. Das SAP System verfügt jedoch nicht
über die gewünschte Exportfunktion.
Es muss ein Tools entwickelt werden, welches die Mandantenstammdaten aufbereitet und in
geeigneter Form exportiert und in eine CSV Datei ablegt. Diese Daten sollen anschließend in
das CRM System eingepflegt werden.
Das Exportieren der Daten aus dem SAP System und das Importieren der Daten in das CRM
System geschieht in zwei unabhängigen Schritten.
E-Business 10. Juni 2004
Projektbericht: SAP2CRM Seite 4 von 13
2 Ausgangssituation und Ziele
2.1 Umgebung
IT – Infrastruktur
Im LAN steht ein Novell NetWare Server als Datei- und Druckserver zur Verfügung, welches
auch - via Novell ZEN Works - die Applikationen auf den Clients zur Verfügung stellt. Das
SAP und CRM System befinden sich nicht im LAN. Das CRM System befindet sich auf
einem Webserver, der über das Internet zugänglich ist. Das SAP System wird von einer
Partneruniversität zur Verfügung gestellt und ist nur über das FHTW Netzwerk zugänglich.
Clients
Als Clients kommen Microsoft Windows XP Systeme zum Einsatz. Diese benötigen für die
Anmeldung an den Datei- und Druckserver den Novell NetWare Client mit ZEN Works. Da
alle Anwendungen vom Server bereitgestellt werden, sind keine lokalen Anwendungen
installiert. Die Clients können via LAN ins Internet. Dies wird durch den Proxy ermöglicht,
der gleichzeitig die Verbindung zum SAP Server ermöglicht. Für die Nutzung des SAP
Systems wird das SAP Logon Pad 6.2 zur Verfügung gestellt. Die Anmeldung an das CRM
System erfolgt über einen Browser, welches auch außerhalb des FHTW Netzwerks möglich
ist. Die Clients verfügen alle über die Microsoft Office 2000 Komponenten.
E-Business 10. Juni 2004
Projektbericht: SAP2CRM Seite 5 von 13
2.2 Anforderungen
2.2.1 Basisanforderung
Stabilität
Die Anwendung muss stabil laufen, d.h. Fehler müssen abgefangen werden und dürfen die
Umgebung nicht beeinträchtigen. Fehler die durch falsche Benutzereingabe verursacht
werden, sollen als Fehlermeldung im Klartext ausgegeben werden.
Sicherheit
Die Anwendung darf Sicherheitsmechanismen nicht umgehen, wie z.B. durch automatische
Anmeldung an SAP oder CRM.
2.2.2 Spezialanforderung
Flexibilität
Die Anwendung wird zunächst nur auf eine Datenbank zugeschnitten. Abfrageparameter
werden schon bei der Programmierung festgelegt, und bleiben für den Benutzer
unveränderlich.
2.2.3 Optionale Funktionen
Sicherheit
Wenn die Anwendung in das SAP oder CRM System implementiert wird, entfällt eine erneute
Anmeldung. Dies bedeutet keinesfalls die Umgehung von Sicherheitsmechanismen, da der
Benutzer durch das jeweilige System authentifiziert wird.
Flexibilität
Optional kann man die Anwendung für versierte Benutzer flexibler gestalten. Der Benutzer
könnte dann die Abfrageparameter zur Laufzeit bestimmen.
2.3 Lösungsansatz und Entscheidung
Beim Lösungsansatz werden (alle) Möglichkeiten in Betracht gezogen, die zur Lösung der
gegeben Aufgabe führen. Ansätze, die identische Eigenschaften aufweisen bzw. mit
ähnlichem Aufwand verbunden sind, werden nicht erwähnt.
E-Business 10. Juni 2004
Projektbericht: SAP2CRM Seite 6 von 13
VB
Visual Basic ist eine Objektorientierte Programmiersprache, die für die Gestaltung der
Oberfläche vorhandene Bibliotheksdateien von Windows nutzt. Es eignet sich besonders gut
für das Erstellen von Prototypen, wo die Implementierung nach dem Designentwurf erfolgt.
VBA
Visual Basic for Application bietet zusätzliche Funktionen für die Microsoft Office Produkte,
und wird hautsächlich zur Programmierung von Makros verwendet. Eine Oberfläche wird
selten benötigt, da die Daten in der vorhandenen Tabelle bzw. in dem Dokument dargestellt
werden können.
Java
Java ist eine plattformunabhängige Objektorientierte Programmiersprache. Die Anwendung
kann von der Kommandozeile aufgerufen werden oder als Applet im Browser gestartet
werden. Zum Ausführen der Programme wird eine Java Virtual Machine benötigt.
ABAP
Man kann in SAP die benötigten Daten in einer neuen Tabelle zusammenstellen und diese
dann exportieren. Diese Funktion muss mit ABAP programmiert werden und in das
gewünschte SAP System implementiert werden. Voraussetzung hierfür ist, dass man sich bei
SAP als Entwickler registriert. Die Registrierung ist auf das jeweilige SAP System
beschränkt.
2.4 Begründung der Wahl
Da Visual Basic for Application bereits in der Microsoft Office Produktpalette enthalten ist,
fallen keine zusätzliche Kosten für die Entwicklungsumgebung an. Die exportierten Daten
können vor dem Importieren angezeigt, geprüft und ggf. korrigiert werden.
Die Anwendung wird unabhängig vom SAP System, und kann auch eventuell in anderen
Systemen Anwendung finden.
E-Business 10. Juni 2004
Projektbericht: SAP2CRM Seite 7 von 13
3 Projektmanagement
3.1 Nutzen und Risken
Bei der Aufgabenbearbeitung wird von einer einmaligen Datenübernahme ausgegangen. Das
Tool soll lediglich bei der Erstbestückung den Aufwand minimieren und nicht zum
synchronisieren der Datenbestände dienen. Bei bereits bestehenden Daten kann es sonst zu
einer Inkonsistenz der Daten führen; daher sind vor dem Importieren Prüfungen
durchzuführen.
3.2 Projektplan
Monat
Tag F F F F F S S M T W T F
Nr Phase 7. 14. 21. 28. 4. 5. 6. 7. 8. 9. 10. 11.
1 ProjektplanTermine planen
Projektplan erstellen
2 ProjektananalyseIst-Zustand ermitteln
Anforderungen festlegen
Tools analysieren
3 ProjektdurchführungEntwicklungstool festlegen
Lösung entwickeln
Lösung testen
4 ProjektdokumentationDokumentation schreiben
Benutzerhandbuch schreiben
5 ProjektabnahmeLösung implementieren
Lösung präsentieren
Benutzerhandbuch übergeben
Mai 04 Jun 04
E-Business 10. Juni 2004
Projektbericht: SAP2CRM Seite 8 von 13
3.3 Vorgehensweise
Nach Erstellung des Projektplans wird in der zweiten Phase der Ist-Zustand ermittelt. Vor der
eigentlichen Projektdurchführung werden verschiedene Tools analysiert und bewertet. Nach
Festlegen des Entwicklungstools wird eine Lösung entwickelt und getestet; so lange bis sie
den Anforderungen entspricht. Die nächste wichtige Phase dokumentiert die Vorgehensweise
und gewonnenen Erkenntnisse. Die letzte Phase ist die eigentliche Implementierung der
Lösung in das vorhandene System und eine eventuelle Einweisung oder Präsentation.
Eine schriftliche Kurzbeschreibung soll die Bedienung für den Benutzer einfacher machen.
E-Business 10. Juni 2004
Projektbericht: SAP2CRM Seite 9 von 13
4 Anlagen
4.1 Kurzbeschreibung
Export aus SAP
1. Schritt: MS Excel starten und Datei öffnen
3. Schritt: Server auswählen
4. Schritt: Anmeldung durchführen
2. Schritt: Makro starten
oder 3.Schritt: Fehler beheben
und 2. Schritt wiederholen
5. Schritt: Import durchführen
und Programm beenden
E-Business 10. Juni 2004
Projektbericht: SAP2CRM Seite 10 von 13
Import in CRM
1. Schritt: Als Administrator anmelden
2. Schritt: Import Funktion aufrufen
3. Schritt: Datei auswählen
E-Business 10. Juni 2004
Projektbericht: SAP2CRM Seite 11 von 13
4. Schritt: Felder zuordnen und Import abschließen
Gesamtdarstellung (Schritt 4)
E-Business 10. Juni 2004
Projektbericht: SAP2CRM Seite 12 von 13
4.2 Quellcode
Sub GetCustomer() 'Deklaration der Objekte und Variablen Dim functionCtrl As Object 'Function Control (Sammelobjekt) Dim sapConnection As Object 'Verbindungsobjekt Dim theFunc As Object 'Function Objekt 'Erstellen eines Funktionsobjektes Set functionCtrl = CreateObject("SAP.Functions") 'Verbindung zu R/3 aufnehmen Set sapConnection = functionCtrl.Connection 'Logon mit Initialwerten sapConnection.Client = "962" sapConnection.user = "develop11" 'sapConnection.Password = "UNSICHER" sapConnection.Language = "DE" If sapConnection.logon(0, False) <> True Then MsgBox "Keine Verbindung zum R/3!" Exit Sub 'Programm beenden End If 'Funktionsbaustein aufrufen 'Referenz auf Funktionsobjekt "RFC_CUSTOMER_GET" Set theFunc = functionCtrl.Add("RFC_CUSTOMER_GET") 'Vorbereitung der Ausgabe auf EXCEL-Sheet Worksheets(1).Select Cells.Clear 'Deklaration Dim customers As Object Dim returnFunc As Boolean Dim startzeil As Integer Dim endcol As Integer Dim the_name As String startzeil = 1 'Festlegen der Importparameter für Funktionsaufruf For start_char = Asc("A") To Asc("A") the_name = Chr$(start_char) + "*" theFunc.exports("NAME1") = the_name theFunc.exports("KUNNR") = "*" returnFunc = theFunc.Call die_exception = theFunc.Exception If returnFunc = True Then Set customers = theFunc.tables.Item("CUSTOMER_T") endcol = 0 Call display_customers(the_name, customers, startzeil, endcol) startzeil = endcol Set customers = Nothing Else If die_exception = "NO_RECORD_FOUND" Then Cells(startzeil, 1) = "Keine Werte vorhanden für " + the_name startzeil = startzeil + 1 Else MsgBox "Fehler beim Zugriff auf Funktion im R/3 ! " Exit Sub End If End If Next start_char 'Vebindung zum R/3 beenden ! functionCtrl.Connection.logoff 'Objekte und damit Speicherplatz freigeben Set sapConnection = Nothing Set functionCtrl = Nothing 'Programm beenden MsgBox "Programm beendet!", vbOKOnly, "Beenden" End Sub
E-Business 10. Juni 2004
Projektbericht: SAP2CRM Seite 13 von 13
Sub display_customers(aName As String, ByRef customers_table As Object, start_zeil As Integer, ByRef end_col As Integer) 'Anzeige des Tabellenkopfes Cells(start_zeil, 1) = "KundenNr." Cells(start_zeil, 2) = "Anrede " Cells(start_zeil, 3) = "Kundenname " + aName Cells(start_zeil, 4) = "PLZ" Cells(start_zeil, 5) = "Ort" Cells(start_zeil, 6) = "Tel.Nr " 'Hervorhebung der Fonts Range(Cells(start_zeil, 1), Cells(start_zeil, 6)).Font.Bold = True 'Zeigt Inhalte der Kundentabelle an bManyCustomers = False If (bManyCustomers = False) Then i = start_zeil + 2 For Each Customer In customers_table.Rows Cells(i, 1) = Trim(Customer("KUNNR")) Cells(i, 2) = Customer("ANRED") Cells(i, 3) = Customer("NAME1") Cells(i, 4) = Customer("PSTLZ") Cells(i, 5) = Customer("ORT01") Cells(i, 6) = Customer("TELF1") i = i + 1 Next End If end_col = i End Sub