Methode im eigenen Namensraum

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
10 Beiträge • Seite 1 von 1
10 Beiträge Seite 1 von 1

Methode im eigenen Namensraum

Beitrag von kbit100 (Specialist / 130 / 42 / 0 ) »
Hallo,

ich hoffe, ich werde für die nachfolgende (vielleicht dumme) Frage nicht gesteinigt (muss vorher noch Steine sammeln...).

Im ganz Groben die Anwenderanforderung: In einer Klasse im SAP-Namensraum soll eine bestehende Methode komplett in ihrer Logik geändert werden. Dazu reicht leider keine Erweiterung aus, da ich die ja nur am Beginn bzw. am Ende der Methode einbauen kann.

Nach meinem laienhaften Verständnis müsste ich die Klasse in den eigenen Namensraum kopieren, kann dann die Methode in dieser Kopie anpassen und muss danach alle Aufrufe der ursprünglichen Klasse mit dem SAP-Namen in den neuen kundeneigenen Namen abändern. Ich kann doch keine Methode innerhalb einer SAP-Klasse in einen eigenen Namensraum kopieren. Das ist doch richtig oder?

...ich ziehe schon mal den Kopf ein... ;-)

Danke für eure Hilfe.

Gruß

K.

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


Re: Methode im eigenen Namensraum

Beitrag von PeterPaletti (Specialist / 348 / 32 / 97 ) »
Du könntest etwas eleganter auch eine neue Klasse im Kundennamensraum anlegen und von der SAP-Klasse vererben.
Dann könntest du die Methode redefinieren.

Folgende Benutzer bedankten sich beim Autor PeterPaletti für den Beitrag:
kbit100


Re: Methode im eigenen Namensraum

Beitrag von foessleitnerj (ForumUser / 51 / 4 / 18 ) »
Hallo,

neben den impliziten Erweiterungen am Beginn und am Ende gibt es weitere Erweierungsmöglichkeiten für Klassen/Methoden. Es handelt sich dabei um die Möglichkeit Pre-, Post- oder Overwrite-Methoden zu definieren.

Nähere Informationen kannst Du der Doku entnehmen, dort ist diese Möglichkeit kurz in knackig erklärt:

http://help.sap.com/saphelp_nw70ehp1/he ... ontent.htm

liebe Grüße,

Johann Fößleitner

Folgende Benutzer bedankten sich beim Autor foessleitnerj für den Beitrag:
kbit100

Die Performance und Ergebnisse von SELECTs und JOINs im Produktivsystem überprüfen?
=> SQL Cockpit
http://www.cadaxo.com

Re: Methode im eigenen Namensraum

Beitrag von Dele (Specialist / 307 / 4 / 47 ) »
Warum nicht direkt am Anfang eine eigene Methode aufrufen, in der das neu Coding enthalten ist, und dannach mit Return raus?

Folgende Benutzer bedankten sich beim Autor Dele für den Beitrag:
kbit100


Re: Methode im eigenen Namensraum

Beitrag von kbit100 (Specialist / 130 / 42 / 0 ) »
PeterPaletti hat geschrieben:Du könntest etwas eleganter auch eine neue Klasse im Kundennamensraum anlegen und von der SAP-Klasse vererben.
Dann könntest du die Methode redefinieren.
Hi,
gehe ich dann richtig in der Annahme, dass das

Code: Alles auswählen.

CLASS <subclass> DEFINITION INHERITING FROM <superclass>. 
betrifft?

Dazu heißt es in der SAP-Hilfe:
Die neu zu definierende Klasse <subclass> übernimmt bzw. erbt dabei alle Komponenten der bereits vorhandenen Klasse <superclass>. Man nennt die neue Klasse Unterklasse und die bereits vorhandene Klasse Oberklasse.
Was passiert denn, wenn die SAP-Klasse aufgerufen wird, wird dann die "Unterklasse" ausgeführt?

Danke nochmal für deine Hilfe!

Gruß

K.

Re: Methode im eigenen Namensraum

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
Wenn die SAP-Klasse direkt aufgerufen wird (also ein Objekt dieser Klasse erzeugt wird), dann wird (wenn nicht die Factory-Methode etwas anders sagt) die SAP-Klasse verwendet.

Das Problem hast du aber auch bei einer Kopie: Wenn du den Aufruf nicht ändern kannst, wird deine Klasse schlichtweg nicht angesprochen.

Folgende Benutzer bedankten sich beim Autor ralf.wenzel für den Beitrag:
kbit100

Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Methode im eigenen Namensraum

Beitrag von kbit100 (Specialist / 130 / 42 / 0 ) »
Dele hat geschrieben:Warum nicht direkt am Anfang eine eigene Methode aufrufen, in der das neu Coding enthalten ist, und dannach mit Return raus?
Hallo Dele,

dann wäre es ja auch möglich eine implizite Erweiterung am Anfang der betreffenden Methode zu bauen und dann die Methode mit einem Return zu verlassen, damit der Originalcode nicht durchlaufen wird oder übersehe ich da etwas?

Vielen Dank!

Gruß

K.

Re: Methode im eigenen Namensraum

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
Du brauchst doch nur den Aufruf der Methode der Superklasse wegzulassen (super->(Methode)), dann wird das Coding nicht durchlaufen.

Folgende Benutzer bedankten sich beim Autor ralf.wenzel für den Beitrag:
kbit100

Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Methode im eigenen Namensraum

Beitrag von kbit100 (Specialist / 130 / 42 / 0 ) »
ralf.wenzel hat geschrieben:Du brauchst doch nur den Aufruf der Methode der Superklasse wegzulassen (super->(Methode)), dann wird das Coding nicht durchlaufen.
Hallo Ralf,

ich muss gestehen, dass ich in Sachen OO ganz am Anfang stehe und mich mit der Ober- und Unterklasse noch intensiv beschäftigen muss und momentan noch nicht ganz durchsteige.

Daher hatte ich angenommen, dass die Idee eine implizite Erweiterung am Anfang der betreffenden Methode einzufügen und dann mit einem Return rauszuhüppen zwar nicht elegant (vielleicht auch recht dämlich aussieht), aber ein einfaches Mittel ist. Oder warten da Fallen auf mich? Oder gibt es andere Gründe, aus denen du sagen würdest, das lass mal besser sein...?

Danke nochmal!

K.

Re: Methode im eigenen Namensraum

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
Nein, das klingt für mich auch vernünftig, zumal du dir keinen Kopf machen musst, wie du deine Subklasse aufgerufen kriegst.

Folgende Benutzer bedankten sich beim Autor ralf.wenzel für den Beitrag:
kbit100

Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1168
Views
Namensraum
von Gast » 03.12.2004 09:25 • Verfasst in ABAP® für Anfänger
0
Antw.
1814
Views
Namensraum anlegen
von babap » 23.02.2007 10:34 • Verfasst in Basis
5
Antw.
6632
Views
Transaktion im Namensraum
von chfreise » 11.03.2008 16:17 • Verfasst in Basis
2
Antw.
3161
Views
eigener Namensraum
von thp_114 » 03.02.2016 11:05 • Verfasst in ABAP® für Anfänger
0
Antw.
990
Views
Namensraum /0SJ6G/ -> Patch 29..
von Kleenmex » 15.10.2007 09:08 • Verfasst in ABAP® Core

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Aktuelle Forenbeiträge

Trennen Strasse und Hausnummer
vor einer Stunde von DeathAndPain 14 / 10744
Dialog-Container mit Toolbar/Status
vor einer Stunde von DeathAndPain gelöst 24 / 3890
User Exit EXIT_RQCPRM10_001
vor 20 Stunden von a-dead-trousers 2 / 347
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1399

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

Trennen Strasse und Hausnummer
vor einer Stunde von DeathAndPain 14 / 10744
Dialog-Container mit Toolbar/Status
vor einer Stunde von DeathAndPain gelöst 24 / 3890
User Exit EXIT_RQCPRM10_001
vor 20 Stunden von a-dead-trousers 2 / 347
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1399

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2930
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9523