PDA

View Full Version : IFS und CCSID



Seiten : 1 [2]

jgv
28-10-09, 15:56
Hallo co_steffl

Vielleicht hilft dies hier:

Textfile in UTF-8 - System iNetwork Forums (http://forums.systeminetwork.com/isnetforums/showthread.php?t=51162&highlight=open)

Hier ging es um UTF-8 (CCSID 1208). Wie bereits erwähnt benötigst Du CCSID 1252.

Gruss

Jan

BenderD
28-10-09, 16:14
... 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


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

co_steffl
29-10-09, 08:50
Hallo zusammen,

erst mal Danke für alle Tipps. Auch wenn Ihr mich für dumm haltet, aber seit heute Morgen läuft es:confused: 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;

BenderD
29-10-09, 09:23
... vielleicht war da noch die alte Version im Speicher, eine der Tücken von ILE, gegen die ein angelegentliches RCLACTGRP hilft (bei Einsatz von COMMIT den *ABNORMAL nicht vergessen)

D*B


Hallo zusammen,

erst mal Danke für alle Tipps. Auch wenn Ihr mich für dumm haltet, aber seit heute Morgen läuft es:confused: 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;

co_steffl
03-11-09, 12:39
Hallo zusammen,

es geht weiter ;-)

Nachdem ich nun geglaubt habe das alles zur Zufriedenheit verläuft, habe ich nun aus der Txt Datei eine .bat Datei ins IFS geschrieben. das läuft so weit auch alles gut.

Hier mal kurz die Passage.


.
.
ECHO ON

path %ATOSS_HOME%\bin CRLF
.
.


Wenn ich nun diese Datei aus dem IFS auf einen Win2003 Server kopiere, kommt es bei der Ausführung zu Fehlern.

D.h. er kann das Pfad Verzeichniss nicht finden. Nun habe ich soweit alles geprüft und bin etwas Ratlos. Ich habe mir nun die .bat Datei mit Ultra Edit im IFS und nach dem kopieren in Windows angeschaut und bin darauf gekommen das am Ende des Path der CRLF verloren geht bzw. verschoben wird.

Hie mal kurz die Auszüge aus Ultra Edit

path %ATOSS_HOME%\binCRLF
HEX: 62 69 6E 0D 0A


Nach dem kopieren aus dem IFS nach Windows werden ca. 80 Blanks X'20' zwischen ..bin und CRLF eingefügt. ??

Wenn das Bach Pgm dann läuft taucht der Fehler auf. Wenn ich nun per Editor Word Pad nch dem bin ein CR einfüge läuft alles wieder prima?

Nun meine Frage?

Woher kommen die Blanks beim kopieren?

Gruß co_steffl

co_steffl
03-11-09, 14:00
Hallo zusammen

ok ok selbst gelöst ;-(

Ich habe Leerzeilen mit CRLF zwischen den Commands geschrieben um die Lesbarkeit der .bat Datei zu verbessern.

Besser nur CRLF zwischen jeder Command in der Zeile...

dann klappts auch mit der Nachbarin :rolleyes:

Gruß
co_steffl