-
Das geht leider nicht
Das 'darf' ich nicht.
Ist nicht meine Datei.
ich könnte sie per Pgm in eine mit Var len kopieren, ...
Hm, mal sehn ob das 'genemigt' wird
andere Vorschläge ?
Danke
Robi
-
Hi Robi,
ich hab's nicht ausprobiert, aber was wäre, wenn Du eine temporäre View (mit TRIM und VARCHAR-Feldern)) erstellen würdest (embedded SQL!), dann den CPYFROMIMPF mit der View ausführst und die View anschließend wieder löschst?
PHP-Code:
CREATE VIEW QTEMP/MYVIEW
as (Select Fld1, Cast(Trim(Fld2) as VarChar(50)) Fld2, ....
From MyFile);
Birgitta
-
Hallo Birgitta,
das Projekt wurde grade auf Eis gelegt, da der Schnittstellenpartner mit seiner eigenen Dateibeschreibung nicht klarkommt 
Ist ne gut Idee von dir, wenn's weitergeht werde ich es mal versuchen, dnake
schönen Gruß
Robi
-
basierend auf deinen Ursprungsangaben habe ich das nun auch ausprobiert:
CPYTOIMPF FROMFILE(TESTCSV)
TOSTMF('/Home/Fuerchau/TestCSV')
MBROPT(*REPLACE)
STMFCODPAG(1252)
RCDDLM(*CRLF)
RMVBLANK(*BOTH)
FLDDLM(',')
Das Ergebnis ist folgendes:
"10.08.2009"";""11.09.2009"";15.10.2009","08:00:01"";""09:30:07"";""12.45.13"
Leerzeichen wurden korrekt entfernt, Das "-Zeichen wurde korrekt verdoppelt, siehe STRESCCHR(*STRDLM) !
Ich kann nun nur vermuten, dass deine Datenquelle keine Leerzeichen enthält !
Schau mal per DSPPFM -> F10 nach.
-
Doch doch, leerzeichen sind drin ...
bei deinem Ergebnis sind die doppelten " anders als bei meiner 'soll' vorgabe.
aber, das PJ ruht z.zt. werde mich melden, wenn es weitergeht
Danke an die freißigen Helfer, und schönes Wochenende
Gruß
Robi
-
Wenn du schon STRDLM(*DBLQUOTE) angibst, muss das Ergebnis genau so sein, da dein Beispieltext eben DBLQUOTE enthält müssen diese auch verdoppelt werden.
PS:
Prüfe mal auf jeden Fall deine CCSID's der PF und des Job's.
-
CCSID werde ich prüfen (wenn' s weiter geht), Danke
Was die doppelte takken (") angeht ... vielleicht hab ich es undeutlich formuliert ...
ich komme aus einer PF in der innerhalb der Feldes die " stehen.
Sie (die as400) soll dem Feld vorne und hinten " hinzufügen.
Das Ergebnis währen keine doppelten " IN dem Feld,
(klappt ja auch, bis auf die Leerzeichen)
Gruß
Robi
-
Reden wir hier über Anführungszeichen oder Hochkoma ?
Das ist hier nicht eindeutig zu sehen.
Bei CSV ist die Definition so, dass STRDLM innerhalb eines Feldes nicht vorkommen darf.
Wenn doch, wird STRESCCHR vor dem Zeichen eingefügt. Du kannst jedoch auch STRESCCHR(*NONE) verwenden.
Vorgehensweise meines Test's:
create table qtemp/testcsv (f1 char(512), f2 char(512))
insert into qtemp/testcsv
values ('10.08.2009";"11.09.2009";15.10.2009'
,'08:00:01";"09:30:07";"12.45.13')
CPYTOIMPF FROMFILE(TESTCSV)
TOSTMF('/Home/Fuerchau/TestCSV')
MBROPT(*REPLACE)
STMFCODPAG(1252)
RCDDLM(*CRLF)
STRESCCHR(*NONE)
RMVBLANK(*BOTH)
FLDDLM(',')
Ausgabe:
"10.08.2009";"11.09.2009";15.10.2009","08:00:01";"09:30:07";"12.45.13"
Länge der Ausgabedatei 72 Zeichen.
-
So weiter gehts ...
(und das einen tag vor dem urlaub ...)
Wir reden von Anführungszeichen
Auszug aus der Datei ( PF )
Code:
OB_Einfach_107.10.2009 13:11:17
OB_Einfach_107.10.2009 13:11:17
OB_Einfach_107.10.2009 13:11:17
OB_Einfach_107.10.2009 13:11:17
OB_Einfach_107.10.2009 13:11:17
OB_Einfach_107.10.2009 13:11:17
OB_Einfach_107.10.2009 13:11:17
OB_Einfach_107.10.2009 13:11:17
OB_Einfach_107.10.2009";"07.10.2009 13:11:17";"13:11:17
OB_Einfach_107.10.2009 13:11:17
OB_Einfach_107.10.2009 13:11:17
OB_Einfach_107.10.2009";"07.10.2009 13:11:17";"13:11:17
Dateibeschreibung
f1 12 A
F2 62 A
F3 52 A
mein Befehl z.zt
Code:
CPYTOIMPF FROMFILE(KAMPA#2P)
TOSTMF('/QNTC/SRV01/a/b/c/D/test.csv')
MBROPT(*REPLACE)
STMFCODPAG(*PCASCII)
RCDDLM(*CRLF)
STRDLM('"')
STRESCCHR(*NONE)
RMVBLANK(*BOTH)
DATFMT(*iso)
TIMFMT(*iso)
das Erg.
Code:
"OB_Einfach_1","07.10.2009 ","13:11:17
"OB_Einfach_1","07.10.2009 ","13:11:17
"OB_Einfach_1","07.10.2009 ","13:11:17
"OB_Einfach_1","07.10.2009 ","13:11:17
"OB_Einfach_1","07.10.2009 ","13:11:17
"OB_Einfach_1","07.10.2009 ","13:11:17
"OB_Einfach_1","07.10.2009 ","13:11:17
"OB_Einfach_1","07.10.2009 ","13:11:17
"OB_Einfach_1","07.10.2009";"07.10.2009 ","13:11:17";"13:11:17
"OB_Einfach_1","07.10.2009 ","13:11:17
"OB_Einfach_1","07.10.2009 ","13:11:17
"OB_Einfach_1","07.10.2009";"07.10.2009 ","13:11:17";"13:11:17
(alle Sätze haben ganz rechts noch das Anführungszeichen)
das soll Erg.
ohne die Blanks
Wenn' bei dir klappt, was machst du anders ?
Danke
Robi
-
Der View Tip von Birgitta klappt.
schankedön
Gruß
Robi
Similar Threads
-
By malzusrex in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 14-12-06, 17:20
-
By mott in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 09-10-06, 11:28
-
By Muchi in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 03-08-06, 09:41
-
By SUBUIS in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 09-05-06, 09:36
-
By Muchi in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 21-04-06, 13:54
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