[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Eine Änderung der CCSID ist leider nicht möglich.
    Beim CHGPF würde ich aber auch aufpassen, da dort dann eine Datenumsetzung erfolgt !
    Hat die PF z.B. eine CCSID 273 und ich wechsle auf 500 werden alle Zeichenfelder von 273 auf 500 übersetzt. Möchte ich KEINE Umsetzung muss ich den Zwischenschritt über 65535 gehen.

    Dein Problem ist das Kopieren von Maschine A auf Maschine B über das IFS.
    Auf A wird die IFS in EBCDIC erstellt, also wahrscheinlich mit CCSID *HEX.
    Kopierst du nun über Windows auf eine Netserver-Freigabe, erhält die Datei eine CCSID entsprechend der Einstellung des Netservers. Windoof kennt nämlich keine CCSID an Dateiobjekten.

    Möchtest du die IFS-Datei nun in EBCDIC-500, musst du diese per CPYFRMSTMF in eine PF kopieren mit CVTDTA(*NONE) und ggf. wieder zurück in eine neue IFS-Datei mit CVTDTA(*NONE) oder die PF-Datei dann mit RPG verarbeiten.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  2. #2
    Registriert seit
    Mar 2003
    Beiträge
    35
    Danke Baldur,

    das wars. Ich habe die Datei mit

    CPYFRMSTMF FROMSTMF('/home/FABAX/59466036')
    TOMBR('/qsys.lib/fabax1.lib/test.file/test.mbr')
    MBROPT(*ADD)
    CVTDTA(*NONE)


    in eine physische Datei kopiert, und dann mit


    CPYTOSTMF FROMMBR('/qsys.lib/fabax1.lib/test.file/test.mbr')
    TOSTMF('/home/FABAX/59466036')
    STMFOPT(*REPLACE)
    CVTDTA(*NONE)
    DBFCCSID(*FILE)
    STMFCODPAG(500)


    wieder in IFS zurückgeholt. Dabei habe ich den Parameter STMCODPAGE auf 500 gestellt. Nun ist Sie absolut sauber und kann gelesen werden

    Danke

    gruß FX

  3. #3
    Registriert seit
    Sep 2001
    Beiträge
    156
    Die CSSID der Datei kann wie folgt geändert werden:
    WRLNK
    Datei Editieren <2>
    F15 Services
    Auswahl <3>

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Das hilft leider nicht für Batch, oder gibts dazu ein passendes Kommando ?
    Ich denke eher, das der EDTF dann halt beim Speichern die Datei eben neu erstellt, was mit obiger Methode ja gemacht wird.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Oct 2005
    Beiträge
    39
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Das hilft leider nicht für Batch, oder gibts dazu ein passendes Kommando ?
    Ich denke eher, das der EDTF dann halt beim Speichern die Datei eben neu erstellt, was mit obiger Methode ja gemacht wird.
    Ab V5R3 sollte das mit CHGATR OBJ('/temp/test.txt') ATR(*CCSID) VALUE(800) funktionieren

  6. #6
    Registriert seit
    Jan 2007
    Beiträge
    32
    chgatr geht auch bei V5R2.

  7. #7
    Registriert seit
    Mar 2003
    Beiträge
    80

    CHGPF

    Hallo!

    Bei CHGPF werden keine Zeichen umgesetzt.
    Es wird nur ein anderes Etikett aufgeklebt.
    Ab diesem Zeitpunkt wird allerdings bei CPYF bzw. Schreib-/Leseoperationen eine Umsetzung zur Job-CCSID gemacht.

    lg

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    @alfredo

    Das ist so nicht ganz richtig !
    Beim CHGPF von 65535 (*HEX) auf eine andere CCSID oder umgekehrt ist das korrekt.
    Baim CHGPF von CCSID xxx auf CCSID yyy (z.B. von 273 auf 285) erfolgt aber eine Datenkonvertierung !!!
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  9. #9
    Registriert seit
    Mar 2003
    Beiträge
    80

    CHGPF

    @Fürchau

    Dann versuch mal folgendes:
    Gib in eine Datei(273) in ein Feld ÄÜ ein.
    Ändere die Datei auf CCSID 870
    Bei DSPDB siehst Du jetzt , aber nicht weil die Daten geändert wurden sondern die Zeichen von CCSID 870(Datei) auf CCSID 273(Job) gedreht wurden.
    Wenn Du den Job auch auf 870 änderst, erfolgt keine Umsetzung, daher siehst Du auch wieder ÄU.
    Bei DSPPFM erfolgt übrigens keine Umsetzung.

    Das heisst:
    Wenn man nachträglich eine lebende Datei auf einen andere CCSID umstellen will, muss man eine leere Datei mit dem neuen Zeichensatz anlegen und von der alten kopieren.

    lg
    alfred

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Da ich viel mit SQL arbeite habe ich auch häufig CCSID's auf Feldebene.
    Wenn diese CCSID geändert wird, erfolgt auch eine Umsetzung der Daten.

    Bezüglich CHGPF muss sich klammheimlich was geändert haben und meine Erfahrungen sind nun für den Müll.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. probleme file ins IFS stellen
    By steven_r in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 30-01-07, 07:48
  2. Probleme IFS
    By PeterKarsten in forum NEWSboard Windows
    Antworten: 2
    Letzter Beitrag: 05-12-06, 14:14
  3. Windowstabelle wird im IFS in CCSID 1252 erstellt
    By umeis in forum NEWSboard Windows
    Antworten: 3
    Letzter Beitrag: 11-08-06, 12:45
  4. IFS als Netzlaufwerk - Probleme bekannt?
    By kuempi von stein in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 19-07-06, 13:14

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •