Funktionale Methoden

Hinweise, Tips und Tricks, FAQs - keine Anfragen!!
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Funktionale Methoden

Beitrag von cosmo (Specialist / 175 / 0 / 0 ) »
Bestimmt wird der ein oder andere Umsteiger in ABAP die Möglichkeit vermisst haben, Funktionen zu definieren und aufzurufen - also Unterprogramme, die einen Rückgabewert haben, und die man als Platzhalter in Termen einsetzen kann.

Ich meine etwa folgendes:

Code: Alles auswählen.

gesamtverbrauch = verbrauch( 2005 ) + verbrauch( 2006 ).
wobei Verbrauch eine eigene Unterroutine ist.

Im Objekt-orientierten Teil von ABAP ist so etwas aber durchaus möglich! SAP nennt es "Funktionale Methode". Dabei definiert man in einer Klasse eine Methode, die einen speziellen "RETURNING" Parameter hat. Das Coding der Methode würde dann etwa so aussehen:

Code: Alles auswählen.


method verbrauch importing jahr type gjahr
              returning ergebnis type mgvbr.

  (...)

endmethod.
Der Aufruf könnte dann genau so aussehen wie oben im ersten Codeschnipsel.
Jörg Krause, Anwendungsentwickler und SAP-Betreuer MM/PP

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


Beitrag von abap-1 (ForumUser / 2 / 0 / 0 ) »
Hallo,

ich habe mir den Beitrag von Jörg Krause 2 mal durchgelesen und kann mir immer noch nicht recht erklären, warum er seinen "Tip" geschrieben hat.

Ich denke, entweder wollte er Werbung für seine "tollen" ABAP-Kenntnisse machen. Das ist wohl schief gegangen ...
Oder aber er hat sich endlich mal mit ABAP Objects beschäftigt und wollte die Welt an seiner durchaus verständlichen Begeisterung teilhaben lassen. Dazu muß er aber doch nicht dieses tolle Forum zumüllen !

Ein paar Klarstellungen:

1. Funktionale Methoden gibt es in ABAP Objects seit 1999 !!! (seit Release 4.6B)
2. In ABAP Objects gibt es sinnvollerweise nur die klare Trennung von Definition und Implementation. RETURNING-Parameter können nur in der call by value-Schreibweise deklariert werden.

Also z.B.:

Code: Alles auswählen.

CLASS lcl_test DEFINITION.
  PUBLIC SECTION.
    METHODS
      get_value IMPORTING i_value TYPE i
                RETURNING value(result) TYPE i.
ENDCLASS.
CLASS lcl_test IMPLEMENTATION.
  METHOD get_value.
    ...
  ENDMETHOD.
ENDCLASS.
Der Codeschnipsel von Herrn Krause ist also Quatsch.

Glücklicherweise sind solche Art Beiträge die Ausnahme in dem sehr guten ABAPForum. Dafür bei dieser Gelegenheit vielen Dank an die Macher der Website und die vielen engagierten Mitglieder.
Bernd

Beitrag von olli-x (Specialist / 166 / 0 / 1 ) »
Ich denke, entweder wollte er Werbung für seine "tollen" ABAP-Kenntnisse machen. Das ist wohl schief gegangen ...
Oder aber er hat sich endlich mal mit ABAP Objects beschäftigt und wollte die Welt an seiner durchaus verständlichen Begeisterung teilhaben lassen. Dazu muß er aber doch nicht dieses tolle Forum zumüllen !
Sehr nette Wortwahl. Vermutlich hast Du Dich noch nie einen Fehler gemacht.

Gruß,
Oliver

Beitrag von abap-1 (ForumUser / 2 / 0 / 0 ) »
Hallo Olli,

klar, jeder kann einen Fehler machen.

Aber:

1. Da wollte sich jemand wichtig machen
2. Wer schon mal ABAP Objects programmiert hat, würde vielleicht das VALUE( vergessen - Ok, kein Problem. Aber "method verbrauch importing ... endmethod" zeugt von solidem Halbwissen über Grundsätzliches.
3. Wenn man "Umsteiger in ABAP" adressiert, sollte man sie nicht verwirren mit derart sinnlosen und falschen Beiträgen. Denk bitte mal nach, wieviel Zeit ein "Umsteiger" vielleicht verschwenden würde, bis er die richtigen Informationen gefunden hat oder ob er gar in Zukunft jeden Beitrag mißtrauisch betrachtet. Normalerweise sind die Beiträge hier aber sehr kompetent und sorgfältig geschrieben.

Gruß

Bernd

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
da der ursprüngliche Betrag, zugegebenermaßen, nicht fehlerfrei ist, wird ein Admin oder ich ihn wieder löschen.

@cosmo
Dein Betrag ist an sich herzlich willkommen und Du darft ihn auch gerne in überarbeiteter Form wieder posten.
Aber in diesem Punkt muss in ABAP-1 recht geben: er ist im Augenblick leider eher kontraproduktiv.

@abap-1:
bitte das nächste Mal einen Admin oder Moderator darauf hinweisen, aber nicht einfach hier posten. Das ist hier (Tipps&Tricks), wie im Sticky-Posting hingeweisen, unerwünscht.

PS:
jegliche weiteren Äußerungen an dieser Stelle durch nicht-Admin/Mod werden gelöscht!
Diskussionen hierzu sind in Off-Topic oder SAP-Allgemein zu führen!
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Seite 1 von 1

Vergleichbare Themen

0
Antw.
557
Views
Funktionale Abhängigkeiten Datenbanken
von Bright4.5 » 25.03.2021 16:46 • Verfasst in ABAP® für Anfänger
6
Antw.
836
Views
Funktionale Programmierung / Funktionen höherer Ordnung
von ralf.wenzel » 09.04.2021 09:00 • Verfasst in ABAP Objects®
1
Antw.
1840
Views
OLE Methoden
von Kaiwalker » 23.07.2004 12:49 • Verfasst in ABAP® Core
9
Antw.
8828
Views
GET und SET Methoden
von yuro » 02.12.2014 10:37 • Verfasst in ABAP® für Anfänger
1
Antw.
1497
Views
Methoden aufrufen
von chyth » 30.07.2007 15:06 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

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.

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141