[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jul 2011
    Beiträge
    27
    Die JOB-CCSID ist 1141, die vom Systemvalue QCCSID ist auch 1141.

    Mit EDTF wird auch alles korrekt angezeigt.

    Ist es überhaupt möglich Programme zu erstellen, bei denen der job eine andere CCSID hat wie die Sourcen?

    Leider kann ich meine Sourcen nicht auf 1141 stellen, da damit andere Programme nicht zurecht kommen

    Danke für die schnelle Hilfe!

  2. #2
    Registriert seit
    Jul 2011
    Beiträge
    27
    Vlt noch einige Infos:
    Mein Programm sieht so aus:
    Hmain(bla)
    Dbla PREXTPGM('enctst')
    Pbla B
    P
    /free
    dsply'Encoding Test';
    dsply'Umlaute: öäüß ÖÄÜ';
    dsply'Klammern: (){}';
    return;
    /end-free
    Pbla E

    Umgewandelt wird es so:
    CRTRPGMOD bofrost/enctst SRCSTMF('/home/bofrost/enctst.rpgle')
    DBGVIEW(*LIST)


    CRTPGM PGM(bofrost/enctst) MODULE(bofrost/enctst )

    Gibt es Parameter die ich noch angeben müste?
    Kann jemand mein Problem nachvollziehen?

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Abgesehen von deinem Test:

    Man sollte NIE CCSID-abhängige Zeichen (varianter Zeichensatz) als Programmkonstante verwenden, da zur Laufzeit die eingebetteten Zeichen nicht mehr gewandelt werden.
    In diesem Fall ist nämlich das Programm zur Laufzeit immer von dieser CCSID abhängig.

    Hier findet man einen Hinweis leider nur auf SRCPF's:
    Language compilers CCSID

    Ich denke aber, dass der Compiler beim Lesen aus dem IFS in CCSID 037 wandelt, was die Ausgaben deines Tests zeigen.
    Hier hast du dann wohl keine andere Chance, als deinen Job zur Compilezeit auf 037 zu stellen.
    Dies ist zwar dann für den Compiler zum Erkennen von Sonderzeichen richtig, aber zur Laufzeit erfolgt ja keine Codewandlung und dann hast du wieder die Probleme mit varianten Zeichen.

    Helfen kann da warscheinlich nur eine Zwangscodierung zur Laufzeit von der Source-CCSID in die Job-CCSID.

    Welche CCSID's tatsächlich verwendet wurden, wirft der Compiler eigentlich am Ende des Spools irgendwo aus.
    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

  4. #4
    Registriert seit
    Jul 2011
    Beiträge
    27
    In unserem Fall ist es kein Probem wenn das Programm zur Laufzeit immer von der selben CCSID abhängt, da die Programme immer auf der selben Maschiene laufen.

    Bevor ich die CCSID währen der Laufzeit umwandle wandle ich lieber die sourcen bevor ich sie kompiliere um...

    Hm... bevor er die 1252iger sourcen compilieret wandelt er sie in 500 um... entspricht Latin-1 in ebcdic.

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Scheint ein Default für den Compiler bei IFS zu sein.
    Du hast dann keine Probleme, wenn du absolut keine varianten Zeichen in der Quelle verwendest.
    Solltest du diese zur Laufzeit als Konstanten benötigen, so lese diese
    a) aus einer Datei mit CCSID
    b) aus einer MSGF mit CCSID
    Beim Lesen werden diese dann ja in die Job-CCSID gewandelt.
    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

  6. #6
    Registriert seit
    Jul 2011
    Beiträge
    27
    Hab mir gerade mal die json Utilities von rpgnextgen.com (RPG Next Gen by Mihael Schmidt) angeschaut. Hier werden einfach die Zeichen als Unicode codiert:
    PHP-Code:
    D UNICODE_LEFT_CURLY_BRACE...
    D                 C                   u'007B'
    D UNICODE_RIGHT_CURLY_BRACE...
    D                 C                   u'007D'
    D UNICODE_LEFT_BRACKET...
    D                 C                   u'005B' 
    Werde das jetzt auch mal so machen, sollte dann eigendlich ohne Probleme funktionien.

Similar Threads

  1. RPG Entwickler nach New Brunswick/ Kanada gesucht
    By RaMai in forum NEWSboard Server Job
    Antworten: 6
    Letzter Beitrag: 04-06-07, 17:49
  2. Problem mit Java-Methoden Aufruf aus ILE RPG?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 10-01-07, 10:58
  3. RPG goes Web
    By jth in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 21-12-06, 11:13
  4. Allgemeine Berechtigung für Jobs ... IFS Ordner ...
    By bode in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 30-10-06, 11:10
  5. Windowstabelle wird im IFS in CCSID 1252 erstellt
    By umeis in forum NEWSboard Windows
    Antworten: 3
    Letzter Beitrag: 11-08-06, 12:45

Berechtigungen

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