[54242] in SAPr3-news

home help back first fref pref prev next nref lref last post

Re: Adresszeile trennen/zerlegen in Bestandteile

daemon@ATHENA.MIT.EDU (David Krcek)
Fri Apr 22 06:49:22 2005

To: sapr3-news@mit.edu
Date: Fri, 22 Apr 2005 11:55:10 +0000
From: David Krcek <david.krcek@saplive.de>
Message-ID: <pan.2005.04.22.11.54.56.628530@saplive.de>

Hookahey,

ich würde das Pferd von hinten auszäumen,

Also: 
1. alle Zeichen von rechtes nach links die nicht numerisch sind nach
Ort schieben.
2. Nachfolgend von rechts nach links alle nummerischen Zeichen sind die
PLZ
3. Wenn nächsten zwei Zeichen aus 'D-' oder 'D ' oder ' D' dann hast Du
die Länderkürzel, hier wirds aber haarig, da die einzige Unterscheidung
zu deiner Hausnummerergänzung rein logisch ist, da es nämlich die
Ergänzung d geben kann. 
Wenn Du sicherstellen kannst, dass die Länderkürzel - wenn vorhanden -
immer ein Grossbuchstabe ist und gleichzeitig der Adressergänzung nie
Grossbuchstaben enthält, wäre dieses mögliche Problem umgangen.
4. Wieder von rechts nachlinks, den Inhalt von allen Zeichen beginnend von
rechts, solange in ein temporäres Feld schieben bis ein whitespace einer
Zahl folgt.
5. Das temporäre Feld nach links aufschieben und von links(!) nach rechts
lesend solange alle nummerischen Zeichen in das Feld Hausnummer
übertragen bis ein nichtnummerisches Zeichen kommt. Den Rest nach
Hausnummernergänzung schieben.
6. Den Rest des ursprünglichen Feldes nach Strasse schieben.

Jetzt darfst Du das nur noch coden :) Allerdings würde ich an Deiner
Stelle, das Ganze mit Perl und der REGEX lösen, dürfte deutlich
einfacher sein als mit ABAP. In ABAP würd ich nur einen Systemcall
absetzen.

Hoffe Dir ein bisschen geholfen zu haben.

LL&P
2b

On Thu, 21 Apr 2005 06:04:22 -0700, discomiller wrote:

> Hallo,
> 
> ich stehe vor der Aufgabe, beliebige Adresszeilen bestehend aus
> 
> - Strasse (obligatorisch)
> - Hausnummer (obligatorisch)
> - evtl. Hausnummernergänzung (optional, zB. 'a')
> - evtl. Länderkürzel (optional, zB. 'D' oder 'D-')
> - Postleizahl (obligatorisch)
> - Ort (obligatorisch)
> in seine Bestandteile zu zerlegen.
> 
> einfaches Beispiel:
>    Hauptstrasse 16 65420 Schlickenfischbach
> Ergebnis:
> - Strasse = Hauptstrasse 
> - Hausnummer =  16 
> - Hausnummernergänzung = LEER
> - Länderkürzel = LEER
> - Postleizahl = 65420 
> - Ort = Schlickenfischbach
> 
> komplexes Beispiel
>    Strasse des 17. Juni 18-19 D-98754 Bad Neuenahr
> Ergebnis:
> - Strasse = Strasse des 17. Juni 
> - Hausnummer = 18
> - Hausnummernergänzung = -19 
> - Länderkürzel = D
> - Postleizahl = 98754
> - Ort = Bad Neuenahr
> 
> Für eine Lösungsansatz wäre ich sehr dankbar und zolle meinen Respekt !
> 
> Vielen Dank, Gruss Mario Müller


home help back first fref pref prev next nref lref last post