PDA

View Full Version : CHGPF FILE(Lib/Datei) CCSID(273) klappt nicht



Seiten : [1] 2

lossin
03-05-11, 14:42
Hallo zusammen,

wenn ich einen CHGPF auf eine DDS-Datei mache, und danach mit DSPFD die Datei anschaue, hat sie immer noch die CCSID 65535.

Warum ? :mad:

Wenn ich der Datei direkt beim Erstellen die CCSID 273 mitgeben will kommt der Fehler :
'Für den Parameter CCSID ist ein Wert im Parameter RCDLEN erforderlich.' :mad:

Ich will die Datei per CPYTOIMPF ins IFS schicken.

Vielen Dank im Voraus

Fuerchau
03-05-11, 14:46
Dann ist die Datei per CRTPF ... RCDLEN(nnn) erstellt worden und nicht mit DDS.
In diesem Fall ist die CCSID immer *HEX und läßt sich auch ncht ändern.

Falls die PF doch mit DDS erstellt wurde, dann gibt es CCSID-Definitionen auf Feldebene.

Ist die Datei mit CREATE TABLE per SQL erstellt, hat automatisch jedes Feld eine CCSID.

lossin
03-05-11, 14:56
Danke für die schnelle Antwort.
Verstehe es aber nicht.
Ich habe die Datei im DDS so erstellt

A R MA$VORSCHR
A MANRSO 7S 0
A VGAPSO 13S 2
A VGABSO 13S 2

Und dann mit CRTPF (wie sonst ?) erstellt.
Danach hat die Datei CCSID 65535.
Selbst, wenn ich beim erstellen den Parameter
CCSID *JOB
angebe und vorher CHGJOB CCSID(273) ausführe.

Pikachu
03-05-11, 15:03
Was steht denn bei DSPJOB Auswahl 2 ganz am Ende bei den folgenden Werten?

- "ID des codierten Zeichensatzes (CCSID)"
- "Standard-ID des codierten Zeichensatzes"

Probier mal mit: CHGJOB LANGID(DEU) CNTRYID(DE) und dann die Datei mit CRTPF erstellen.

lossin
03-05-11, 15:05
ID des codierten Zeichensatzes (CCSID) . . . . . : 273
Standard-ID des codierten Zeichensatzes . . . . . : 273

und ich wandel dann interaktiv um

mk
03-05-11, 15:12
Hallo,

so wie deine DDS Beschreibung aussieht
sind nur numerische Daten in der Tabelle.

Füge mal ein Alpha Feld hinzu.

Dann ändert das System automatisch die CCSID.

Ganz schön schlau oder :rolleyes:

Gruß
Michael

lossin
03-05-11, 15:15
Hallo MK,

unglaublich, aber du hast Recht !
Aber das kann doch nicht der Weisheit letzter Schluß sein :confused:

Zumindest hilft es mir, danke :)

lossin
03-05-11, 15:36
So ein Dreck,
jetzt habe ich zwar die gewünschte CCSID 273 in der PF, aber beim Kopieren ins IFS steht immer noch der Mist mit den @-Zeichen drin :(

Und wenn ich bei den Parametern STMFCCSID oder STMFCODPAG den WERT *PCASCII angebe, will er mit Fehler 1 nicht kopieren.
Ich verzweifel noch an dem Mist.:mad:

Pikachu
03-05-11, 15:45
Die @ in ASCII entsprechen 0x40 und damit den Leerzeichen in EBCDIC. Aber wo kommen denn die Leerzeichen her, wenn deine Datei nur numerische Felder hat?

Ist vielleicht die Zieldatei im IFS eventuell bereits vorhanden?

Fuerchau
03-05-11, 15:46
Wenn die Datei nur numerische Felder hat, ist die CCSID egal, da diese nur Zeichenfelder betrifft.
Wie gibst du denn den CPYTOIMPF an ?

Die TOCCSID sollte für Windows 1252 sein, dann funktioniert es auch korrekt.

Allerdings darf das Ziel nicht vorhanden sein. Existiert dieses bereits, wird die CCSID des Ziels verwendet.

So funktioniert es bei mir immer ohne Probleme:

CPYTOIMPF FROMFILE(&DABIBL/&DAFILE) TOSTMF(&FTPPATH) +
STMFCODPAG(1252) RCDDLM(*CRLF) +
STRDLM(*NONE) RMVBLANK(*TRAILING)