Ingo Biermann
19. Oktober 2011

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).

SAP BI DataSource

DataSource markieren, die nachbearbeitet werden soll.

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.

SAP BI Metadaten der Felder anpassen

Metadaten der Felder anpassen.

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.

Unser E-Book zum Thema SAP Entwicklung

E-Book: SAP Entwicklung

Wir erklären Ihnen im E-Book die 3 wichtigsten Frameworks und zeigen Ihnen weitere Erfolgsbooster, die wir selbst einsetzen.

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.

 Save as PDF

Ingo Biermann

Ingo Biermann

Als Management- und Technologieberater unterstütze ich seit mehr als 15 Jahren große und mittelständische Unternehmen in Fragen der IT-Strategie und bin unterwegs in unterschiedlichen SAP-Themen wie SAP S/4HANA, User Experience und SAP Entwicklung.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren

In der Praxis kann es notwendig sein, Datenbankinformationen zwischen verschiedenen SAP-Systemen auszutauschen. Im Normalfall können Daten mit Hilfe eines Transportauftrags von einem System in ein anderes übertragen werden. Es gibt […]

weiterlesen

ABAP CDS Views sind mittlerweile vielen ABAP-Entwicklern ein Begriff. Diese bilden die Grundlage des virtuellen Datenmodells, über das wir in diesem Blog schon geschrieben haben. Doch welche besonderen Punkte gilt […]

weiterlesen

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Alexander Koessner-Maier
Alexander Kössner-Maier Kundenservice