Anmelden

View Full Version : CSV - ungültige Zeichen



loeweadolf
13-03-09, 17:06
Ich habe eine physische Datei zur Verfügung (also nicht IFS, sondern in einer Bibliothek), die Sätze enthält mit jeweils einem Datenfeld.
Dieses Datenfeld enthält Daten im CSV-Format, d.h. unterschiedliche Feldlänge und jeweils getrennt durch SEMIKOLON.

Bis dahin alles noch okay.

Jedoch enthalten die Datensätze an einigen Stellen ungültige Zeichen, z.B. wurde das -ü- falsch übernommen etc.

Was gibt es für Möglichkeiten, die jeweils ungültigen Zeichen zu erkennen und durch ein anderes Zeichen zu ersetzen.

( RPG mit/ohne Embedded SQL )

Für Anregungen wäre ich dankbar.

Fuerchau
13-03-09, 17:11
Schau dir mal per DSPPFM ggf. mit F10 die Hexwerte an.
Dann kannst du einfach per SQL

update file
set feld = replace(feld, x'aabbcc', 'ÄÖÜ')

anwenden.

Replace:
1. das Feld
2. eine Von-Zeichenkette
3. eine Nach-Zeichenkette

jedes Vorkommen des Zeichens der Von-Zeichenkette wird mit dem Zeichen seiner relativen positionder nach-Zeichenkette ersetzt.

oder anders:

replace(feld, 'abc', 'ABC')

loeweadolf
13-03-09, 17:16
Gibt es auch eine Möglickeit, ohne das genaue Von-Zeichen anzugeben, dieses zu ersetzen ?
( also alle Zeichen, die in auf der i5 als ungültig angesehen werden ? )

Fuerchau
13-03-09, 17:53
a) über eine eigene Tabelle (CRTTBL).
Dann kannst du QDCXLATE verwenden.

b) über eine Schleife in RPG
alle Zeichen die nicht Blank und nicht A-Z und nicht 0-9 sind, durch Blank ersetzen.

Beachte, dass in EBCDIC A-Z in 3 Gruppen aufzuteilen ist.

loeweadolf
13-03-09, 19:12
Ich habe mich für folgenden Weg entschieden:
Aus der Datei die ungültigen Hex-Codes rausgesucht und diese im RPG-Programm per SQL (SET ...) ersetzt durch gültige Zeichen.

Vielen Dank für die Unterstützung.