-
IFS und CCSID
Hallo zusammen,
ich habe das Problem das ich auf einem Win2003 Server eine .bat Datei benötige die ich
auf iSeries mit RPG im IFS erzeugen will. Das ganze habe ich erst einmal mit einer Text File ausprobiert.Ich habe nun gelesen das ich auf der I5 beim open und erzeugen der *.txt datei im IFS eine CCSID mitgeben kann.Hier mal die Code Schnippsel.
if unlink('/XXXX/xxxx/xxxx.txt') < 0;
err = errno;
if err ENOENT;
callp die('unlink(): ' + %str(strerror(err)));
endif;
endif;
fd = open( %trim(path) : flags : mode : codepage );
callp close(fd);
flags = O_WRONLY + O_TRUNC + O_TRUNC;
fd = open( %trim(path) : flags : mode );
if fd < 0;
callp die('open(): ' + %str(strerror(errno)));
errmsg = %str(strerror(errno));
callp die('open() for output: ' + ErrMsg);
endif;
.... begsr init;
codepage = 367;
Ich habe es schon mit verschd. CCSID probiert, jedoch keinen Erfolg gehabt.
Ist der Weg generell richtig? oder mache ich überhaupt was falsch?
Wo finde ich die richtige CCSID? Habe es auch schon mit 1252 probiert
Gruß co_steffl
-
... beim zweiten öffnen fehlt wohl das TEXTDATA Flag.
bei mir auf der Webseite gibt es aber auch ein fertiges SRVPGM OUTSTREAM
D*B
 Zitat von co_steffl
Hallo zusammen,
ich habe das Problem das ich auf einem Win2003 Server eine .bat Datei benötige die ich
auf iSeries mit RPG im IFS erzeugen will. Das ganze habe ich erst einmal mit einer Text File ausprobiert.Ich habe nun gelesen das ich auf der I5 beim open und erzeugen der *.txt datei im IFS eine CCSID mitgeben kann.Hier mal die Code Schnippsel.
if unlink('/XXXX/xxxx/xxxx.txt') < 0;
err = errno;
if err ENOENT;
callp die('unlink(): ' + %str(strerror(err)));
endif;
endif;
fd = open( %trim(path) : flags : mode : codepage );
callp close(fd);
flags = O_WRONLY + O_TRUNC + O_TRUNC;
fd = open( %trim(path) : flags : mode );
if fd < 0;
callp die('open(): ' + %str(strerror(errno)));
errmsg = %str(strerror(errno));
callp die('open() for output: ' + ErrMsg);
endif;
.... begsr init;
codepage = 367;
Ich habe es schon mit verschd. CCSID probiert, jedoch keinen Erfolg gehabt.
Ist der Weg generell richtig? oder mache ich überhaupt was falsch?
Wo finde ich die richtige CCSID? Habe es auch schon mit 1252 probiert
Gruß co_steffl
-
Danke für dir rasche Antwort,
werde es mir mal anschauen. Ich berichte wieder.
gruß co_steffl
-
Hallo
den o_textdata habe ich gesetzt. Codepage auf 273
Daten sehen im IFS O.K aus
prtacctab 'H' 'A_38AE20' -r 'D:\ases\SES\custom\reports\de_...
Jedoch auf PC geöffnet mit Word-Padso
—™£ƒƒ£‚@}È}@}ÁmóøÁÅòð}@`™@ }Äz종¢ìâÅâ샤¢£–”ì™…— –™£¢ì„…mÄÅì™…—©ø“óK™… —–™£}@`–@}Äz종¢ìâÅâ샤¢ –”샃£‚ìÁmóøÁÅòð@`ƒ“@ð %@@@@@@@@@@@@@@@@
Ist 273 die richtige Codepage dafür?
co_steffl
-
273 ist ja auch EBCDIC, für den PC benötigst du 1252 (Westeuropa).
Achtung:
Die CCSID wird nur verwendet, wenn die Datei angelegt wird, ansonsten gilt die aktuelle CCSID !
-
Hallo
hatte ich schon probiert codepage 1252
daraus wird dann im IFS
CCSID . . . . . . . . . . . . . . . . : 5348
In ifs sieht das so aus
prtacctab 'H' 'A_38AE20' -r 'D:ÖasesÖSESÖcustomÖ
grosse Ö sollte Back-slash sein
In pc sieht so aus
—™£ƒƒ£‚@}È}@}ÁmóøÁÅòð}@`™@ }Äz종¢ìâÅâ샤¢£–”
wir bei 1.ten open angelegt
flags = O_WRONLY + O_CREAT + O_TRUNC + O_CODEPAGE + O_TEXTDATA;
Gruss co_steffl
-
5348 entspricht 1252 mit Euro.
Aber welche CCSID hat dein JOB ?
Wenn der auf 65535 steht, gibts auch keine Codewandlung.
Und ein Ö ist niemals ein \ sondern immer ein Ö.
-
Hallo
mein Job hat ccsid 1141
co_steffl
ps das mit dem Ö hat sich geklärt, rest nicht
-
Les dir bitte noch mal die Beschreibung durch:
open()--Open File
Vielleicht siehst du ja dann was falsch läuft.
-
Hallo co_steffl,
notfalls kannst Du ja auch in eine temporäre Arbeitsdatei schreiben und diese dann per CPYTOIMPF (mit STMFCODPAF(*PCASCII) und RMVBLANK(*TRAILING)) ins IFS stellen.
Dies geht ja auch innerhab des RPGs mit call(e) 'QCMDEXC'.
Viele Grüße
Michael
-
... nur mal der Ordnung halber gefragt, in welchem Dateisystem machst du das ganze Spiel? das mit der CCSID geht natürlich nur, wenn das Dateisystem das kann (QNTC kann das zum Beispiel nicht)
D*B
 Zitat von co_steffl
Hallo
hatte ich schon probiert codepage 1252
daraus wird dann im IFS
CCSID . . . . . . . . . . . . . . . . : 5348
In ifs sieht das so aus
prtacctab 'H' 'A_38AE20' -r 'D:ÖasesÖSESÖcustomÖ
grosse Ö sollte Back-slash sein
In pc sieht so aus
—™£ƒƒ£‚@}È}@}ÁmóøÁÅòð}@`™@ }Äz종¢ìâÅâ샤¢£–”
wir bei 1.ten open angelegt
flags = O_WRONLY + O_CREAT + O_TRUNC + O_CODEPAGE + O_TEXTDATA;
Gruss co_steffl
-
Hallo zusammen,
erst mal Danke für alle Tipps. Auch wenn Ihr mich für dumm haltet, aber seit heute Morgen läuft es Warum auch immer. Ich habe nichts geändert. Hier nochmal die Quelle und vielen Dank!
Gruß co_steffl
if unlink('/ASES/export/prtacctab.txt') < 0;
err = errno;
if err <> ENOENT;
callp die('unlink(): ' + %str(strerror(err)));
endif;
endif;
fd = open ( %trim(path) // Open for create
: flags
: mode
: codepage
);
callp close(fd);
flags = O_WRONLY + O_TRUNC + O_TRUNC + O_TEXTDATA;
fd = open ( %trim(path) // open for proceed
: flags
: mode
);
if fd < 0;
callp die('open(): ' + %str(strerror(errno)));
errmsg = %str(strerror(errno));
callp die('open() for output: ' + ErrMsg);
endif;
.
.
.
begsr init;
codepage = 1252;
path = '/ASES/export/prtacctab.txt';
flags = O_WRONLY + O_CREAT + O_TRUNC + O_CODEPAGE;
mode = S_IRUSR + S_IWUSR + S_IRGRP + S_IROTH;
Similar Threads
-
By fabax in forum IBM i Hauptforum
Antworten: 12
Letzter Beitrag: 19-03-07, 13:32
-
By umeis in forum NEWSboard Windows
Antworten: 3
Letzter Beitrag: 11-08-06, 12:45
-
By Hrs28 in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 26-05-05, 13:16
-
By DEVJO in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 26-11-04, 19:01
-
By Ahrendt in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 21-07-04, 18:19
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