-
CPYFRMSTMF aus Unicode Text Datei
hallo,
ich hätte eine frage... ich versuche in einem meiner programme eine .txt-datei (aus einer excel-datei in unicode-text datei gespeichert) mit dem befehl CPYFRMSTMF (CPYFRMSTMF FROMSTMF(&SOURCEPATH) TOMBR(&DESTPATH) MBROPT(*ADD)
STMFCODPAG(*PCASCII) TABEXPN(*NO) ) in eine temporärdatei CSV_TEMP auf der AS400 zu kopieren. die txt-quelldatei sieht auch noch ok aus, nach dem cpyfrmstmf stehen jedoch alle felder in den sätzen mit blanks getrennt im zielfile:
zeile im txt-file: 123 FIRMA XYZ ...
zeile in csv_temp: 1 2 3 F I R M A X Y Z ...
bei der weiterverarbeitung treten dadurch logischerweise fehler auf.
wenn ich die excel-datei am beginn jedoch in eine txt-datei (tabstopp-getrennt) speichere (also nicht unicode text), funktioniert alles wunderbar.
ich hoffe euch ist jetzt alles unklar ;-)...
danke und bin für jeden tipp dankbar.
lg ernst
Last edited by easchbac; 24-04-09 at 08:32.
Grund: s
-
UNICODE ist ein 2-Byte-Zeichensatz. Excel gibt als je Zeichen 2 Byte aus.
*PCASCII geht aber von normalem 1-Byte-Zeichensatz aus. Du musst also beim Import die CCSID für UCS2 13488 angeben.
-
... muss ich dann die CCSID beim befehl CPYFRMSTMF angeben (mit DBFCCSID ??)...
-
... muss ich dann die CCSID beim befehl CPYFRMSTMF angeben (mit DBFCCSID ??)...
-
STMFCODPAG benennt die CCSID der Quelldaten, DBFCCSID die der Zieldaten (falls deine Datei keine eigene CCSID hat).
-
hallo, ich habs leider immer noch nicht zum laufen gebracht mit unicode-txt. ich machs mit dem csv-file folgend:
CHGVAR VAR(&SOURCEPATH) VALUE('/idaten/' *CAT &SRCFILE *TCAT '.csv')
CHGVAR VAR(&DESTPATH) VALUE('/QSYS.LIB/QTEMP.LIB/CSV_TEMP.FILE/CSV_TEMP.MBR')
CRTPF FILE(QTEMP/CSV_TEMP) RCDLEN(2000) CCSID(*HEX)
CPYFRMSTMF FROMSTMF(&SOURCEPATH) TOMBR(&DESTPATH) MBROPT(*ADD) STMFCODPAG(*PCASCII) TABEXPN(*NO)
wie soll ich das CPYFRMSTMF für dei unicode variante zusammensetzen?????
danke und lg
-
STMFCODPAG(13488) DBFCCSID(273)
Da du die PF mit CCSID(65535) erstellst (per CRTPF gehts nicht anders) musst du die DBFCCSID z.B. 273 für deutsch angeben.
-
guten morgen,
ich rufe nun den befehl wie folgt auf:
CPYFRMSTMF FROMSTMF('/idaten/KB-IMPORTE/226_AVALE_UNI.txt')
TOMBR('/QSYS.LIB/QTEMP.LIB/CSV_TEMP.FILE/CSV_TEMP.MBR') MBROPT(*ADD)
STMFCODPAG(13488) DBFCCSID(273)
... und bekomme folgenden fehler:
'umsetzung der ccsid wird nicht unterstützt'.
-
Stimmt leider.
Die CPYxxxSTMF unterstützten das nicht.
Du musst hierfür CPYFRMIMPF bzw. CPYTOIMPF verwenden.
Allerdings musst du die Zieldatei mit einer gültigen CCSID anlegen, *HEX (65535) funktioniert da nicht.
Similar Threads
-
By mk in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 21-12-06, 08:56
-
By jo400 in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 21-10-06, 17:57
-
By haertl in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 30-05-06, 13:36
-
By jogisarge in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 15-05-06, 13:47
-
By PGMR in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 15-06-05, 15:37
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