PDA

View Full Version : IFS CCSID



Seiten : [1] 2

DEVJO
26-11-04, 09:45
Hallöchen Forum,

ich habe ein kleineres Problem. Einer unsere Kunden möchte seine Spoolfiles direkt per Fax oder Mail verschicken, dazu hat er ein extra Programm (Tobit/David) welches sich TXT Datein aus einem bestimmen Verzeichnis im IFS holt, dazu braucht Tobit David, allerdings einen Kopf in der Textdatei, woran er erkennt an welchen Empfänger diese TXT Datei gehen soll.
Ich kopiere ein Spoolfile mit dem Befehl

CPYTOIMPF FROMFILE(QGPL/&DBFILE) TOSTMF(&PFAD) +
MBROPT(*REPLACE) STMFCODPAG(*STDASCII) +
RCDDLM(*CRLF) DTAFMT(*DLM) FLDDLM(',')

in das IFS Verzeichnis QNCT/WIN2000/David/XXXXXXXX usw.
Nun bekomme ich die Datei auch zur Ansicht, aber ich muss einen zusätzlichen Datenkopf davor setzen (was in jedes andere Verzeichnis auch funktioniert hat, nur eben in dieses nicht), das mach ich mit dem Programm, welches mal im Midrange Magazin abgebildet war. Hier habe ich die CCSID auf 1252 gesetzt, aber das Programm schreibt den Kopf nicht dazu (zumindest sehe ich ihn nicht).
Nun meine Frage, weiß jemand hier, welche CCSID ich hierfür nehmen muss, damit ich den Kopf zu sehen bekomme.

Gruß an alle und schonmal danke für die Hilfe.

BenderD
26-11-04, 10:00
Hallo,

was man nicht sieht, ist wohl nicht geschrieben worden, gibt es Fehlerhinweise im Joblog? Berechtigung oder sowas?

mfg

Dieter Bender


Hallöchen Forum,

ich habe ein kleineres Problem. Einer unsere Kunden möchte seine Spoolfiles direkt per Fax oder Mail verschicken, dazu hat er ein extra Programm (Tobit/David) welches sich TXT Datein aus einem bestimmen Verzeichnis im IFS holt, dazu braucht Tobit David, allerdings einen Kopf in der Textdatei, woran er erkennt an welchen Empfänger diese TXT Datei gehen soll.
Ich kopiere ein Spoolfile mit dem Befehl

CPYTOIMPF FROMFILE(QGPL/&DBFILE) TOSTMF(&PFAD) +
MBROPT(*REPLACE) STMFCODPAG(*STDASCII) +
RCDDLM(*CRLF) DTAFMT(*DLM) FLDDLM(',')

in das IFS Verzeichnis QNCT/WIN2000/David/XXXXXXXX usw.
Nun bekomme ich die Datei auch zur Ansicht, aber ich muss einen zusätzlichen Datenkopf davor setzen (was in jedes andere Verzeichnis auch funktioniert hat, nur eben in dieses nicht), das mach ich mit dem Programm, welches mal im Midrange Magazin abgebildet war. Hier habe ich die CCSID auf 1252 gesetzt, aber das Programm schreibt den Kopf nicht dazu (zumindest sehe ich ihn nicht).
Nun meine Frage, weiß jemand hier, welche CCSID ich hierfür nehmen muss, damit ich den Kopf zu sehen bekomme.

Gruß an alle und schonmal danke für die Hilfe.

DEVJO
26-11-04, 10:06
Ich bin eben mit dem Debugger durch gegegangen und habe gesehen das das File bei der Open Operation nicht geöffnet wird, was mich ein wenig wundert, den es ist definitiv vorhanden.

BenderD
26-11-04, 10:37
Hallo,

sowas ähnliches dachte ich mir...
wenn ich das erste Posting richtig verstehe, ist die Logik noch krumm, da wird erst das Streamfile mit CPYTOIMPF erstellt und anschließend versucht was am Anfang davor zu schreiben, das geht so nicht, Streamfiles sind sequentiell. Wenn man die Logik rumdreht sollte es einfacher sein: erst den header erzeugen und dann beim CPYTOIMPF mit ADD arbeiten.
Auf dem obigen Weg müsste in eine neue Streamfile erst der Header geschrieben werden, dann gelesen und geschrieben werden und mit den CCSIDS wird es ebenfalls etwas tricky.

mfg

Dieter Bender


Ich bin eben mit dem Debugger durch gegegangen und habe gesehen das das File bei der Open Operation nicht geöffnet wird, was mich ein wenig wundert, den es ist definitiv vorhanden.

DEVJO
26-11-04, 10:46
Genau das probiere ich gerade:-)

Fuerchau
26-11-04, 12:40
Das QNTC unterstützt aus irgendwelchen Gründen keine CCSID 1252 !!
Dieses Problem hatte ich auch schon.

Lösung:
Ich erstelle die Datei im /Home-Verzeichnis mit 1252.
Der CPY-Befehl auf QNTC kann leider nicht genommen werden, aber QSH eignet sich hierzu wieder
QSH CMD('cp /home/verz/myfile /qntc/Server/Freigabe')

DEVJO
26-11-04, 13:39
Kann man die Parameter auch Variable übergeben? Sprich
QSH('CP &NAME &ZIEL')

BenderD
26-11-04, 14:01
Hallo,

aus dem OS400 Commandstring zusammen basteln und dann mit QSH CMD(&CMD) abfeuern

mfg

Dieter Bender


Kann man die Parameter auch Variable übergeben? Sprich
QSH('CP &NAME &ZIEL')

DEVJO
26-11-04, 14:09
Jo, bin ich eben gerade drauf gekommen, aber irgendwie nimmt er nur 60 Zeichen, kann das angehen? Unten hab ich die Fehlermeldung,

cp: 001-2103 Fehler gefunden beim Holen der Informationen für Datei oder Verz
eichnis QNTC/WIN2000/David/Import/ZTS. Kein Pfad oder keine Bibliothek mit diesem Namen

Das ist der Command, den ich zusammen gebaut habe:
cp TMP/ZARTMANN/T1#PRT0742.TXT NTC/WIN2000/David/Import/ZTS
/T1#PRT0612.TXT

BenderD
26-11-04, 14:49
@Baldur: hätte man sich eigentlich denken können. Wie sagt man bei uns in Hessen: was versteht der Bauer von Muskatnuss, denkt es wär' e Setzkardoffel... Windows hat in seinen Verzeichnissen keinen Platz wo er sich eine CCSID merken könnte und genau das erwartet man ja von ihm. Was passiert eigentlich, wenn man eine vorhandene Datei direkt öffnet und schreibt, von wegen Konvertierung?

Dieter


Das QNTC unterstützt aus irgendwelchen Gründen keine CCSID 1252 !!
Dieses Problem hatte ich auch schon.

Lösung:
Ich erstelle die Datei im /Home-Verzeichnis mit 1252.
Der CPY-Befehl auf QNTC kann leider nicht genommen werden, aber QSH eignet sich hierzu wieder
QSH CMD('cp /home/verz/myfile /qntc/Server/Freigabe')