Saim Sert Mukayıl Kılıç - sertler.deVBA Visual Basic for Application bietet zusätzliche...

13
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ıç

Transcript of Saim Sert Mukayıl Kılıç - sertler.deVBA Visual Basic for Application bietet zusätzliche...

Page 1: Saim Sert Mukayıl Kılıç - sertler.deVBA Visual Basic for Application bietet zusätzliche Funktionen für die Microsoft Office Produkte, ... Man kann in SAP die benötigten Daten

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ıç

Page 2: Saim Sert Mukayıl Kılıç - sertler.deVBA Visual Basic for Application bietet zusätzliche Funktionen für die Microsoft Office Produkte, ... Man kann in SAP die benötigten Daten

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

Page 3: Saim Sert Mukayıl Kılıç - sertler.deVBA Visual Basic for Application bietet zusätzliche Funktionen für die Microsoft Office Produkte, ... Man kann in SAP die benötigten Daten

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.

Page 4: Saim Sert Mukayıl Kılıç - sertler.deVBA Visual Basic for Application bietet zusätzliche Funktionen für die Microsoft Office Produkte, ... Man kann in SAP die benötigten Daten

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.

Page 5: Saim Sert Mukayıl Kılıç - sertler.deVBA Visual Basic for Application bietet zusätzliche Funktionen für die Microsoft Office Produkte, ... Man kann in SAP die benötigten Daten

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.

Page 6: Saim Sert Mukayıl Kılıç - sertler.deVBA Visual Basic for Application bietet zusätzliche Funktionen für die Microsoft Office Produkte, ... Man kann in SAP die benötigten Daten

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.

Page 7: Saim Sert Mukayıl Kılıç - sertler.deVBA Visual Basic for Application bietet zusätzliche Funktionen für die Microsoft Office Produkte, ... Man kann in SAP die benötigten Daten

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

Page 8: Saim Sert Mukayıl Kılıç - sertler.deVBA Visual Basic for Application bietet zusätzliche Funktionen für die Microsoft Office Produkte, ... Man kann in SAP die benötigten Daten

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.

Page 9: Saim Sert Mukayıl Kılıç - sertler.deVBA Visual Basic for Application bietet zusätzliche Funktionen für die Microsoft Office Produkte, ... Man kann in SAP die benötigten Daten

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

Page 10: Saim Sert Mukayıl Kılıç - sertler.deVBA Visual Basic for Application bietet zusätzliche Funktionen für die Microsoft Office Produkte, ... Man kann in SAP die benötigten Daten

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

Page 11: Saim Sert Mukayıl Kılıç - sertler.deVBA Visual Basic for Application bietet zusätzliche Funktionen für die Microsoft Office Produkte, ... Man kann in SAP die benötigten Daten

E-Business 10. Juni 2004

Projektbericht: SAP2CRM Seite 11 von 13

4. Schritt: Felder zuordnen und Import abschließen

Gesamtdarstellung (Schritt 4)

Page 12: Saim Sert Mukayıl Kılıç - sertler.deVBA Visual Basic for Application bietet zusätzliche Funktionen für die Microsoft Office Produkte, ... Man kann in SAP die benötigten Daten

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

Page 13: Saim Sert Mukayıl Kılıç - sertler.deVBA Visual Basic for Application bietet zusätzliche Funktionen für die Microsoft Office Produkte, ... Man kann in SAP die benötigten Daten

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