Schnittstelle reduzieren 
Die Integration von BAPIs und ALE hat zum Ziel, dass zukünftige ALE-Geschäftsprozesse BAPIs als Schnittstellen verwenden können.
BAPI-Reduzierungen werden besonders in ALE-Geschäftsprozessen erforderlich, in denen Stammdaten asynchron repliziert werden:
Ein Teil der BAPI-Parameter wird, obwohl beim Aufruf angegeben, beim Empfänger nicht benötigt.
Genaue Kontrolle, welche Daten in Fremdsysteme (nicht SAP und/oder zwischen Geschäftspartnern) übertragen werden (z.B. durch ausblenden von Feldern).
Bestimmte Daten dürfen beim Empfänger nicht überschrieben werden.
BAPI-Reduzierungen sind jedoch auch überall einsetzbar, wo asynchrone BAPI-Aufrufe genutzt werden.
Beim asynchronen Aufruf eines BAPIs über die BAPI-ALE-Schnittstelle sollen nur die Parameter der BAPI-Schnittstelle übermittelt werden, die für den Empfänger relevant sind. BAPI-Reduzierungen können Sie im ALE-Verteilungsmodell im Rahmen der empfängerabhängigen Filterung einstellen. Für Reduzierungen können Sie Vorlagen anlegen.
Beispiel
Material-Stammdaten werden von einem Referenzsystem auf ein Vertriebssystem repliziert. Da in dem Vertriebssystem nur ein Teil der zum Material erfassten Daten benötigt werden, wird eine Reduzierung der Schnittstelle des BAPIs Material.SaveReplica definiert, in dem nur vertriebsrelevante Parameter vorhanden sind. Im Verteilungsmodell wird dann eingestellt, dass mit Material.SaveReplica nur vertriebsrelevante Daten zum Vertriebssystem kommuniziert werden.
Die BAPI-Filterung (Parameterfilterung und Reduzierung) können Sie beim Pflegen des Verteilungsmodells vornehmen. Die Reduzierungs- und Filterinformationen sind als Bestandteil der ALE-Customizing-Daten im Verteilungsmodell enthalten.
Die BAPI-Filterung muss beim Generieren der BAPI-ALE-Schnittstelle explizit aktiviert werden.
Die Reduzierung des eigentlichen (asynchronen) BAPI-Aufrufs erfolgt als Service in der ALE-Schicht.
Der Reduzierungsdienst fragt die Filtereinstellungen des Verteilungsmodells zur Laufzeit ab.
Die Anwendungsentwicklung erhält die Möglichkeit, für einen Empfänger oder eine Liste von Empfängern vor dem Aufruf der BAPI-ALE-Schnittstelle die Liste der zu füllenden Parameter abzufragen, um die Lesezugriffe auf die Datenbank so gering wie möglich zu halten. (Der Aufruf kann wahlweise stattfinden und beeinflusst nicht das Ergebnis der Filterung.)
Für jedes Sender-Empfänger-Paar können Sie nur eine Reduzierung eines BAPIs einstellen.
Die Grunddaten der BAPI-Reduzierung werden vom BAPI-Entwickler nach der Freigabe des BAPIs und vor der Generierung der BAPI-ALE-Schnittstelle gepflegt. Sofern eine Parameterhierarchie verwendet werden soll, muss diese ebenfalls vorher festgelegt werden.
Das BAPI muss vom BAPI-Entwickler über entsprechende Parameterarten als reduzierbar angelegt werden. Muss-Parameter und -Felder müssen festgelegt werden.
Eine Matrix mit den Voraussetzungen für die Verwendung der Filterdienste finden Sie unter Daten filtern.
Das vollständige Reduzieren von Parametern eines BAPIs ist nur für Tabellenparameter möglich. Eine vollständig reduzierte Tabelle ist beim Empfänger leer.
Für einen vollständig reduzierbaren Tabellenparameter T1 mit Ankreuzleiste gelten folgende Voraussetzungen:
Tabellenparameter |
Struktur |
T1 |
Q1 |
T1X |
Q1X |
T1X ist ein Ankreuzparameter.
Die Reduzierung auf Feldebene wird durch Umsetzung der obligatorischen Ankreuzfelder eines BAPIs und Initialisierung der entsprechenden Felder im Datenparameter erreicht. Die Ankreuzleisten müssen den Datenparametern über Namens- und Strukturkonventionen zugeordnet sein.
Für einen feldweise reduzierbaren Parameter P1 gelten folgende Voraussetzungen:
Tabellenparameter |
Struktur |
P1 |
S1 |
P1X |
S1X |
Die Strukturen S1 und S1X müssen die gleiche Anzahl von Feldern haben, wobei die Namen der Felder in beiden Parametern identisch und in gleicher Reihenfolge sein müssen.
Wenn P1 ein FUNCTION-Feld oder Schlüsselfelder hat, so hat das FUNCTION-Feld in S1 und S1X und jeweils die Schlüsselfelder das selbe Datenelement. Alle weiteren Felder der Ankreuzleiste verwenden das Datenelement BAPIUPDATE.
BAPI-Reduzierungen müssen wie folgt durchgeführt werden:
Erstellen Sie ein reduzierbares BAPI, das die obigen Voraussetzungen erfüllt.
Vor dem Generieren der BAPI-ALE-Schnittstelle müssen Sie die Datenfilterung explizit aktivieren (Option Datenfilterung erlaubt).
Die Filterung können Sie im Verteilungsmodell über das Customizing unter einstellen.
Die generierte BAPI-ALE-Schnittstelle ermöglicht die BAPI-Filterung als Service in der Ausgangsverarbeitung.