[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2008
    Beiträge
    11

    Besten Dank für alle Tipps

    Hallo zusammen,

    erstmal besten Dank für alle Tipps.
    Nachdem ich alle Varianten ausprobiert
    habe, sind 2 Varianten für mich als
    Lösung dabei.

    1.) DOW %SUBST und
    2.) Exec SQL Set

    Da ich nur die führenden Nullen entfernt
    haben möchte konnte ich mit
    %Trim, %xlate und CHECKR nichts machen, da hier alle Nullen entfernt wurde, bzw. ich nicht das
    neuste Release zur Verfügung habe.

    Gruß Dirk

  2. #2
    Registriert seit
    Mar 2007
    Beiträge
    29
    Hallo,

    führende Nullen in Textfeldern entferne ich so:

    evalr MeinText = %char(%int(MeinText))


    Thommy

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    @Thommy

    Hoffentlich steht in MyText nie etwas anderes als Ziffern drin!
    Schon wenn das Feld komplett *Blank wäre, bekommst Du ein Problem.

    ... und %Char richtet linksbündig aus.
    ... Blanks zwischen den Ziffern werden gnadenlos entfernt.
    ... und Dezimal-Trennzeichen und folgende Ziffern werden gnadenlos abgeschnitten.

    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

  4. #4
    Registriert seit
    Mar 2007
    Beiträge
    29
    @Birgitta

    die Frage des Threaderstellers war, wie ein mit Zahlen gefülltes Alphafeld ohne Vornullen dargestellt werden kann. Darauf habe ich mich selbstverständlich bezogen. Im Übrigen stellt mein Vorschlag das Ergebniss durchaus rechtsbündig, ganz links steht EVALR

    Thommy

  5. #5
    Registriert seit
    Dec 2004
    Beiträge
    204
    Hallo Comminity ...

    ich weiss die Anfrage ist schon ein "wenig" älter ... aber da ich auch noch so einer Lösung gegrübelt habe hier mein Vorschlag (beides alpha felder mit länge 10) :

    eval target = %subst(source: %check('0':source) :11 - check('0':source))

    Besser spät als nie :-.()

    Gruß,
    Ralf

  6. #6
    Registriert seit
    Nov 2007
    Beiträge
    7
    Und noch ein Trick:
    dtext s 5a inz('0034')
    c eval text = %char(%dec(TEXT:5:0))
    c evalr text = %char(%dec(TEXT:5:0))

Similar Threads

  1. SQL -> erstes Zeichen im Feld löschen
    By mikex01 in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 19-07-07, 07:18
  2. num -> alpha rechtsbündig mit dezimalzeichen
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 09-02-07, 16:51
  3. num -> alpha aber linksbündig ohne führende nullen
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 08-02-07, 14:26
  4. Alfa-Feld ----> Numerisches Feld
    By dino in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 30-11-06, 15:23
  5. RPG-ILE: Alpha --> Numeric
    By TomWaf in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 12-05-06, 09:07

Berechtigungen

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