Eigene Filterobjekte über Business Add-Ins ermitteln 
Sie erfahren, wie Business Add-Ins von SAP definiert sind und wie Sie ein Business Add-In implementieren, um Ihre selbst definierten Filterobjekte bei der Empfängerermittlung abzufragen.
Hinweis
Diese Beschreibung gilt nur für die Empfängerermittlung mit Business Add-Ins.
Sie ist nur für solche BAPIs relevant, für die ALE-Schnittstellen vorhanden sind und für die Business Add-Ins implementiert werden sollen.
Als Standard liefert die SAP-Anwendung für die Empfängerermittlung eine Reihe von Filterobjekttypen, die mit den von Ihnen zugeordneten Werten zur Laufzeit ausgewertet werden (z.B. Filterobjekt Werk 0001, 0002). Die voreingestellten Werte können Sie ergänzen.
Wenn Sie jedoch für die Abbildung Ihrer eigenen Geschäftsprozesse andere Filterobjekttypen verwenden möchten, um den asynchronen BAPI-Aufruf unter erweiterten Bedingungen durchzuführen, benötigen Sie dafür von SAP definierte Business Add-Ins, die Sie implementieren und aktivieren müssen. Business Add-Ins sind von SAP-Programmierern definierte Stellen im Quellcode, an denen Sie Ihren Code einfügen können, ohne das Originalobjekt zu modifizieren.
Welche Ihrer SAP-Anwendungen Business Add-Ins enthalten, erfahren Sie in Ihrer Anwendungsdokumentation.
Folgende Voraussetzungen müssen erfüllt sein:
Ihre SAP-Anwendungen enthalten Business Add-Ins, die von SAP definiert wurden (über , siehe auch das Beispiel Aufbau eines Business Add-Ins in einer Form-Routine unten).
Sie haben im ALE-Entwicklungsumfeld einen Filterobjekttyp für die Empfängerermittlung definiert, z.B. FILTER, und dem entsprechenden BAPI zugeordnet (über das SAP-Menü: ).
Sie haben das Business Add-In implementiert und aktiviert (über das SAP-Menü: ).
Sie haben im Verteilungsmodell ein Filterobjekt mit bestimmten Bedingungen unter der Sender-Empfänger-Beziehung gepflegt (über den Einführungsleitfaden (IMG): ).
Sender
Empfänger
BUSOBJECT.METHOD
Empfängerermittlung
Filtergruppe
FILTER
1010
Aufbau eines Business Add-Ins in einer Form-Routine
Die Empfängerermittlung für ein BAPI (BUSOBJECT.METHOD) kann in SAP-Anwendungen durch SAP-Entwickler beispielsweise mit einer Form-Routine (z.B. BUSOBJECT_METHOD_RECEIVERS) nach folgendem Ablauf aufgebaut werden:
Schnittstelle:
Syntax
TABLES receivers STRUCTURE bdi_logsys USING object TYPE swo_objtyp method TYPE swo_method parameters LIKE ... return_info LIKE syst.
In diesem Beispiel enthalten die Parameter parameters alle für die Empfängerermittlung notwendigen Filterobjektwerte der Anwendung. Sie sind anwendungsabhängig.
Der Parameter receivers enthält als vorgegebenen Wert die gewünschten Empfänger (oder Initialwert), und als Rückgabewert die ermittelten Empfänger.
Variablen-Definition:
Syntax
t_filter_object_type TYPE bdi_flttyp_tab t_filter_object_value TYPE bdi_fobj_tab receivers_output LIKE bdi_logsys OCCURS 0 WITH HEADER LINE
Im Code einer SAP-Anwendung werden folgende Schritte durchgeführt. Es handelt sich um die gleichen Schritte wie bei der Ermittlung der von SAP definierten Filterobjekttypen mit dem Zusatzschritt (Schritt 3) für die Ermittlung Ihrer selbst definierten Filterobjekte.
Filterobjekttyp für das BAPI mit dem Funktionsbaustein ALE_BAPI_GET_FILTEROBJECTS abfragen:
Syntax
EXPORTING object = busobject method = method TABLES receiver_input = receivers filterobjects = t_filter_object_type EXCEPTIONS error_in_ale_customizing
Den von SAP ausgelieferten Filterobjekttypen in der Struktur t_filter_object_type die aktuellen Werte der Anwendung in Parametern parameters zuweisen.
Das definierte Business Add-In aufrufen, um die von Kunden definierten Filterobjekttypen in der Ablauflogik der Anwendung auszuwerten:
Syntax
EXPORTING object = busobject method = method parameters = ... filterobjtype = t_filter_object_type CHANGING filterobjvalue = t_filter_object_value
Die Empfänger für den asynchronen BAPI-Aufruf mit dem Baustein ALE_ASYNC_BAPI_GET_RECEIVER ermitteln:
Syntax
EXPORTING object = busobject method = method TABLES receiver_input = receivers receivers_output = receivers_output filterobject_values = t_filter_object_value EXCEPTIONS error_in_filterobjects error_in_ale_customizing receivers[] = receivers_output[]
(Den Programm-Code dieses Beispiels finden Sie unter Beispielprogramme mit asynchronem BAPI-Aufruf, Empfängerermittlung mit Business Add-In)
Implementieren Sie die Objekt-Methode für das Business Add-In unter Verwendung Ihres selbst definierten Filterobjekttyps.
Die Empfänger für den asynchronen BAPI-Aufruf wurden anhand der vorgegebenen Filterobjekte ermittelt.