schatte
28-01-13, 10:24
Hallo Leute,
ich habe eine Datei mit einem CHAR Feld, welches mit CCSID 273 definiert ist. Der Inhalt des Felds lautet "Müller".
Mein Batchjob läuft mit CCSID 273. Nach Ausführung von READ in einem ILE Cobol Programm enthält mein Record die Hex-Werte "D4D093938599".
Wenn nun der Job beendet wird und anschließend mit Codepage 37 gestartet wird, enthält der Record (neu erneutem READ) die Hex-Werte "D4DC93938599". Korrekterweise ist das "ü" nun nach CCSID 37 konvertiert worden (D0 -> DC).
Nun möchte ich jedoch die Codepage Änderung zur Laufzeit des Jobs ausführen. Alle Programme laufen in der selben Aktivierungsgruppe:
1. Aufruf des Leseprogramms mit CCSID 273.
2. Erneuter Aufruf des Leseprogramms mit CCSID 37. -> Konvertierung läuft leider weiterhin mit CCSID 273, obwohl der Job auf 37 umgestellt wurde. Auch ein Schließen und Öffnen der entsprechenden Datei bringt keinen Erfolg.
Erst nach Verlassen der Aktvierungsgruppe und erneutem Aufruf des Leseprogramms wird die neue CCSID berücksichtigt.
Bei Verwendung von Embedded SQL wird die CCSID direkt berücksichtigt.
Gibt es eine Lösung bei direktem Cobol Zugriff? Ständiges Verlassen der Aktivierungsgruppe würde ja zur großen Performance Problemen führen.
Hat jemand eine Idee?
Gruß
Matthias
ich habe eine Datei mit einem CHAR Feld, welches mit CCSID 273 definiert ist. Der Inhalt des Felds lautet "Müller".
Mein Batchjob läuft mit CCSID 273. Nach Ausführung von READ in einem ILE Cobol Programm enthält mein Record die Hex-Werte "D4D093938599".
Wenn nun der Job beendet wird und anschließend mit Codepage 37 gestartet wird, enthält der Record (neu erneutem READ) die Hex-Werte "D4DC93938599". Korrekterweise ist das "ü" nun nach CCSID 37 konvertiert worden (D0 -> DC).
Nun möchte ich jedoch die Codepage Änderung zur Laufzeit des Jobs ausführen. Alle Programme laufen in der selben Aktivierungsgruppe:
1. Aufruf des Leseprogramms mit CCSID 273.
2. Erneuter Aufruf des Leseprogramms mit CCSID 37. -> Konvertierung läuft leider weiterhin mit CCSID 273, obwohl der Job auf 37 umgestellt wurde. Auch ein Schließen und Öffnen der entsprechenden Datei bringt keinen Erfolg.
Erst nach Verlassen der Aktvierungsgruppe und erneutem Aufruf des Leseprogramms wird die neue CCSID berücksichtigt.
Bei Verwendung von Embedded SQL wird die CCSID direkt berücksichtigt.
Gibt es eine Lösung bei direktem Cobol Zugriff? Ständiges Verlassen der Aktivierungsgruppe würde ja zur großen Performance Problemen führen.
Hat jemand eine Idee?
Gruß
Matthias