-
 Zitat von Fuerchau
Was deine IFS-Datei angeht, so würde ich Dieters Vorschlag anwenden.
Wichtig nochmal, auch dein Job muss in einer EBCDIC-CCSID laufen, z.B. 273, sonst klappts wieder nicht.
Aha, alles klar. Mein Job läuft aber in CCSID 65535, aber als "Standard-ID des codierten Zeichensatzes" die 273. Ist das okay?
Gruß, Titus
-
Nein. Die Standard-ID wirkt nicht immer.
Ändere deinen Job auf CCSID(273).
Die Ursache liegt in eurem Systemwert QCCSID der auf jeden Fall auf die Landessprache der AS/400 gesetzt sein sollte.
-
Da man sich damit aber auch Feinde in der normalen Anwendung machen kann (bei uns auch CCSID Normal auf 65535) würde ich für den Zugreifenden Job einfach die CCSID auf 273 ändern.
Damit erspart man sich andere Baustellen aufzumachen 
Lg
Rince
-
CCSID auf 65535 halte ich für einen konzeptionellen Fehler.
Da ich ja die 5250-Sitzungen, Drucker usw. ja nicht ohne CCSID fahren kann, sollte dies passen.
Gerade wenn mann mehrsprachig fährt und Datenaustausch betreibt (und wer macht heute noch Insellösungen) MUSS die System-CCSID auf einen korrekten Wert gestellt werden.
Je nach Hauptsprache des Systems haben auch die Systemdateien immer eine CCSID.
Ohne CCSID hat man mehr Baustellen als mit CCSID !!!!!
Dann klappts auch mit den Umlauten.
-
Okay, bei mir funktioniert jetzt alles bestens. Ich verwende iconv() und als Eingabe-CCSID habe ich 273 und als Ausgabe-CCSID 1252 angegeben. Die Ausgabedatei öffne ich ebenfalls mit codepage=1252. Lediglich mit der Übergabe der Parameter aus einem ILE/RPG-Programm zum C-Programm habe ich Probleme. Aber das ist wohl ein anderes Thema.
Titus
-
Vom Grundsatz musst du folgendes Bedenken:
char*
a) als Parameter: options(*string)
b) als Rückgabe: Zeichenkette, allerdings musst du per %scan(x'00':var) die Länge ermitteln, falls sie nicht der Returnwert ist
int immer 10I 0 value
int* immer 10I 0
usw.
Wird ein * angegeben, so handelt sich es um eine Adresse, fehlt der *, ist es immer value.
Es gibt allerdings manchaml C-Beschreibungen mit [ ], diese sind dann als Adresse auf ein Array zu verstehen.
Hilfreich ist auch manchmal die Deklaration als "* value", also als Adresse.
Dann kann ich den Funktionsaufruf mittels %addr(var) dynamisch versorgen und bin an die harten Prototypdeklaration nicht gebunden. Allerdings ist das mit Vorsicht anzuwenden.
Similar Threads
-
By Marsman in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 04-04-06, 12:28
-
By Heiko in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 15-06-05, 07:02
-
By niceguy in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 09-06-05, 15:50
-
By bocas400 in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 16-11-04, 14:55
-
By andigoering in forum IBM i Hauptforum
Antworten: 8
Letzter Beitrag: 26-07-01, 20:07
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