Dubletten


Getting started ... Alles für einen gelungenen Start.

Moderatoren: Jan, Steff

Dubletten

Beitragvon greenhorn » 20.07.2011, 11:01

Hallo zusammen,

da eine Dublettenüberprüfung für technische Objekte in CRM nicht standardmäßig enthalten ist, muss diese implementiert werden.
Dabei überprüfe ich, ob die eingegebenen Werte des Users bereits in der DB enthalten sind und gebe -falls jene vorhanden- eine Fehlernachricht aus.
Dabei muss ich eine Logik implementieren die es mir ermöglicht folgende Szenarien zu meistern:

Usereingabe: Feld1: Schönlein strasse 5a
DB: Feld1:Schoenleinstraße, Feld2: 5, Feld3: a

Wie kann ich das abfangen und als Dublette erkennen?

Vielen Dank im Voraus.

greenhorn
greenhorn
ForumUser
 
Beiträge: 5
Registriert: 19.07.2011, 16:39
Dank erhalten: 0 mal
Ich bin: Student/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: Dubletten

Beitragvon Spookykid » 20.07.2011, 12:48

Hallo,

ich bin zwar kein Doubletten-Profi, ich denke aber nicht, dass du das mit ein paar Zeilen ABAP lösen kannst.

Garbage IN = Garbage OUT.

Man muss das Problem bei der Wurzel packen und das ist halt die Eingabe der Stammdaten im CRM.

Wenn es bei deiner Prüfung nur um Adressdaten geht, würd' ich mir mal die Plugins dieses Anbieters anschauen.
http://www.addressdoctor.com/de/default.asp
Spookykid
Specialist
 
Beiträge: 140
Registriert: 23.03.2011, 11:32
Wohnort: Stuttgart
Dank erhalten: 0 mal
Ich bin: Student/in

Re: Dubletten

Beitragvon ralf.wenzel » 20.07.2011, 13:01

greenhorn hat geschrieben:Usereingabe: Feld1: Schönlein strasse 5a
DB: Feld1:Schoenleinstraße, Feld2: 5, Feld3: a

Wie kann ich das abfangen und als Dublette erkennen?


Mit entsprechendem Coding, das vergleichbares (oe / ö, etc.) vergleicht. ;) Hab ich schon gemacht, war witzig.


Ralf
ralf.wenzel
Top Expert
 
Beiträge: 3374
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 213 mal
Ich bin: Freiberufler/in

Re: Dubletten

Beitragvon black_adept » 20.07.2011, 14:38

Nett wird es auch, wenn man "Straße" , "Strasse" und "Str." auch noch als gleich erkennen möchte.
Oder wenn "Schönleinstraße" gleichzusetzten ist mit einem minimalen Schreibfehler wie "Schönlienstraße".

Habe so was ähnliches vor Jahren mal gemacht als Datenbereinigung - aber wir sind dann von "Gleichheit" weg gegangen und haben uns auf "Ähnlichkeit" geeinigt.
Haben Adressdaten verglichen und aus 2 Adresssätzen einen "Ähnlichkeitsfaktor" bestimmt. Und alle Datensätze die "ähnlich genug" waren wurden dann nochmal visuell überprüft, ob das tatsächlich dieselbe Adresse ist.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de
black_adept
Top Expert
 
Beiträge: 3198
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 560 mal
Ich bin: Freiberufler/in

Re: Dubletten

Beitragvon greenhorn » 21.07.2011, 12:28

str., straße, strasse...das problem hab ich gelöst, indem ich alles was mit 'str' beginnt abschneidet und mit "STR*" ersetzt.

Erkennt. des Tages: Das Problem kann nicht zu 100% automatisiert werden. Was dem sehr nahe kommt ist der "Levensthein"-Algo. Eine Implementierung dessen würde jedoch eine Nutzen/Aufwand-Analyse nicht standhalten.
-g.
greenhorn
ForumUser
 
Beiträge: 5
Registriert: 19.07.2011, 16:39
Dank erhalten: 0 mal
Ich bin: Student/in

Re: Dubletten

Beitragvon ralf.wenzel » 21.07.2011, 12:39

greenhorn hat geschrieben:str., straße, strasse...das problem hab ich gelöst, indem ich alles was mit 'str' beginnt abschneidet und mit "STR*" ersetzt.


Du hast das Problem damit umgangen, aber keinesfalls gelöst.... Etliche Straßennamen sind nach Personen benannt - mir fällt eine ehem. Mitschülerin ein, die "Stricker" heißt.... Heraus kommt ein sehr komplexer Algorithmus, der dann immer noch nicht alle Fälle "erschlagen" kann, wie du schon sagst: Das Problem ist nicht rein maschinell lösbar.
ralf.wenzel
Top Expert
 
Beiträge: 3374
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 213 mal
Ich bin: Freiberufler/in

Re: Dubletten

Beitragvon greenhorn » 21.07.2011, 16:17

teillösung:

replace "str." with "str%"
replace "straße" "str%"
replace "strasse" "str%"

das wäre die richtige richtung. nur blöd bei z.B. "mainzer landstraße" -> "mainer landstr*"
immerhin wird die straße "gefunden"...
greenhorn
ForumUser
 
Beiträge: 5
Registriert: 19.07.2011, 16:39
Dank erhalten: 0 mal
Ich bin: Student/in

Re: Dubletten

Beitragvon black_adept » 22.07.2011, 08:47

greenhorn hat geschrieben:Was dem sehr nahe kommt ist der "Levensthein"-Algo. Eine Implementierung dessen würde jedoch eine Nutzen/Aufwand-Analyse nicht standhalten.
-g.


Wie kommst du darauf, dass SAP so etwas nicht hätte?
http://www.abapforum.com/forum/viewtopic.php?f=1&t=14815&p=50116
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de
black_adept
Top Expert
 
Beiträge: 3198
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 560 mal
Ich bin: Freiberufler/in

Re: Dubletten

Beitragvon Tron » 25.07.2011, 09:03

Moin,
hier eine gute Quelle zum Lenvenshtein-Algo (auch in ABAP):
http://en.wikibooks.org/wiki/Algorithm_ ... n_distance
gruß Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.
Tron
Expert
 
Beiträge: 974
Registriert: 04.08.2007, 21:08
Wohnort: Hamburg
Dank erhalten: 188 mal
Ich bin: Entwickler/in


Zurück zu ABAP® für Anfänger

  Aktuelle Beiträge   
Steuerliches Abgangsland in Verkaufsbeleg ändern
vor 4 Stunden von Julia611 0 Antw.
XML hochladen, Abschnitte suchen, Abschnitte als XML zurück
vor 3 Stunden von deejey 1 Antw.
(LKW)Bedarfsvorschau je Debitor
vor 2 Tagen von wreichelt 5 Antw.
Lieferplan, Einteilungen, Feinabrufe
vor 2 Tagen von bapimueller 0 Antw.
gelöst Smartforms Struktur rechtsbündig
vor 3 Tagen von qyurryus 3 Antw.

  Ähnliche Beiträge beta
Dubletten
08.12.2006, 09:27 von DeathGuardian 2 Antw.
gelöst Dubletten herausfinden
22.03.2019, 15:29 von L0w-RiDer 16 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder