[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2004
    Beiträge
    444

    Ersatzzeichenfolge für eine Formel

    Hallo zusammen,

    ich habe eine Datei mit den Feldern ausgepackte Menge (UNPQ) , gebuchte ausgepackte Menge (UNBQ) und defekte Menge (DMGQ).

    Meine zu berechnende offene Menge ergibt sich aus UNPQ - UNBQ - DMGQ

    Das heißt an jeder Stelle an der ich die offene Menge benötige müsste ich nun wieder folgende Anweisung angeben (Anmerkung nicht free Code)
    EVAL OPNQ = UNPQ - UNBQ - DMGQ

    So wie ich in den D-Bestimmungen z.B. cMwSt für 19% angeben kann hätte ich nun irgendwo angegeben cOpnQ und dahinter verbirgt sich diese Rechnung.

    Also hätte ich gerne dann folgende Anweisung angegeben

    EVAL OPNQ = cOpnQ

    Ich könnte zwar eine Funktion verwenden aber der müsste ich dann auch die 3 Parameter mitgeben damit gerechnet wird. Ich möchte vorbeugen dass sich wenn sich die Formel mal ändert ich alle Anweisungen ändern muss.

    Hat jemand eine Idee ?

    Viele Grüße Harkne

  2. #2
    Registriert seit
    May 2002
    Beiträge
    1.121
    PHP-Code:
    h dftactgrp(*no)                                   
    d a               s              4  0 Inz10 )    
    d b               s              4  0 Inz(  )    
    d c               s              4  0 Inz(  )    
    d d               s              4  0 Inz( *Zeros )
    c                   Eval      Wert             
    c                   
    Eval      *InLr = *On          
    p wert            b                                
    d  wert           pi             4  0              
    d Ergebnis        s              4  0              
                                                       
    c                   
    Eval      ergebnis a-b-c     
    c                   
    Return    ergebnis             
    p wert            e 
    Geht doch auch ohne Werte der Funktion mit zu geben.

  3. #3
    Registriert seit
    May 2004
    Beiträge
    444
    Hat sich erledigt.

    Mir war nicht bewusst dass die Variablen des Hauptprogramms den Funktionen zur Verfügung stehen. Somit kann ich ja eine Funktion aufrufen die genau das berechnet ohne ihr Parameter mitzugeben.

  4. #4
    Registriert seit
    May 2004
    Beiträge
    444
    Hi malzusrex

    danke,

    ich habe genau dein Beispiel eben selbst gemacht (nur ander Inz-Werte) ;-)

    Zitat Zitat von malzusrex Beitrag anzeigen
    PHP-Code:
    h dftactgrp(*no)                                   
    d a               s              4  0 Inz10 )    
    d b               s              4  0 Inz(  )    
    d c               s              4  0 Inz(  )    
    d d               s              4  0 Inz( *Zeros )
    c                   Eval      Wert             
    c                   
    Eval      *InLr = *On          
    p wert            b                                
    d  wert           pi             4  0              
    d Ergebnis        s              4  0              
                                                       
    c                   
    Eval      ergebnis a-b-c     
    c                   
    Return    ergebnis             
    p wert            e 
    Geht doch auch ohne Werte der Funktion mit zu geben.

  5. #5
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    wegen der Lesbarkeit würde ich hier immer mit mit einem dummy parameter arbeiten
    also

    eval d = wert()

    so erkennt auch ein dritter, das wert ne Funktion ist und sucht sich keinen Wolf!

    Oder via Namensregel, statt wert z.B. F_wert

    Jeder macht das natürlich wie es für Ihn am richtigsten ist. Trotzdem ist es nicht verkehrt
    auch mal an andere ggf erst kommende Programmierer zu denken!

    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  6. #6
    Registriert seit
    May 2002
    Beiträge
    1.121
    Zitat Zitat von Robi Beitrag anzeigen
    eval d = wert()
    Robi
    Da gebe ich dir Recht!
    Macht das Leben und das Lesen fremder Quellen einfacher.

    Gruß
    Ronald

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Man kann auch gleich "return a-b-c" kodieren und benötigt kein Zwischenfeld.
    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
    May 2002
    Beiträge
    1.121
    Zitat Zitat von Fuerchau Beitrag anzeigen
    "return a-b-c"
    Hmm,
    ich meine ich hatte das probiert und habe einen Umwandlungsfehler bekommen...
    ... Kann mich jetzt aber auch täuschen

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    RETURN (Return to Caller)
    Free-Form Syntax RETURN{(HMR)} Expression

    Code Factor 1 Extended Factor 2
    RETURN (HM/R) Expression

    "Expression" steht nun mal für Ausdruck.
    Hier kann man dann auch wiederum Funktionen verwenden.
    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

Similar Threads

  1. Wie wird man eine JVM wieder los?
    By dschroeder in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 27-11-13, 13:36
  2. configuration obdc um auf eine DB im AS/400
    By logo_2 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 30-04-03, 10:28
  3. Formel programmierbar ?
    By Krieg in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 19-02-02, 06:56
  4. Formel programmierbar ?
    By Krieg in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 15-02-02, 15:28
  5. suche eine as/400 p9401
    By worpswede in forum NEWSboard Server & Hardware Markt
    Antworten: 2
    Letzter Beitrag: 22-01-01, 11:49

Berechtigungen

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