[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2003
    Beiträge
    290

    numerisches Feld auf numerischen Inhalt prüfen free

    Hallo zusammen,

    ich bekomme aus der S36 einen Satz, in dem mehrere numerische Felder nicht korrekt gefüllt bzw. im alten RPG36 erst gar nicht ausgegeben werden und damit auch nicht initialisiert sind !

    Ich habe früher schon mal, aber dann pro Feld, die Länge auf *all x'00' innerhalb einer DS mit %subst abgefragt, das Feld selber konnte ich ja nicht abfragen :=)

    Kann mir jemand sagen, wie man heute im FreeRpg solche "Probleme" am saubersten lösen kann ??? ...am besten ohne die jeweilige Feldlänge berücksichtigen zu müssen ...

    Vielen Dank vorab und Vg.

  2. #2
    Registriert seit
    Dec 2000
    Beiträge
    279
    Hallo den TESTN gibt es ja nicht mehr,
    Ich habe mal vor vielen Jahren (nach der UmstelLung von S/36 -> as/400 das mittels RPG Programm gelöst
    Beim Programm umwandeln den Parameter : Dezimaldatenfehler ignorieren . *YES setzen.
    dann den Satz einlesen und wieder ausgeben. (Datei muss aber Beschreiben sein, also nicht alles in einem Feld) Habe damals sogar ein Programm geschrieben, was die DDS einließt und ein RPG Progamm schreibt, Umwandelt und ausführt. (lang lang ist's her)
    Wenn du die Feldläng kennst dann mit %dec - Dazu gibt es von Baldur einen Beitrag von 2004 suche mal hier nach TESTN
    Klaus
    Programmierung

  3. #3
    Registriert seit
    Jan 2007
    Beiträge
    905
    Guckst Du mal hier.
    https://www.rpgpgm.com/2013/11/valid...out-testn.html

    Simon wurde nicht umsonst dieses Jahr IBM Champion. Zu Recht wie ich finde.
    Abgesehen davon hat es hier im Forum ähnliche Koryphäen ;-)
    kf

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Die allgemeingültige Variante (im obigen Link beschrieben) ist:

    %DEC(Feld:%size(Feld):%decpos(Feld))

    mit Monitor. Dasselbe gilt auch bei "eval testfeld = feld", wobei man "eval" auch weg lassen kann.
    Letzteres ist das am schnellsten zu kodierende.
    Der Nachteil ist halt, dass jedes Feld einzeln in eine Monitorgroup gepackt werden muss.

    Dies wirkt auf zoned genauso wie auf packed. %size() gibt die Anzahl Stellen, %decpos() die Anzahl Nachkomma. Da %dec() ja nicht dynamisch ist, die Werte also konstan sein müssen, muss man hald jedes Feld prüfen.
    TESTN funktioniert ja weiterin als fixed Anweisung. Man kann in Fullyfree durchaus mal ohne Aufwand eine C-Anweisung einschieben.
    TESTN hält allerdings bei Zoned das "Ü" (x'D0' - x'D9') auf der rechten Seite für N-negativ.
    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
    Jan 2003
    Beiträge
    290
    Zitat Zitat von Peet Beitrag anzeigen
    Hallo zusammen,

    ich bekomme aus der S36 einen Satz, in dem mehrere numerische Felder nicht korrekt gefüllt bzw. im alten RPG36 erst gar nicht ausgegeben werden und damit auch nicht initialisiert sind !

    Ich habe früher schon mal, aber dann pro Feld, die Länge auf *all x'00' innerhalb einer DS mit %subst abgefragt, das Feld selber konnte ich ja nicht abfragen :=)

    Kann mir jemand sagen, wie man heute im FreeRpg solche "Probleme" am saubersten lösen kann ??? ...am besten ohne die jeweilige Feldlänge berücksichtigen zu müssen ...

    Vielen Dank vorab und Vg.
    Danke an alle für die Vorschläge !
    Vg.

Similar Threads

  1. DDS Numerisches Feld Cursor rechtsbündig
    By tarkusch in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 15-11-19, 12:16
  2. Inhalt CLOB Feld in IFS-Datei
    By alex61 in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 06-07-16, 11:51
  3. Numerisches Feld nicht rechtsbündig füllen
    By harkne in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 11-04-16, 15:22
  4. Datum in numerisches Feld bringen in Free-RPG
    By ubas in forum NEWSboard Programmierung
    Antworten: 17
    Letzter Beitrag: 29-10-14, 15:36
  5. numerisches Feld erstellen
    By heynem in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 05-12-02, 09:27

Berechtigungen

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