Umwandeln von einer Formel in ABAP Coding

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Umwandeln von einer Formel in ABAP Coding

Beitrag von naphro (ForumUser / 4 / 0 / 0 ) »
Hallo,
ich habe hier folgendes Problem:

Über ein selbst programmiertes ABAP Programm soll der User in der Lage sein eine Formel selbst zusammen zu bauen.
D.h. er hat ein ALV-Grid um die Felder auszuwählen, und als Operatoren +, -, *, /, sowie Klammern zur Verfügung. Um das ganze etwas zu erschweren, gibt es auch noch die Option die Formel auf Tage, Stunden oder Minuten einzuschränken.
D.h. es könnte wie folgt aussehen:
minutes ( hours ( feld1 - feld2 ) / 2 )

Jetzt stellen sich zwei Fragen..
In welcher Form ist es am besten die Formel abzuspeichern, dazu gibt es zwei Möglichkeiten
die erste ist das Coding so wie es angezeigt wird als String abzuspeichern
die zweite über eine Tabelle die so aufgebaut sein könnte:
Zähler | Operand-1 | Operation | Operand-2 | Genauigkeit (d,h,m)

die zweite Frage ist wie wandelt man die Formel am leichtesten in Coding um?
Als Überlegung gibt es hier bisjetzt das mit Field Symbols zu lösen.
Aber gibt es dafür noch eine andere Möglichkeit?

Wäre super wenn jemand für mich hier eine Idee hat!
Vielen Dank vorab.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von olli-x (Specialist / 166 / 0 / 1 ) »
Hallo,

schau Dir mal die Anweisungen
"GENERATE SUBROUTINE POOL itab NAME name."
oder
"GENERATE REPORT prog" an.

Damit hab ich etwas sehr ähnliches gelöst. Aus der Formel baue ich Reports zusammen. Bei einer Anwendung geschiet dies zur Laufzeit und ist transient (erste Anweisung), bei einer anderen Anwendung werden die Reports in einer Pflegetranaktion generiert, persistent abgelegt und schließlich mit externem Perform aufgerufen.

Gruß,
Oliver

Beitrag von naphro (ForumUser / 4 / 0 / 0 ) »
Hallo Oliver,
die Generierung des Codings selbst werde ich dann mit "Insert report" machen.

Mein Problem ist jetzt, wie ich am besten die Formel abspeichere und dann in Code umwandle.

Beispiel wenn cih einen String verwende:
result = minutes ( hours ( feld1 - feld2 ) / 2 )

Ignorieren wir jetzt mal das minutes und hours, sondern nehmen nur diese Formel hier:
result = feld1 - feld 2 / 2.

Übergeben in der Formel bekomme ich aber nicht "feld1" sondern den dazugehörenden Wert.
d.h. die Formel müsste in etwa so lauten:
result = a-feld1 - a-feld2 / 2.
(um es in geschicktes Coding umzubauen)
und der Wert von a-feld1 wäre feld1

Meine Frage ist hier jetzt ob das mit Field-Symbols realisier bar ist und wie da die Zuweisung lautet, oder ob es einen besseren Weg geht.

Zudem ist noch die Frage ob man die Formel wirklich in einem String abspeichern sollte oder in Tabellenform (mit OperandA, OperandB, etc.) hinterlegt.

Vielen Dank und Grüße,
Ute

Seite 1 von 1

Vergleichbare Themen

11
Antw.
11948
Views
ABAP-Coding in HTML umwandeln mit Syntaxhighlighting
von zzcpak » 27.03.2006 10:19 • Verfasst in Tips + Tricks & FAQs
11
Antw.
5800
Views
Diskussion: ABAP-Coding in HTML umwandeln mit Synta(t=6771)
von ereglam » 31.03.2006 14:38 • Verfasst in ABAP® Core
6
Antw.
1366
Views
ABAP nach Excel mit Formel, aber wie?
von DeMa » 03.12.2021 16:05 • Verfasst in ABAP Objects®
3
Antw.
2402
Views
ABAP-Coding CO-Report
von sap-junior » 24.09.2015 10:01 • Verfasst in ABAP® Core
4
Antw.
2992
Views
SE71 (SAPScript) und ABAP Coding
von astera » 05.12.2006 13:54 • Verfasst in ABAP® Core

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Dump HTTP_OUT_OF_MEMORY
vor 2 Stunden von GünterL 2 / 35
Wie standardtabelle Updaten?
vor 2 Tagen von A6272 6 / 327
Neue Themen als SAP Entwickler
vor 2 Tagen von IHe 7 / 495
Problem mit Custom-Dynpro in VL02N
vor 2 Tagen von Xilukarim gelöst 2 / 53

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Dump HTTP_OUT_OF_MEMORY
vor 2 Stunden von GünterL 2 / 35
Wie standardtabelle Updaten?
vor 2 Tagen von A6272 6 / 327
Neue Themen als SAP Entwickler
vor 2 Tagen von IHe 7 / 495
Problem mit Custom-Dynpro in VL02N
vor 2 Tagen von Xilukarim gelöst 2 / 53