Verständnisfrage zu BAPIs und RFC

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

Verständnisfrage zu BAPIs und RFC

Beitrag von larsi (ForumUser / 47 / 2 / 11 ) »
Hallo,

Wenn ich mir über die Transaktion BAPI die Implementierung einer Methode anschaue, sieht man da zum Teil recht seltsame Konstrukte, zum Beispiel bei der Methode Vendor.GetDetail:

Code: Alles auswählen.

begin_method getdetail changing container.
...
swc_get_element container 'CompanyCode' companycode.
...
end_method
Nach normalem ABAP (Objects) sieht das ja nicht aus. Wann wird denn exakt dieser Code zum Beispiel ausgeführt. Denn eine Implementierung einer BAPI erfolgt doch letztendlich immer über einen remotefähigen FuBa, oder? Oder noch einfacher: wenn ich eine BAPI rufe, dann rufe ich einen RFC-fähigen FuBa.

Das bedeutet doch auch, dass ich in eigenen Programmen immer schreiben muss:

Code: Alles auswählen.

CALL FUNCTION 'BAPI_VENDOR_GETDETAIL'...
Oder?
D.h. ich habe selbst unter ABAP Objects nicht die Möglichkeit in etwa folgendes zu schreiben (was dem OOP-Ansatz entsprechen würde):

Code: Alles auswählen.

DATA vendor1 TYPE REF TO Vendor.
CALL METHOD vendor1->getdetail.
Wieso wurde das denn so umständlich gelöst? Denn in Beschreibungen über BAPIs steht immer, es gebe halt die Methode Vendor.GetDetail, im eigentlichen Code sieht das dann aber immer nach einem ganz schnöden Funktionsaufruf aus: BAPI_VENDOR_GETDETAIL. Oder hat es was mit der "RFC-Fähigkeit" von BAPIs zu tun?

Viele Grüße, Lars

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


Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hallo,

Bapis sind bis jetzt ganz "schnöde" RFC-fähige Funktionsbausteine.

That's it.

Gruß
babap

Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
@larsi:
Wenn Du in die "Implementierung" einer Business-Objekt-"Methode" schaust steht da ungefähr folgender Code:

Code: Alles auswählen.

BEGIN_METHOD EXISTENCECHECK CHANGING CONTAINER.
Ein Doppelklick auf "BEGIN_METHOD" führt Dich dann in den Include <object>, wo man sieht, dass "BEGIN_METHOD" ein ABAP-Makro ist. Dieses sieht bei mir folgendermassen aus:

Code: Alles auswählen.

FORM &1 TABLES &3 STRUCTURE SWCONT
              &2    SWO_%INVOKE STRUCTURE SWOTINVOKE.
...
Es wird also im Hintergrund eine "stinknormale" Unterroutine definiert, von Objektorientierung ist da nix zu sehen.

Gruss,
Haubi
Das ABAP Kochbuch ab sofort bei Amazon...

I'd rather write code that writes code than write code...

Seite 1 von 1

Vergleichbare Themen

6
Antw.
2663
Views
Verständnisfrage zu Coding
von Mark33 » 23.02.2012 15:22 • Verfasst in ABAP® für Anfänger
0
Antw.
659
Views
Verständnisfrage: Anwendungsklasse
von Dyrdek » 14.07.2014 11:53 • Verfasst in ABAP® für Anfänger
11
Antw.
2686
Views
Verständnisfrage LOOP AT (method)
von ralf.wenzel » 02.02.2022 18:20 • Verfasst in ABAP Objects®
2
Antw.
5016
Views
Verständnisfrage IDOC und MASTER_IDOC_DISTIBUTE
von Z_Sven » 21.10.2011 17:52 • Verfasst in Exchange Infrastructure
5
Antw.
5028
Views
Verständnisfrage über Abap OO
von tekko » 09.04.2020 14:50 • Verfasst in ABAP Objects®

Ü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

Daten an Tabelle binden
vor 2 Tagen von Bright4.5 1 / 751
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2374
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8960