[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2008
    Beiträge
    4

    Unicode mit RPG verarbeiten

    Hallo,

    ich möchte ein Unicode-Datenbankfeld einlesen, auf einem DSPF ausgeben, dort verändern und dann wieder in die Datenbank zurückspeichern.

    1.Dateifeld
    Code:
    A          R UNI0F1                                 
    A            DATFLD         3G         CCSID(13488)
    2. DSPF Definition
    Code:
    A          R B060F1                      
    A            FLD003         3G  B 18 28
    3. ILE Programm
    Code:
    FTESTUNID  CF   E             WORKSTN                      
    FTESTUNI   IF A E             DISK                         
     *                                                         
    C                   read      testuni                      
    C                   eval      FLD003 = datfld              
     *                                                         
    C                   exfmt     B060F1                       
     *                                                         
    C                   eval      datfld = %ucs2(FLD003)       
    C                   write     uni0f1                       
     *
    Das Programm läßt sich leider nicht umwandeln. Folgende Fehler erscheinen :
    Code:
    Z u s ä t z l i c h e   D i a g n o s e n a c h r i c h t e n                       
     Msg-ID  Sv Nummer Folge   Nachrichtentext                                          
    *RNF0202 20     11 000500  IMPLICIT STRING CONVERSION IS NOT SUPPORTED FOR OPERAND  
                               FLD003 WITH CCSID *GRAPH:*IGNORE.                        
    *RNF0558 20     15 000900  Der erste Parameter für %UCS2 ist ungültig; %UCS2 wird   
                               ignoriert.
    Mache ich grundsätzliche etwas falsch, oder wo liegt der Fehler ?

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    UNICODE unterliegt einer speziellen Behandlung.

    UNICODE-Felder sind vom Typ C und nicht G und ohne CCSID (das weiß RPGLE dann selber).

    Mittels %UCS2 kannst du dieses füllen und mittels %CHAR auslesen.

    Für alle anderen Konvertierungen benötigst du die Konvertierungs-API's.

    http://publib.boulder.ibm.com/infoce.../apis/nls3.htm

    Am Besten eignet sich da das Convert a Graphic Character String (CDRCVRT, QTQCVRT) API

    Felder vom Typ G konnen nicht so einfach konvertiert werden.

    Übrigens:
    UNICODE wird in DSPF's gar nicht unterstützt sondern nur DBCS (obwohl ja UNICODE fast wie DBCS ist).
    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

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Hallo,

    die Meldung besagt, dass die autmomatische Stringkonvertierung mit der Angabe CCSID *GRAPH *IGNORE nicht unterstützt wurde.

    Dies kann über das Schlüssel-Wort CCSID in den H-Bestimmungen vordefiniert bzw. geändert werden. Die angegebene CCSID wird für alle Felder verwendet, für die keine CCSID angegeben wurde (z.B. Bildschirmfelder!)
    Versuche in den H-Bestimmungen die Konvertierung wie folgt festzulegen:
    PHP-Code:
    H CCSID(*UCS2
    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

Similar Threads

  1. Rückgabewert vom RPG Programm
    By mk in forum NEWSboard Java
    Antworten: 8
    Letzter Beitrag: 21-04-11, 21:51
  2. Bibliotheksliste in RPG IV abfragen
    By timeless in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 11-01-07, 12:04
  3. Problem mit Java-Methoden Aufruf aus ILE RPG?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 10-01-07, 10:58
  4. QRPGSRC in RPG verarbeiten
    By peter.kinne in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 11-08-04, 08:10

Berechtigungen

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