
SAP BI – DataSource-Erweiterung 0PERSON_ATTR sowie Anreicherung durch BAdI-Erweiterungstechnik

Dies ist ein Gastbeitrag von Christian Wiegleb.
DataSource erweitern
0Der folgende Beitrag zu SAP BI 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).
Metadaten ändern und anpassen
Ü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).
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.
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.
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.
Ihr ABAP-Entwicklungspartner
Unser ABAP-Entwicklungspartner unterstützt Sie bei all Ihren ABAP-Projekten und steht Ihnen als langjähriger Partner stets zur Seite.