-  19. Oktober 2011
SAP BI – DataSource-Erweiterung 0PERSON_ATTR sowie Anreicherung durch BAdI-Erweiterungstechnik

Dies ist ein Gastbeitrag von Christian Wiegleb.

Der folgende Beitrag soll anhand der DataSource 0PERSON_ATTR exemplarisch aufzeigen, wie eine DataSource um zusätzliche Felder / Informationen erweitert und mit Hilfe der Business-Add-in-Erweiterungstechnik angereichert werden kann.

Zunächst muss nach Aufruf der Transaktion RSA6 (DataSource und Hierarchie nachbearbeiten) die DataSource markiert werden, welche nachbearbeitet werden soll.

In unserem Fall der Stammdatenextraktor 0PERSON_ATTR (Person).

sap_bi_ds_1

Über den Dialog „ExtraktStruktur erw.“ wird nun die Extraktstruktur HRMS_BW_IO_PERSON  der DataSource über  eine Z*-Append-Struktur um die geforderten Felder erweitert. (Informationen zur Behinderung einer Person).

sap_bi_ds_2

Nachdem die Felder hinzugefügt wurden, müssen sie eingeblendet werden, sodass sie im BW-System sichtbar sind. Mit Hilfe des Dialogs „DataSource ändern“ werden die Metadaten der Felder – das in nachfolgender Abbildung ersichtlich wird – geändert bzw. angepasst.

sap_bi_ds_3

Mit dem Speichern / Aktivieren  der  Konfiguration ist die Erweiterung und somit auch der erste Schritt erfolgreich abgeschlossen. Die DataSource 0PERSON_ATTR besitzt nun alle relevanten Felder zur Abbildung der geforderten Informationen. Ebenso wurden die Felder für angeschlossene BW-Systeme „freigeschaltet“

Als nächstes werden die zusätzlichen Felder durch die BAdI-Erweiterungstechnik angereichert. Dabei definiert ein BAdI eine Entwicklungsvorschrift und verwaltet die BAdI-Implementierungen. Zur Laufzeit hat das BAdI die Aufgabe, die benötigten Implementierungen zu „suchen“,  die Klasse zu instanziieren und die relevanten Methoden aufzurufen.

Über die Transaktion SE18 (BAdI-Builder) wird nun das BAdI RSU5_SAPI_BADI ausgewählt und eine Implementierung angelegt.

sap_bi_ds_4

Die angelegte Klasse ZDS_0PERSON_ATTR enthält dabei das Interface IF_EX_RSU5_SAPI_BADI mit den Methoden DATA_TRANSFORM und HIER_TRANSFORM.

Die Methode DATA_TRANSFORM wird nun um folgendes Snippet erweitert:

CHECK I_DATASOURCE EQ ’0PERSON_ATTR’.

FIELD-SYMBOLS: <PERS> TYPE HRMS_BW_IO_PERSON.

LOOP AT C_T_DATA ASSIGNING <PERS>.

SELECT SINGLE SBGRU SBPRO SBART SBFAK

FROM PA0004

INTO (<PERS>-ZZSBGRU, <PERS>-ZZBPRO, <PERS>-ZZBART, <PERS>-ZZBFAK)

WHERE PERNR = <PERS>-RFPNR

AND BEGDA LE <PERS>-BEGDA

AND ENDDA GE <PERS>-BEGDA .

ENDLOOP.

Mit dem Extraktorchecker S-API (Transaktion RSA3) kann abschließend die Implementierung getestet werden.

SHARE

Schreiben Sie einen Kommentar

Wir freuen uns über Ihr Feedback. Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre Emailadresse wird nicht veröffentlicht.