Kategorien
SAP Schulung

Kalkulierende Felder

Sehr praktisch im täglichen Umgang sind kalkulierende, also selbst rechnende Felder. Will man zB. im Buchungsvorgang Skonto für Teilbeträge buchen, kann die Rechenoperation einfach in das Soll/Haben Feld eingetragen werden. Das ist im Microsoft Dynamics NAV in jedem numerischen Feld vorgesehen – es wird nach der „Punkt vor Strich“ Regel gerechnet. In der Praxis ist das nicht immer gewollt.

Der Chef legt zum Beispiel eine Tankquittung vor auf der auch neben dem abzugsfähigen Treibstoff und einer Dose Öl auch Zigarretten und ein Lolli für das Kind aufgeführt ist. Praktischer Weise rechnen wir 10 Euro plus 5 Euro mal 19% und nicht (10+5)*19/100. Im NAVISION bleibt keine Wahl, das Verfahren ist nicht änderbar. Es funktioniert nur Punkt-vor-Strich.

In unserem SAP System sind die Möglichkeiten offen. Als Demo habe ich einmal alle Möglichkeiten aufgeführte.

Der Standard Funktionsbaustein ‚EVAL_FORMULA‘ ist in der Lage ein String mit „10+5*0,19“ zu verarbeiten und nach der PvS Regel zu berechnen. Es ist also keine Schwierigkeit in einem PAI das Eingabefeld durch diesen Funktionsbaustein verarbeiten zu lassen und das selbt rechnende Feld ist realisiert.

Ich persönlich halte das für unpraktisch. Ähnlich wie der SAP Calculator, den wir mit dem Funktionsbaustein ‚FITRV_CALCULATOR‘ aufrufen können, läßt sich auch der Eingabestring zerlegen und sequenziell verarbeiten.

Wie in dem Listing zu sehen ist, zerlege ich den Eingabestring in eine Interne Tabelle. Die Zeichen + – * / separieren die Zahlen und rechnen entsprechend der Operation sequenziell.

Letztendlich mag es eine Sache der Gewöhnung sein. Mich interessieren die Erfahrungen die andere gemacht haben.