[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Apr 2003
    Beiträge
    195

    Dezimaldatenfehler ???

    Hallo,

    ich habe da eine Frage:

    Von einer SAP-Maschine bekomme ich eine Datei die ein numerisches Feld (9/2) mit folgendem Wert enthält "00000a420". Ja genau, richtig gelesen. Ein a in einem numerischen Feld - keine Ahnung wie die dazu kommen. Aber jetzt zu meinem Problem.

    In einem ILE Prog steht folgender Code:
    Code:
    C                   z-add     woehwert      test12           11 2
    woehwert ist das Feld mit dem "a" im Wert.

    Normalerweise würde ja jetzt die i5 schreien "DEZIMALDATENFEHLER!!!", aber genau das passiert nicht.

    Es wurde bei der Programmumwandlung beim Paramater "FIXNBR *NONE" angegeben.

    Kann mir einer erklären, warum ich hier keine Fehlermeldung bekomme!!!

    Auch wenn das Feld folgenden Inhalt hat, erhalte ich keine Fehlermeldung:

    00000-420
    00000 420

    Irgendwer eine Idee???

    PS: als OS verwenden wir V5R4, da derzeit ein Umstieg auf V7 noch nicht möglich ist.
    Last edited by FNeurieser; 11-08-11 at 10:02. Grund: Nachtrag

  2. #2
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    RPGLEHSPEC oder DFTLEHSPEC ?

    Was für H-Spezifikationen stehen denn in der Umwandlungsliste?

  3. #3
    Registriert seit
    Apr 2003
    Beiträge
    195
    @Pikachu

    Code:
    H DECEDIT('0,') DATEDIT(*ymd-)

  4. #4
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    Was steht den nach dem z-add in testf12?
    und was steht hex in woehwert?
    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  5. #5
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Zoned-Decimal Format

    "In zoned-decimal format, each digit in a decimal number includes a zone portion; however, only the low-order zone portion serves as the sign."

    Und da ein kleines a = X'81' in EBCDIC, wird das zu einer 1 inmitten einer gezonten Zahl.

    SAP kann euch auch ein kleines j (X'91' in EBCDIC) an dieser Stelle schicken.

  6. #6
    Registriert seit
    Apr 2003
    Beiträge
    195
    @robi

    nach dem z-add steht in testf12 der Wert 1420.

    hexwert von woehwert:

    000a42000
    FFF8FFFFF
    000142000

  7. #7
    Registriert seit
    Apr 2003
    Beiträge
    195
    @pikachu,

    schon klar, aber wie kann man erreichen dass in so einem Fall "Dezimaldatenfehler" gemeldet wird???

  8. #8
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Du könntest die "Zahl" in ein Zeichenfeld einlesen und dann mit TESTN prüfen.

  9. #9
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    Ich kenne SAP nicht,
    hast du denn geklährt ob das ein Fehler ist oder die dir tatsächlich 1420,00 melden wollen?
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  10. #10
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von FNeurieser Beitrag anzeigen
    @pikachu,

    schon klar, aber wie kann man erreichen dass in so einem Fall "Dezimaldatenfehler" gemeldet wird???
    Hast Du schon mal versucht EVAL (ggf. in Verbindung mit einer Built-In-Function) anstatt des Z-ADD zu verwenden?

    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

  11. #11
    Registriert seit
    Apr 2003
    Beiträge
    195
    @Brigitta

    Hallo; ja aber genau dasselbe Resultat. Keine Meldung eines Dezimaldatenfehlers.

Similar Threads

  1. Datenstruktur - DS - Abbruch Dezimaldatenfehler
    By falke34 in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 15-11-10, 14:57
  2. Dezimaldatenfehler bei WRITE in RPGLE in Abhängigkeit des PTF-Standes
    By langulli in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 13-02-09, 11:46
  3. Dezimaldatenfehler
    By Bratmaxxe in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 21-06-07, 12:42
  4. Dezimaldatenfehler im SQL
    By Armin in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 02-12-05, 13:13
  5. char to num
    By muadeep in forum NEWSboard Programmierung
    Antworten: 17
    Letzter Beitrag: 19-08-05, 13:50

Berechtigungen

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