PDA

View Full Version : Query und CCSID 500 Excel Transfer



camouflage
15-07-11, 18:05
Gleich zum Fenster raus spring ich nicht...
... aber,

Ich erstelle mittels einem RUNQRY eine Uebergabedatei mit einer definierten Anzahl an Feldern direkt aus den Quelldaten. Funktioniert.

Definiere ich jedoch ein Ergebnisfeld, beginnen die Probleme. (ich brauch ein Hochkomma, damit mir Excel aus dem Feld keine Formel mit - Minus macht)

Nämlich:
CCSID File: 500
CCSID Felder: 500
CCSID Ergebnisfeld: 65535 (ich weiss Baldur)

und dementsprechende sieht auch das Excelfile aus.

Ja, den Job hab ich auf 500 und die UserID auch.

Weiss jemand Rat?

Khholm
15-07-11, 18:14
Beim Datentransfer ein Häkchen setzen bei:

CCSID 65535 umsetzen, dann sollte es funktionieren

KH

camouflage
16-07-11, 11:07
Ich möchte die Datei mit CPYTOSTMF verarbeiten und da geht das mit dem Häckchen schlecht - aber Danke für die Antwort.

camouflage
18-07-11, 10:45
Gelöst.

Resultatfelder erhalten beim Erstellen des Querys die entsprechenden CCSID. Der Runqry erstellt das Resultatfeld nachher unabhängig der Job-/System-/User-CCSID, sondern nimmt es aus der Query-Definition.

Fuerchau
18-07-11, 12:56
Ansonsten kann man beim CPYTOSTMF auch gezielt abweichende CCSID's nennen.

camouflage
18-07-11, 13:40
Variante:

Feld in Query mit VARCHAR + CCSID definieren.

@Baldur
Nützt nix, wenn das File schon die richtige CCSID hat und nur ein Feld eine Abweichende hat. In meinem Fall 3 Felder mit 500, eines mit 65535.

Korrektur: Ich meinte CPYTOIMPF.

Fuerchau
18-07-11, 15:45
Da hast du Recht, wenn die CCSID auf Feldebene definiert ist.

Nun ja, komischerweise habe ich CCSID-Probleme eher selten :), da mein Job immer auf der zur Datei passenden CCSID steht.
Deshalb ist mir noch nicht aufgefallen, dass sich Query die CCSID zum Erstellzeitpunkt des Queries bereits merkt.
Andererseits ist dies nun auch nicht unlogisch, wenn man nun mal Konstanten einbringt und diese ja auch eine CCSID haben müssen.
Wenn also zum Erstellzeitpunkt die CCSID unbekannt ist (nämlich 65535), was soll Query dann zur Laufzeit tun ?