Für schnelle Instant-Reportings, die praktisch auf „Knopfdruck“ benötigt werden, besteht in großen Unternehmen durch Restriktionen der IT oft nicht die Möglichkeit über SAP Standardschnittstellen auf Funktionsbausteine oder BAPIs zuzugreifen. Benötigt man die Versorgung von SAP Stammdaten einer Nicht-SAP-Lösung, welche mit vorrübergehenden Inkonsistenzen betrieben werden kann, lassen sich Stammdaten über die Transaktion SE16 besorgen. Diese können anschließend in den Microsoft SQL Server übertragen werden.
Die Vorteile von replizierten Daten liegen auf der Hand:
- Keine Belastung des SAP Systems. Der SQL Server übernimmt die Anfragelast.
- Höhere Performance (vorhersehbare Leistungseinbrüche führen nicht zum Wegbrechen der Datenquelle, deshalb…)
- Höhere Verfügbarkeit der Daten
- Unsichere Daten (z.B. Personalinformationen) können von Stammdaten getrennt werden
- Ein fachkundiger Anwender kann entscheiden ob bestimmte Daten, die z.B. für Kanbanzwecke/Lieferantenreportings (VMI)/… benötigt werden, im Internet verfügbar sein dürfen. Diese Daten könnten auf einen einfachen MS SQL Server in der DMZ repliziert werden.
- Die Daten können über eine Web-Anwendung und eine beliebige Web-Technologie eingelesen werden. Ein Web-Entwickler hat die volle Kontrolle auf relationaler Ebene und kann genau bestimmen, was mit den Daten geschieht (keine Seiteneffekte durch unbekannte Logik in den SAP-Funktionsbausteinen).
Herunterladen von SAP Stammdaten aus der Transaktion SE16
Als Anmeldesprache bitte Sicherheitshalber „DE“ benutzen
Hierfür wird die Transaktion SE16 zunächst aufgerufen (Berechtigungen müssen vorhanden sein) und die entsprechende Stammdatentabelle selektiert.
Interessante Tabellen für den Materialstamm sind:
- MAKT (Materialtexte)
- MARA
- MARC
- MARD
- MPOP
- ….
Nachdem die Liste angezeigt wird, öffnet man mit einem Rechtsklick auf der Tabelle das Kontext-Menü und wählt die Option „Download“.
Für einen schnellen Download wählen wir die Option „unkonvertiert“. Die Option „Tabellenkalkulation“ ist aufgrund älterer Office-Versionen nur für eine Datensatzmenge von 65000 Einträgen interessant.
Als Download-Ort nehmen wir C:\Temp\mattexte.txt . Öffnet man die Heruntergeladenen Daten erhält man ein scheinbar unmögliches Format der Form:
Tabelle: MAKT Angezeigte Felder: 5 von 5 Feststehende Führungsspalten: 3 Listbreite 0250 ---------------------------------------------------------------------------------------------------------------------- | |MANDT|MATNR |SPRAS|MAKTX |MAKTG | ---------------------------------------------------------------------------------------------------------------------- | |100 |00022837 |E |Stoßdämpfer 3.8.01758 |Stossdaempfer 3.8.01758 | | |100 |0-275-W-5-0-NAG |E |Wagenständer 275CM |Wagenstaender 275CM |
Durchforstet man die runtergeladene Datei, stellt man fest das der Header-Anteil öfter vorkommt, je mehr Datensätze man runtergeladen hat. Bei einer Menge ab 1000000 Stück wiederholt sich der Header regelmäßig und scheinbar willkürlich, so dass es schwer erscheint ein Import-Tool dafür zu implementieren.
Doch dieses Format lässt sich ohne Probleme mit dem vorgestelltem .NET-Programm in einer hohen Geschwindigkeit (1.000.000 Datensätze in 1 Minute) in den Microsoft SQL Server importieren. Hierbei wird das „BULK INSERT“-Verfahren verwendet. Dabei wird nicht 1.000.000 Mal ein INSERT-Statement ausgeführt, sondern die Datei binär zum Server übertragen.
Hochladen der SAP-Stammdaten in den MS SQL Server
DOWNLOAD DES KOSTENLOSES IMPORTERS VON SE16 ZU MS SQL SERVER