Anfang des InhaltsbereichsHintergrunddokumentation Filterabhängige Business Add-Ins Dokument im Navigationsbaum lokalisieren

Business Add-Ins können abhängig von einem Filterwert implementiert werden. Wenn im Standard z.B. eine Erweiterung für Länderversionen vorgesehen wird, ist es wahrscheinlich, daß unterschiedliche Partner diese Erweiterung implementieren möchten. Abhängig vom Land kann eine eigene Implementierung angelegt und aktiviert werden.

Bei der Definition einer Erweiterung wird ein Filtertyp angegeben (Land, Branche etc.). Alle Methoden, die im Interface der Erweiterung angelegt werden, haben den Filterwert 'FLT_VAL' als Importing-Parameter. Das Anwendungsprogramm gibt der Erweiterungsmethode den Filterwert mit. Die Methode selektiert dann die für den Wert aktive Implementierung.

Die Funktion eines filterabhängigen Business Add-Ins wird im folgenden an dem bereits bekannten Beispiel zur Konvertierung eines Wortes erläutert. In diesem Fall werden über unterschiedliche Filterwerte unterschiedliche Implementierungen aufgerufen.

Definition des filterabhängigen Business Add-Ins

Um ein filterabhängiges Business Add-In zu definieren, legen Sie zunächst die Definition des Business Add-Ins an und wählen das Ankreuzfeld Filter.

Diese Grafik wird im zugehörigen Text erklärt

Als Filtertyp geben Sie das von Ihnen gewünschte Datenelement ein oder wählen eines über die Wertehilfe.

Ein Filtertyp kann ein Datenelement oder eine Struktur sein. Folgende Kriterien sollten für ein Datenelement erfüllt sein:

Ein solches Datenelement können Sie gegebenenfalls selbst einrichten.

Soll der Aufruf der Implementierung eines Business Add-Ins nicht nur von einem Filterwert, sondern von verschiedenen Werten abhängig sein, können Sie den Namen einer Struktur in das Feld Filtertyp eingeben. Die Struktur kann aus mehreren Datenelementen bestehen, die den oben aufgeführten Bedingungen für Datenelemente entsprechen.

Legen Sie anschließend ein Interface mit Methoden an. Beachten Sie, daß für jede Methode, die Sie im Interface einer filterabhängigen Erweiterung anlegen, der Filterwert als Importing-Parameter definiert sein muß, damit das Anwendungsprogramm der Erweiterungsmethode den Filterwert mitgeben kann. Die Methode selektiert dann die für den Wert aktive Implementierung.

Der Filterwert wird grundsätzlich mit dem Parameter flt_val angegeben und wird in der Liste der Parameter vorgegeben.

Diese Grafik wird im zugehörigen Text erklärt

Aufruf des Business Add-Ins aus dem Anwendungsprogramm

Der Anwendungsentwickler erzeugt - wie bereits oben beschrieben - im Anwendungsprogramm eine Instanz der generierten Klasse und ruft zum gegebenen Zeitpunkt die entsprechende Methode auf. Der Methode wird der Filterwert als Exporting-Parameter übergeben.

Report businessaddin.
class cl_exithandler definition load.
data flt type de_land.
data exit type ref to if_ex_businessaddin.
data wort(15) type c value 'Business Add-in'.

start-of-selection.
  perform listaufbereitung.
  call method cl_exithandler=>get_instance
        changing instance = exit.
  write:/'Bitte hier klicken'.

at line-selection.
  new-page.
  write:/ 'Original-Wort: ',wort.

   call method exit->methode
         exporting
            flt_val = flt.
         Changing
            parameter = wort.

  write:/ 'Geändertes Wort: ',wort.

Das Unterprogramm listaufbereitung hätte folgenden Inhalt:

form listaufbereitung.
write:/'BRD ->Konvertierung Upper Case'.
flt = 'BRD'.
hide flt.
write :/'Irland ->Konvertierung Lower Case'.
flt = 'Irland'
hide flt.
write :/'Italien ->Konvertierung ...'
flt = 'Italien'.
hide flt.
endform.

Implementierung des Business Add-Ins

Wenn Sie ein filterabhängiges Business Add-In nutzen möchten, benötigen Sie für jeden für Sie relevanten Filterwert eine Implementierung. Es ist allerdings möglich, daß mehrere Filterwerte die gleiche Implementierung nutzen.

Gehen Sie bei der Implementierung eines filterabhängigen Business Add-Ins folgendermaßen vor:

  1. Legen Sie die Implementierung an, indem Sie auf die entsprechende Definition des Business Add-Ins Bezug nehmen.
  2. Tragen Sie die Filterausprägung, für die die Implementierung gelten soll, ein, oder betätigen Sie die Taste F4 und wählen einen Wert aus. Sie haben prinzipiell die Möglichkeit, für eine Implementierung mehrere Filterausprägungen anzugeben.
  3. Füllen Sie die Methode des Interfaces im Class Editor mit Inhalt.
  4. Für die einzelnen Länder würden Sie für unser Beispiel folgende Einträge vornehmen:

    BRD:
    translate parameter to upper case.

    Irland:
    translate parameter to lower case.

    Italien:
    translate ...

  5. Je nachdem, wieviele Implementierungen Sie anlegen möchten, wiederholen Sie die Schritte 1-3.
  6. Aktivieren Sie die Implementierungen.

Wenn Sie den oben beschriebenen Report ausführen, wird je nach ausgewähltem Land eine Implementierung ausgeführt.

Sie können bei der Implementierung eines Business Add-Ins generische Filterwerte angeben, d.h Sie können das Sonderzeichen "*" verwenden. Mit Hilfe des Sterns können beliebige Teile des Filterwertes substituiert werden. Ein generischer Filterwert kann durch verschiedene Werte, die möglicherweise auf der Datenbank gefunden werden, ersetzt werden.

Das Ein- und Ausblenden von Kurztexten zu Filterwerten erfolgt über einen Doppelklick auf die entsprechende Spalte.

Handelt es sich um einen erweiterbaren Filtertyp, können Kurztexte auch editiert werden.

Erweiterbare Filtertypen

Wenn Sie einen Filtertyp als erweiterbar kennzeichnen, können auch Implementierungen zu bisher nicht existierenden Filterwerten angelegt werden. Ordnen Sie einem Filtertyp das Attribut erweiterbar zu, so wird im BAdI-Builder der Menüeintrag Implementierung durch Filterwert ersetzt. Wenn Sie Filterwert ® Anlegen wählen, verzweigen Sie nach der Eingabe eines bisher nicht existierenden Filterwertes (der Name der Implementierung muß nicht angegeben werden) in die Transaktion zur Implementierung von Business Add-Ins. Sie können dazu aber auch wie bisher die Transaktion SE19 benutzen.

Beachten Sie, daß die Zuordnung des Attributs erweiterbar folgenden Einschränkungen unterliegt:

Die Domäne, auf die sich der erweiterbare Filtertyp bezieht, muß folgende Eigenschaften haben:

Alle Filterwerte, die im Rahmen eines erweiterbaren, filterabhängigen Business Add-Ins angelegt werden, dürfen in der Wertetabelle noch nicht vorkommen und werden beim Sichern in die Wertetabelle aufgenommen. Entsprechend werden Sie beim Löschen der Implementierung oder des gesamten Business Add-Ins aus der Wertetabelle entfernt. Gleiches gilt für die Texttabelle.

Besonderheiten bei länderabhängigen Business Add-Ins

In der Standardauslieferung finden Sie ein Business Add-In, welches eine Schnittstelle zum Anschluß zusätzlicher postalischer Prüfungen der Adressdaten durch externe Tools liefert. Es handelt sich um das Business Add-In Address-Check.

In diesem Beispiel wird das Datenelement INTCA (ISO-Code des Landes) verwendet. Da SAP für länderspezifische Abfragen eine Orientierung an der internationalen ISO-Norm empfiehlt, sollte auch bei Business Add-Ins das Datenelement INTCA verwendet werden. Der ISO-Code eines Länderschlüssels wäre z.B. DE statt BRD oder US statt USA.

Vor dem Aufruf des Business Add-Ins aus dem Awendungsprogramm muß der ISO-Code des Landes mit einem SELECT auf die Tabelle T005 (Feld INTCA) ermittelt werden, bevor der Filterwert als Exporting-Parameter übergeben werden kann.

Diese Grafik wird im zugehörigen Text erklärt

Ende des Inhaltsbereichs