-
chekr in rpg
Folgendes Problem: Bekomme aus einer angelieferten csv-Datei in einem Feld Titel, Vorname, Nachname geliefert und soll den Nachnamen filtern.
Datenformatbeispiel:
"Mag. vorname nachname "
"vorname nachname "
Wie bekomme ich den Nachnamen in rpg am besten in ein eigenes Feld?
Da ich diese Funktion in einem alten RPGIII Programm einbauen muss, bitte um Info, wie das in RPGIII am besten zu lösen geht.
Danke im Voraus für die Hilfe.
-
Moin,
Du kannst das Feld als Tabelle definieren und in Schleife von hinten das 1 Feld <> Blank suchen
danach, ebenfals rückwärts, das 1 Blank
Probleme machen dann nur noch:
Hans Dieter Meyer --> Meyer
Magret Möller Schulz --> Möller Schulz
Gruß
Robi
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
So eine Lösung wollte ich eben vermeiden. Ich dachte, es geht auch irgendwie mit CHEKR
-
Das ganze bekommst du nur mit "unschärfe" hin. Wenn Titel, Vorname, Nachname immer nur ein Wort sind, dann also Anregung eventuell so:
PHP-Code:
d Text s 500 Inz( 'Dr.Hugo Müller' )
d Nachname s 50
d
d Index s 10 0
/free
For Index = %Len( %Trim( Text )) downto 1;
If %SubSt( %Trim( Text ): Index : 1) = ' ';
Leave;
EndIf;
EndFor;
Nachname = %SubSt( Text: Index+1: 50-Index);
*InLr = *on;
/end-free
Hat der Nachname zb. ein von oder was in der Art, dann geht es mit dem Beispiel nicht mehr.
Gruß
Ronald
-
CHEKR oder CHECK erwarten eine Byteliste der gültigen Zeichen.
Du kannst also mühsam eine Tabelle aller Zeichen (Groß/Klein/Umlaute) erstellen, wobei gerade Umlaute und Sonderzeichen CCSID-relevant sind und nicht im Code vorkommen sollten.
Außerdem prüft der Befehl jedes Byte gegen jedes Byte der Tabelle.
Der einfachste Weg ist wirklich eine Schleife und sicherlich auch der schnellste.
Die obige Schleife musst du halt nur nach RPGIII konvertieren.
Ggf. kann man ja per SCAN schon mal den Aufsetzpunkt für das 1. Blank ermitteln.
-
Ja, Programmieren ist halt doch Arbeit. :-)
Die C-Funktion "strtok" könnte hier etwas helfen, ihr sind die Anzahl der Blanks zwischen Worten egal.
Hier löst der Autor eine sehr ähnliche Aufgabe: http://www.mcpressonline.com/program...in-rpg-iv.html
-
Ich will ja nicht meckern, aber ...
Da ich diese Funktion in einem alten RPGIII Programm einbauen muss, bitte um Info, wie das in RPGIII am besten zu lösen geht.
Empfehle programmer400 jedoch die Funktionalität aus zu lagern und einen der Pgm Bsp's zu verwenden
Robi
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Danke für die Tipps, habs mit einer Schleife gelöst.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks