[NEWSboard IBMi Forum]

Thema: ILE RPG

  1. #1
    Registriert seit
    Nov 2004
    Beiträge
    5

    ILE RPG

    Hallo,
    ich steh' gerade auf dem Schlauch - wir haben in alpha Feldern teilweise ungültige Daten (Hex <=40).
    Wenn die Felder auf dem BS (DSPF) angezeigt werden sollen, kommt ein Abbruch CPF5192.
    Kann mir jemand ein Beispiel geben, wie ich diese Werte aud den Feldern zeichenweise rausfischen kann? Oder ggf auch nur Testen ob solche Werte im Feld sind und dieses dann leer machen?

    Vielen dank im voraus
    Jerry

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.245
    Tja, das geht nur über eine Schleife, in dem jedes Zeichen geprüft wird.
    Am besten geht es über eine Funktion á la:

    d myfield pr 32000 varying
    d parm1 32000 varying value

    myfield = myreplace(myfield);

    p myreplace b
    d myreplace pi 32000 varying
    d parm1 32000 varying value
    d ind s 10I 0

    c for ind = 1 to %len(parm1);
    c if %sst(parm1:ind:1) < ' ';
    c %sst(parm1:ind:1)=' ';
    c endif;
    c endfor;
    c return parm1;

    ungefähr so
    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
    Nov 2003
    Beiträge
    2.307
    Hallo Jerry!

    Sieh' dir mal den RPG-Befehl XLATE an.

    Gruß
    Jürgen

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.245
    Xlate geht aber nur, wenn man alle Codes von x'00' bis X'3F' aufführt und durch Blanks ersetzt (geht natürlich auch und ist ggf. schneller).
    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
    Nov 2004
    Beiträge
    5
    Kann ich bitte ein Beispiel haben?



    Zitat Zitat von Fuerchau
    Xlate geht aber nur, wenn man alle Codes von x'00' bis X'3F' aufführt und durch Blanks ersetzt (geht natürlich auch und ist ggf. schneller).

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.245
    d xlfrom c const(x'000102....3F')
    d xlto c const('.....') <= 64 Blanks

    c myfield = %xlate(myfield:xlfrom:xlto);
    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

  7. #7
    Registriert seit
    Nov 2004
    Beiträge
    5
    Danke!!!! - ich war einfach zu müde zum selber Denken.

    Aber zum Abscheiben reichts noch ;-)

Similar Threads

  1. ILE RPG / SQL Füllen einer Feldgruppe
    By homue in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 18-07-07, 16:47
  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. DDS in ILE RPG
    By Squall in forum IBM i Hauptforum
    Antworten: 82
    Letzter Beitrag: 19-10-06, 15:37
  4. Return ILE RPG
    By Squall in forum IBM i Hauptforum
    Antworten: 31
    Letzter Beitrag: 28-09-06, 17:53
  5. Rechnen mit Datumsfeldern in ILE RPG
    By Angela in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 22-08-06, 10:11

Berechtigungen

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