[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jul 2003
    Beiträge
    331

    Wink FREE RPG .. TESTN

    Guten Tag,

    durch welche Anweisung kann ich im FREE RPG die Anweisung aus Fixed RPG "TESTN" ersetzen.

    Ich möchte ein alphan. Feld auf numerisch prüfen.

    mfg. Ludger

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Ersatzlos gestrichen im /free !
    Alternative:

    monitor;
    if %dec(Alpha:St:Nk) <> *zero;
    endif;
    on-error *all;
    // nicht numerisch
    endmon;
    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
    Jul 2003
    Beiträge
    331

    Exclamation

    Zitat Zitat von Fuerchau
    monitor;
    if %dec(Alpha:St:Nk) <> *zero;
    endif;
    on-error *all;
    // nicht numerisch
    endmon;
    Danke für die schnelle Antwort.
    MONITOR hört sich ja interessant an.

    Wird mit obiger Lösung auf *zeros oder auf numerisch abgefragt ?

    mfg Ludger

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    %dec() versucht in einen Dezimalwert umzuwandeln (Dezimalpunkt/-komma wird berücksichtigt). Klappt das nicht wird ein RPG-Fehler gemeldet (MCH....) den man aber mit "monitor" abfangen kann.
    Die if-Abfrage wird nur pseudomäßig benötigt, da ich %dec() nicht alleine verwenden kann, sondern nur in einem Ausdruck als Zuweisung (eval) oder Abfrage (if/when) oder Argument(callx).
    Wenn ja alles i.O. ist, wird der on-error-Zweig nicht ausgeführt.
    So habe ich durch die Hintertür einen TESTN.

    Ich gebe aber zu, dass das nicht die feine Art der Programmierung ist.
    Dann schon lieber eine Funktion schreiben, die TESTN halt nicht als /free versucht.
    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
    Jul 2003
    Beiträge
    331
    Danke für die ausführliche Antwort. Ludger

  6. #6
    Registriert seit
    Aug 2003
    Beiträge
    163
    Zitat Zitat von Fuerchau
    %dec() versucht in einen Dezimalwert umzuwandeln (Dezimalpunkt/-komma wird berücksichtigt). Klappt das nicht wird ein RPG-Fehler gemeldet (MCH....) den man aber mit "monitor" abfangen kann.
    Hallo Fuerchau,

    ich bekomme beim Umwandeln immer den Fehler RNF0327 Der erste Parameter für %DEC oder %DECH ist ungültig.

    Beim Nachlesen im Handbuch steht dort auch, dass nur numerische Werte angegeben werden können.

    Oder ist das erst nach 5.1 ?

    Gruß

    Hubert

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    %DEC (Convert to Packed Decimal Format)
    %DEC(numeric or character expression{recision:decimal places})
    %DEC converts the value of the numeric or character expression to decimal
    (packed) format with precision digits and decimal places decimal positions. The
    precision and decimal places must be numeric literals, named constants that
    represent numeric literals, or built-in functions with a numeric value known at
    compile-time.
    Parameters precision and decimal places may be omitted if the type of expression
    is neither float nor character. If these parameters are omitted, the precision and
    decimal places are taken from the attributes of numeric expression.
    If the parameter is a character expression, the following rules apply:
    v The sign is optional. It can be ’+’ or ’-’. It can precede or follow the numeric
    data.
    v The decimal point is optional. It can be either a period or a comma.
    v Blanks are allowed anywhere in the data. For example, ’ + 3 ’ is a valid
    parameter.
    v The second and third parameters are required.
    v Floating point data, for eample ’1.2E6’, is not allowed.
    v If invalid numeric data is found, an exception occurs with status code 105.

    Auszug aus V5R1-Handbuch. Ob bereits in V4 glaube ich eher nicht.
    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

  8. #8
    Registriert seit
    Aug 2003
    Beiträge
    163
    Ich hab schon an meinem Verstand gezweifelt; inzwischwen hab ich des Rätsels Lösung im Beitrag von Brigritta Hauser gefunden: %dec und Co arbeiten erst ab V5R2 mit Alpha Werten.

Similar Threads

  1. Datum-Konvertierung free rpg
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 14-03-08, 06:21
  2. Frei Porn Site!
    By Fucasdreh in forum NEWSboard Server Job
    Antworten: 0
    Letzter Beitrag: 10-01-07, 13:12
  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. Mehrere Bezugszahlen auf *off in Free RPG
    By mgraskamp in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 16-02-06, 16:01
  5. Free Rpg Zeitdauer errechnen
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 12-07-04, 09:27

Berechtigungen

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