Skip to content
NextLytics
Megamenü_2023_Über-uns

Shaping Business Intelligence

Ob clevere Zusatzprodukte für SAP BI, Entwicklung aussagekräftiger Dashboards oder Implementierung KI-basierter Anwendungen - wir gestalten zusammen mit Ihnen die Zukunft von Business Intelligence. 

Megamenü_2023_Über-uns_1

Über uns

Als Partner mit tiefem Prozess-Know-how, Wissen der neuesten SAP-Technologien sowie hoher sozialer Kompetenz und langjähriger Projekterfahrung gestalten wir die Zukunft von Business Intelligence auch in Ihrem Unternehmen.

Megamenü_2023_Methodik

Unsere Methodik

Die Mischung aus klassischem Wasserfallmodell und agiler Methodik garantiert unseren Projekten eine hohe Effizienz und Zufriedenheit auf beiden Seiten. Erfahren Sie mehr über unsere Vorgehensweise.

Produkte
Megamenü_2023_NextTables

NextTables

Daten in SAP BW out of the Box bearbeiten: Mit NextTables wird das Editieren von Tabellen einfacher, schneller und intuitiver, egal ob Sie SAP BW on HANA, SAP S/4HANA oder SAP BW 4/HANA nutzen.

Megamenü_2023_Connector

NextLytics Connectoren

Die zunehmende Automatisierung von Prozessen erfordert die Konnektivität von IT-Systemen. Die NextLytics Connectoren ermöglichen eine Verbindung Ihres SAP Ökosystems mit diversen open-source Technologien.

IT-Services
Megamenü_2023_Data-Science

Data Science & Engineering

Bereit für die Zukunft? Als starker Partner stehen wir Ihnen bei der Konzeption, Umsetzung und Optimierung Ihrer KI-Anwendung zur Seite.

Megamenü_2023_Planning

SAP Planning

Wir gestalten neue Planungsanwendungen mithilfe von SAP BPC Embedded, IP oder  SAC Planning, die einen Mehrwert für Ihr Unternehmen schaffen.

Megamenü_2023_Dashboarding

Dashboarding

Mit unserer Expertise verhelfen wir Ihnen auf Basis von Tableau, Power BI, SAP Analytics Cloud oder SAP Lumira zu aussagekräftigen Dashboards. 

Megamenü_2023_Data-Warehouse-1

SAP Data Warehouse

Planen Sie eine Migration auf SAP HANA? Wir zeigen Ihnen, welche Herausforderungen zu beachten sind und welche Vorteile eine Migration bringt.

Business Analytics
Megamenü_2023_Procurement

Procurement Analytics

Transparente und valide Zahlen sind vor allem in Unternehmen mit dezentraler Struktur wichtig. SAP Procurement Analytics ermöglicht die Auswertung von SAP ERP-Daten in SAP BI.

Megamenü_2023_Reporting

SAP HR Reporting & Analytics

Mit unserem Standardmodell für Reporting von SAP HCM mit SAP BW beschleunigen Sie administrative Tätigkeiten und stellen Daten aus verschiedenen Systemen zentral und valide zur Verfügung.

Megamenü_2023_Dataquality

Data Quality Management

In Zeiten von Big Data und IoT kommt der Vorhaltung einer hohen Datenqualität eine enorm wichtige Bedeutung zu. Mit unserer Lösung für Datenqualitätsmanagement (DQM) behalten Sie stets den Überblick.

Karriere
Megamenü_2023_Karriere-2b

Arbeiten bei NextLytics

Wenn Du mit Freude zur Arbeit gehen möchtest und dabei Deine berufliche und persönliche Weiterentwicklung nicht zu kurz kommen soll, dann bist Du bei uns genau richtig! 

Megamenü_2023_Karriere-1

Berufserfahrene

Zeit für etwas Neues? Gehe Deinen nächsten beruflichen Schritt und gestalte Innovation und Wachstum in einem spannenden Umfeld zusammen mit uns!

Megamenü_2023_Karriere-5

Berufseinsteigende

Schluss mit grauer Theorie - Zeit, die farbenfrohe Praxis kennenzulernen! Gestalte bei uns Deinen Einstieg ins Berufsleben mit lehrreichen Projekten und Freude an der Arbeit.

Megamenü_2023_Karriere-4-1

Studierende

Du möchtest nicht bloß die Theorie studieren, sondern Dich gleichzeitig auch praktisch von ihr überzeugen? Teste mit uns Theorie und Praxis und erlebe wo sich Unterschiede zeigen.

Megamenü_2023_Karriere-3

Offene Stellen

Hier findest Du alle offenen Stellenangebote. Schau Dich um und bewirb Dich - wir freuen uns! Falls keine passende Stelle dabei ist, sende uns gerne Deine Initiativbewerbung zu.

Blog
Hier für unseren monatlichen Newsletter anmelden!
Newsletter abonnieren
 

Generierung von SQLScript für SAP AMDP Transformationen mit ABAP

Seit SAP Release 7.40 SP05 können BW-Transformationen direkt auf der SAP HANA Datenbank ausgeführt werden, wenn keine ABAP-Routinen verwendet werden. Mit dem Einsatz von SQLScript Transformationen kann die Performance in einem Business Warehouse stark verbessert werden. In sogenannten AMDP (ABAP Managed Database Procedures) kann SQLScript ausgeführt werden. Die Outtab stellt dabei das Ergebnis der Transformation dar.

Für wiederkehrende Aufgaben eignet sich ein ABAP-Programm, welches zur automatischen Erzeugung eines SQLScript-Snippets verwendet werden kann. SAP Business Planning and Consolidation (BPC) hat hier eine ähnliche Automatisierung bereits im Standard verfügbar mit dem Programm “RSPLS_SQL_SCRIPT_TOOL”

Um wiederkehrende Aufgaben handelt es sich z.B. wenn lange Feldlisten eines DataStore-Objekts als Outtab der AMDP deklariert werden müssen oder bestehende ABAP-Transformationen auf SQLScript umgestellt werden sollen.

Lange Feldlisten eines DataStore-Objekts sind ein großer Coding Aufwand für den Entwickler und eine Automatisierung eines solchen Prozesses ermöglicht eine erhebliche Zeitersparnis. Durch die automatisierte Erzeugung von SQLScript ist ebenfalls sichergestellt, dass das Coding standardisiert und weniger fehleranfällig ist. Ein beispielhaftes generiertes SQLScript durch das ABAP Programm ist im folgenden Abschnitt dargestellt.

AMPD Screenshot SAP HANA SQLScript
Aufruf des ABAP Programms zur automatischen Generierung von SQLScript

********************************************************************
* DISCLAIMER *
*
* Gewählte Parameter: *
* InfoProvider: /NLY/PAAEMP *
*
* Date: 04.01.2022 *
* Time: 10:52:07 *
* Benutzer: NLY *
********************************************************************


  /* Vorlage fuer Outtab

outtab = SELECT
"/B787/S_PERNR" as "/B787/S_PERNR", -- Mitarbeiter
"SOURSYSTEM" as "SOURSYSTEM", -- Quellsystem ID
"DATETO" as "DATETO", -- gültig bis
"DATEFROM" as "DATEFROM", -- gültig ab
"/B787/S_TRECORDM" as "/B787/S_TRECORDM", -- Recordmode (Kunde)
"CALMONTH" as "CALMONTH", -- Kalenderjahr/-monat
"/B787/S_TREQUEST" as "/B787/S_TREQUEST", -- Request
"/B787/S_TLOADDAT" as "/B787/S_TLOADDAT", -- Load date - technisches Änderung
"/B787/S_TDELFLAG" as "/B787/S_TDELFLAG", -- Lösch Flag
"/B787/S_SCOST" as "/B787/S_SCOST", -- Kostenstelle
"/B787/S_SCOAR" as "/B787/S_SCOAR", -- Kostenrechnungskreis
"/B787/S_SDEFPS" as "/B787/S_SDEFPS", -- Kennzeichen für generelle Arbeit
"/B787/S_SFACTOR" as "/B787/S_SFACTOR", -- Faktor
"/B787/S_SDYAVG" as "/B787/S_SDYAVG", -- Anzahl Stunden pro Tag
"/B787/S_SWKAVG" as "/B787/S_SWKAVG", -- Anzahl Stunden pro Woche
"/B787/S_SMOAVG" as "/B787/S_SMOAVG", -- Anzahl Stunden pro Monat
"/B787/S_SYRAVG" as "/B787/S_SYRAVG", -- Anzahl Stunden pro Jahr
"/B787/S_SPROZT" as "/B787/S_SPROZT", -- Gewichtungsprozentsatz
"/B787/S_SSHORT" as "/B787/S_SSHORT", -- Objektkürzel
"/B787/S_SSTEXT" as "/B787/S_SSTEXT", -- Objektbezeichnung
"/B787/S_ORGID" as "/B787/S_ORGID", -- Organisationseinheit
"/B787/S_ORGHLEVL" as "/B787/S_ORGHLEVL", -- Hierarchiestufe
"/B787/S_ORGLVL1" as "/B787/S_ORGLVL1", -- Level 1 - ID
"/B787/S_ORGLVL2" as "/B787/S_ORGLVL2", -- Level 2 - ID
"/B787/S_ORGLVL3" as "/B787/S_ORGLVL3", -- Level 3 - ID
"/B787/S_ORGLVL4" as "/B787/S_ORGLVL4", -- Level 4 - ID
"/B787/S_ORGLVL5" as "/B787/S_ORGLVL5", -- Level 5 - ID
"/B787/S_ORGLVL6" as "/B787/S_ORGLVL6", -- Level 6 - ID
"/B787/S_ORGLVL7" as "/B787/S_ORGLVL7", -- Level 7 - ID
"/B787/S_ORGLVL8" as "/B787/S_ORGLVL8", -- Level 8 - ID
"/B787/S_ORGLVL9" as "/B787/S_ORGLVL9", -- Level 9 - ID
"/B787/S_SSTELL" as "/B787/S_SSTELL", -- Stelle
"/B787/S_SBUKRS" as "/B787/S_SBUKRS", -- Buchungskreis
"/B787/S_SWERKS" as "/B787/S_SWERKS", -- Werk
"/B787/S_SPERSA" as "/B787/S_SPERSA", -- Personalbereich
"/B787/S_SBTRTL" as "/B787/S_SBTRTL", -- Personalteilbereich
"/B787/S_SSTATUS" as "/B787/S_SSTATUS", -- Status der Vakanz
"/B787/S_STAT2" as "/B787/S_STAT2", -- Status Beschäftigung
"/B787/S_STAT1" as "/B787/S_STAT1", -- Status Kundenindividuell
"/B787/S_JUPER" as "/B787/S_JUPER", -- Juristische Person
"/B787/S_PERSG" as "/B787/S_PERSG", -- Mitarbeitergruppe
"/B787/S_PERSK" as "/B787/S_PERSK", -- Mitarbeiterkreis
"/B787/S_BTRTL" as "/B787/S_BTRTL", -- Personalteilbereich
"/B787/S_ABKRS" as "/B787/S_ABKRS", -- Abrechnungskreis
"/B787/S_ANSVH" as "/B787/S_ANSVH", -- Anstellungsverhältnis
"/B787/S_STELL" as "/B787/S_STELL", -- Stelle
"/B787/S_MOLGA" as "/B787/S_MOLGA", -- Ländergruppierung
"/B787/S_PLANS" as "/B787/S_PLANS", -- Planstelle
"/B787/S_VDSK1" as "/B787/S_VDSK1", -- Organisationsschlüssel
"/B787/S_PERSA" as "/B787/S_PERSA", -- Personalbereich
"/B787/S_GSBER" as "/B787/S_GSBER", -- Geschäftsbereich
"/B787/S_BUKRS" as "/B787/S_BUKRS", -- Buchungskreis
"/B787/S_NATIO" as "/B787/S_NATIO", -- Nationalität
"/B787/S_NATI2" as "/B787/S_NATI2", -- Zweite Nationalität
"/B787/S_NATI3" as "/B787/S_NATI3", -- Dritte Nationalität
"/B787/S_E_AGE" as "/B787/S_E_AGE", -- Alter
"/B787/S_C_AGE" as "/B787/S_C_AGE", -- Alter (Merkmal)
"/B787/S_GBDAT" as "/B787/S_GBDAT", -- Geburtsdatum
"/B787/S_PERID" as "/B787/S_PERID", -- Personal-Identifikationsnummer
"/B787/S_GESCH" as "/B787/S_GESCH", -- Geschlecht
"/B787/S_ORT01" as "/B787/S_ORT01", -- Ort
"/B787/S_SBGRU" as "/B787/S_SBGRU", -- Behindertengruppe
"/B787/S_SBFAK" as "/B787/S_SBFAK", -- Anrechnungsfaktor des Arbeitsamt
"/B787/S_SBPRO" as "/B787/S_SBPRO", -- Schwerbehinderung : Prozentsatz
"/B787/S_PSTLZ" as "/B787/S_PSTLZ", -- Postleitzahl
"/B787/S_STRAS" as "/B787/S_STRAS", -- Straße und Hausnummer
"/B787/S_ARBST" as "/B787/S_ARBST", -- Tägliche Arbeitsstunden
"/B787/S_CARBST" as "/B787/S_CARBST", -- Tägliche Arbeitsstunden (Merkmal
"/B787/S_WKWDY" as "/B787/S_WKWDY", -- Wöchentliche Arbeitstage
"/B787/S_CWKWDY" as "/B787/S_CWKWDY", -- Wöchentliche Arbeitstage (Merkma
"/B787/S_TEILK" as "/B787/S_TEILK", -- Kennzeichen Teilzeitkraft
"/B787/S_E_SCHKZ" as "/B787/S_E_SCHKZ", -- Arbeitszeitplanregel
"/B787/S_EMPCT" as "/B787/S_EMPCT", -- Arbeitszeitanteil
"/B787/S_CEMPCT" as "/B787/S_CEMPCT", -- Arbeitszeitanteil (Merkmal)
"/B787/S_WOSTD" as "/B787/S_WOSTD", -- Tatsächliche Wochenarbeitszeit
"/B787/S_CWOSTD" as "/B787/S_CWOSTD", -- Tatsächliche Wochenarbeitszeit (
"/B787/S_TRFAR" as "/B787/S_TRFAR", -- Tarifart
"/B787/S_TRFGB" as "/B787/S_TRFGB", -- Tarifgebiet
"/B787/S_TRFGR" as "/B787/S_TRFGR", -- Tarifgruppe
"/B787/S_TRFST" as "/B787/S_TRFST", -- Tarifstufe
"/B787/S_TRFKZ" as "/B787/S_TRFKZ", -- Gruppierung MaKr f Tarifregelung
"/B787/S_BSGRD" as "/B787/S_BSGRD", -- Beschäftigungsgrad in %
"/B787/S_CBSGRD" as "/B787/S_CBSGRD", -- Beschäftigungsgrad in % (Merkmal
"/B787/S_CTEDT" as "/B787/S_CTEDT", -- Befristet bis
"/B787/S_CTTYP" as "/B787/S_CTTYP", -- Vertragsart
"/B787/S_ARBER" as "/B787/S_ARBER", -- Ende Arbeitserlaubnis
"/B787/S_EINDT" as "/B787/S_EINDT", -- Ersteintrittsdatum
"/B787/S_KONDT" as "/B787/S_KONDT", -- Eintrittsdatum in Konzern
"/B787/S_ATZPH" as "/B787/S_ATZPH", -- Altersteilzeit Phase
"/B787/S_ATZMO" as "/B787/S_ATZMO", -- Altersteilzeit-Modell
"/B787/S_USRID" as "/B787/S_USRID", -- SAP Benutzer ID
"/B787/S_LFZED" as "/B787/S_LFZED", -- Lohnfortzahlungsende
"/B787/S_DOCNR" as "/B787/S_DOCNR", -- Belegnummer für Personenzeitdate
"/B787/S_KRGED" as "/B787/S_KRGED", -- Krankengeldende
"/B787/S_ANTAGE" as "/B787/S_ANTAGE", -- An-/Abwesenheitstage
"/B787/S_CANTAGE" as "/B787/S_CANTAGE", -- An-/Abwesenheitstage (Merkmal)
"/B787/S_ANSTUND" as "/B787/S_ANSTUND", -- An-/Abwesenheitsstunden
"/B787/S_CANSTUND" as "/B787/S_CANSTUND", -- An-/Abwesenheitsstunden (Merkmal
"/B787/S_ABRTAGE" as "/B787/S_ABRTAGE", -- Abrechnungsstage
"/B787/S_CABRTAGE" as "/B787/S_CABRTAGE", -- Abrechnungsstage (Merkmal)
"/B787/S_ABRSTUN" as "/B787/S_ABRSTUN", -- Abrechnungsstunden
"/B787/S_CABRSTUN" as "/B787/S_CABRSTUN", -- Abrechnungsstunden (Merkmal)
"/B787/S_AWART" as "/B787/S_AWART", -- Abwesenheitsart
"/B787/S_FLSTDAZ" as "/B787/S_FLSTDAZ", -- Flag: Beginn Abwicklung
"/B787/S_BGABW" as "/B787/S_BGABW", -- Beginn Abwesenheit
"/B787/S_KZFOKR" as "/B787/S_KZFOKR", -- Kennzeichen Folgeerkrankung
"/B787/S_KZMFKR" as "/B787/S_KZMFKR", -- Kennzeichen Mehrfacherkrankung
"/B787/S_LGTSICK" as "/B787/S_LGTSICK", -- Langzeit krank
"/B787/S_LGTABS" as "/B787/S_LGTABS", -- Langzeit abwesend
"/B787/S_KOSTL" as "/B787/S_KOSTL", -- Kostenstelle
"/B787/S_KOKRS" as "/B787/S_KOKRS", -- Kostenrechnungskreis
"/B787/S_FKBER" as "/B787/S_FKBER", -- Funktionsbereich
"/B787/S_MSTBR" as "/B787/S_MSTBR", -- Meisterbereich
"/B787/S_ORGEH" as "/B787/S_ORGEH", -- Organisationseinheit
"/B787/S_SPLANS" as "/B787/S_SPLANS", -- Planstelle
"/B787/S_TOHNEFS" as "/B787/S_TOHNEFS", -- Flag: ohne Fortschreibung
"/B787/S_TAKTST" as "/B787/S_TAKTST", -- Aktueller Stand
"/B787/S_TKZML" as "/B787/S_TKZML", -- Monatsletzter Kennzeichen
"/B787/S_HC_ME" as "/B787/S_HC_ME", -- Headcount (Monatsende)
"/B787/S_FTE_ME" as "/B787/S_FTE_ME", -- FTE (Monatsende)
"/B787/S_CNTCALD" as "/B787/S_CNTCALD", -- Kalendertage
"/B787/S_HC_AVG" as "/B787/S_HC_AVG", -- HC Durchschnitt
"/B787/S_FTE_AVG" as "/B787/S_FTE_AVG", -- FTE Durchschnitt
"/B787/S_COUNT" as "/B787/S_COUNT", -- Anzahl
"/B787/S_CNTWRKD" as "/B787/S_CNTWRKD", -- Arbeitstage
"/B787/S_CNTWRKDT" as "/B787/S_CNTWRKDT", -- Arbeitstage gewichtet
"/B787/S_UNIT1" as "/B787/S_UNIT1", -- Einheit
"/B787/S_UNIT2" as "/B787/S_UNIT2" -- Einheit
FROM :INTAB; */


Durch die im SQLScript generierte Beschreibung als Kommentar ist für den Entwickler einfach ersichtlich, um was für ein Feld es sich handelt, falls die technische Bezeichnung dies nicht direkt erkennbar macht. 


Laden Sie sich das Whitepaper herunter und steigern Sie die Leistung Ihres BW mit SQLScript

SAP SQLScript Whitepaper


Ein weiteres Szenario ist der Zielabgleich, um gelöschte und aktualisierte Datensätze im Ziel, sowie neue Datensätze aus der Quelle, zu identifizieren. Durch die Identifizierung dieser Datensätze kann z.B. ein Datumsfeld mit dem letzten Änderungsdatum versehen werden, um anschließend im Ziel feststellen zu können wann ein Datensatz verändert wurde. 

Die Einsatzmöglichkeiten der automatischen Generierung von SQLScript sind vielfältig. Sämtliche Logiken, die wiederkehrend in AMDP basierten Transformationen auftritt, können durch eine Automatisierung einfach durch den Entwickler erzeugt und einfach angepasst werden. 

AMDP code block_ABAP Programm

Änderungen am ABAP Programm sind einfach möglich

Die Vorteile einer automatischen Generierung von SQLScript sind groß. Die Kosten werden minimiert und Fehler im Coding vermieden. Durch die automatisierte Generierung kann die Qualität erhöht werden und Konsistenz über verschiedene AMDPs sichergestellt werden.

Es können beliebige DataStore-Objekte übergeben werden um dynamisch ein SQLScript zur weiteren Verwendung in AMDP zu erzeugen. Der Arbeitsaufwand des Entwicklers wird somit um ein vielfaches reduziert und das Coding ist weniger fehleranfällig. Selbst bei Änderungen der Struktur eines DataStore-Objektes sind keine großen Anpassungen notwendig. Das erneute Ausführen des Programms zur automatischen Generierung von SQLScript genügt um eine aktualisierte Outtab übergeben zu bekommen.

Planen Sie einen Umstieg auf SQLScript und benötigen Sie Unterstützung bei der Planung der richtigen Strategie? Oder benötigen Sie erfahrene Entwickler zur Umsetzung Ihrer Anforderungen? Zögern Sie bitte nicht, uns zu kontaktieren - wir beraten Sie gerne.

Erfahren Sie mehr über  SAP HANA SQLScript

avatar

Steven Nagy

Steven ist als SAP BW / BI-Berater tätig. Sein besonderer Fokus liegt dabei auf SAP BW und diversen Backend-Technologien wie SQLScript. Durch seine beiden Abschlussarbeiten im Studium der Wirtschaftsinformatik konnte er hier bereits tiefere Kenntnisse erlangen. In seiner Freizeit verbringt er gerne Zeit draußen und reist quer durch die Welt.

Sie haben eine Frage zum Blog?
Fragen Sie Steven Nagy

Gender Hinweis Aufgrund der besseren Lesbarkeit wird im Text das generische Maskulinum verwendet. Gemeint sind jedoch immer alle Menschen.

Blog - NextLytics AG 

Welcome to our blog. In this section we regularly report on news and background information on topics such as SAP Business Intelligence (BI), SAP Dashboarding with Lumira Designer or SAP Analytics Cloud, Machine Learning with SAP BW, Data Science and Planning with SAP Business Planning and Consolidation (BPC), SAP Integrated Planning (IP) and SAC Planning and much more.

Informieren Sie mich über Neuigkeiten

Letzte Beiträge