Das Sommer-Release des Cadaxo SQL Cockpits ist da! Bei der neuen 3.1 Version wurde der Fokus ganz klar auf Bug-Fixing gelegt, um den komplett neuen Parser, der alle neuen Open SQL Features am ABAP 7.40 unterstützt, noch stabiler zu machen.
Der Report Generator wurden ebenfalls auf Vordermann gebracht. Es können nun alle SQL Statements, die die neue Open SQL Syntax enthalten oder Zugriff auf CDS Views bieten, auf Knopfdruck in ein gewöhnlichen ABAP Report übernommen werden.
Neue Features
Auch diese neuen Features sind Bestandteil des brandneuen Cockpit Releases 3.1
Element Info
Die Element Info sorgt für eine noch bessere Usability im SQL Cockpit und lässt Sie noch schneller Ihre SQL Statements gestalten. Sie können sich nun alle notwendigen Informationen zu einer DB-Tabelle anzeigen lassen, indem Sie nur mit dem Mauszeiger über den Tabellen-Namen fahren.
Sie sehen alle wichtigen Informationen, wie Spaltennamen und die dazugehörige Beschreibung auf einen Blick. Mit Doppelklick oder Drag&Drop können Sie die Spaltennamen einfach in den Editor-Bereich des SQL Cockpits übernehmen uns sparen so wertvolle Zeit, indem Sie nicht selbt die Spaltennamen suchen und eintippen müssen.
Dieses kurze Video zeigt das neue Feature auf einen Blick: Element Info Video
Vergleichen von Ergebnislisten
Ab sofort können nun nicht nur gleiche Ergebnislisten miteinander verglichen werden, sondern auch Listen, die nicht den komplett gleichen Aufbau haben. Es müssen lediglich die Schlüsselfelder übereinstimmen. Alle namensgleichen Spalten werden gegenübergestellt und die Differenzen aufbereitet dargestellt.
Dabei können auch gespeicherte Listen, die einen unaktuellen Datenbestand zeigen, mit aktuell ausgewerteten Ergebnislisten verglichen werden.
Das Vergleichstool des SQL Cockpits bietet zudem eine komfortable Oberfläche mit vielen Funktionen, um die Differenzen des Vergleichs besser auswerten zu können.
Mit den folgenden Informationen und Video-Tutorials können auch Sie von den Vorteilen des SQL Cockpits profitieren.
Cockpit Überblick
Sie wollen keine Zeit verschwenden und sofort mit Ihren Auswertungen losstarten? Nehmen Sie sich einen Augenblick Zeit und sehen Sie mit diesem Video alle wichtigsten Funktionen des Cockpits auf einem Blick. Nutzen Sie das volle Potential des Cockpits, um schnell zu Ihren Daten zu kommen.
SQL
Unendliche Möglichkeiten beim Auswerten mit den SQL Cockpit. Durch Ausführen mehrerer SELECTs gleichzeitig, lassen sich auch die komplexesten Datenkonstellationen auf einem Blick auswerten. Hier ein kurzes Video!
Varianten
Mit den SQL Cockpit Varianten können Sie nicht nur ihre SELECT-Statements speichern, sondern auch mit anderen teilen. Hier ein kurzes HowTo-Tutorial.
Symbole
Verfeinern Sie ihre SQL Statements und sparen Sie Zeit mit Hilfe von Symbolen. Neben eigenen Variablen, die Sie selbst definieren und in Ihrem SELECT-Statement verwenden können, lassen sich auch Systemsymbole verwenden. Verschaffen Sie sich hier einen Überblick.
Historie
Sie wollen ein SELECT-Statement, dass Sie vor einer Woche abgesetzt haben, nochmal ausführen, haben jedoch vergessen es zu speichern? Kein Problem – im SQL Cockpit sehen Sie alle Ihre abgesetzten Statements und können es immer wieder ausführen. Hier sehen Sie wie!
Batch
Langläufer? Kein Problem – Jede Abfrage lässt sich auch als ein Hintergrund-Job definieren. Komfortabel erstellen Sie in Sekunden einen richtigen Batch-Job und müssen sich anschließend nicht durch die Spool-Aufträge quälen, sondern können bequem das Erlebnis im SQL Cockpit anschauen. Hier zum Video!
Trace
Falls Sie Ihre SQL Statements analysieren und optimieren möchten, steht bei jedem ausgeführten Statement auch die Laufzeit. Wenn Ihnen das nicht reicht, können Sie noch den SQL-Trace einschalten, um Ihre Statements zu analysieren. Hier sehen Sie wie.
Report Generator
Das Cockpit hat für jeden was. Auch Endanwender bzw. Benutzer ohne Open SQL Kenntnisse können vom Cockpit profitieren. Mit einem Mausklick lassen sich alle Datenabfragen als ein ABAP Report generieren. Durch Klicken auf den Template-Button (Zauberstab) öffnet sich ein Wizard, mit dem Sie den Report so bauen können, dass alle Anforderungen erfüllt sind. Vorgefertigtes Coding, selbst für komplexere Anforderungen, wie z.B. ALV Ereignishandler usw.
Das langerwartete Cadaxo SQL Cockpit 3.0 ist jetzt da! Ein komplett neuer Parser, mit dem sich vollkommen neue Möglichkeiten bei der Gestaltung der SQL Statements ergeben, schmückt die neuste Cockpit Version.
Hier eine Auflistung der Cockpit 3.0 Neuerungen:
Unterstützung neuer Open SQL Funktionen
Anzeige und Zugriff von CDS Views
Generische Spaltenangaben mit dbalias~*
Auto-Vervollständigung (Code-Completion)
Unterstützung der Cockpit Symbole im kompletten Select-Statement
Unterstützung neuer Open SQL Funktionen
Seit SAP ABAP 7.40, SP8 gibt es nun, nach langem Warten, folgende neuen Open SQL Funktionen:
Typanpassung mit CAST (momentan nur von DEC zu FLTP)
COALESCE Funktion
Fallunterscheidung mit CASE
„Das soll NEU sein??“, werden sich nun einige von euch fragen. Die Antwort ist „JA“. Während in anderen Datenbanksprachen Funktionen, wie CASE, UNION und CAST, im Basisrepertoire inbegriffen sind und seit je her unterstützt werden, war das bei Open SQL bisher nicht der Fall. Schon seit den Anfängen von SAP kannte Open SQL nur eine sehr abgespeckte Version der kompletten SQL Syntax und wurde bisher auch kaum erweitert.
Erst als die SAP eigene Datenbank SAP HANA etabliert war, mit ihr die Strategie „Code Push Down“ geschaffen wurde, hat sich bei Open SQL auch einiges getan. Ab ABAP Release 7.40, Servicepaket 8, stehen neue SQL Funktionen zur Verfügung.
Das folgende Beispiel zeigt ein SQL Statement mit folgenden neuen SQL Funktionen:
Fallunterscheidung mit CASE, Verketten von Zeichenketten mit &&, COALESCE Funktion
Für eine detaillierte Übersicht der neuen Open SQL Features, mit einiges Praxisbeispielen, hier klicken: http://www.cadaxo.com/?p=4555
Anzeige und Zugriff von CDS Views
Als weiteres Feature in der neuen Cockpit 3.0 Version, das unbedingt erwähnt werden sollte, ist die Unterstützung von CDS Views.
CDS Views sind relativ neu und deswegen noch nicht weit verbreitet. Ich bin mir jedoch sicher, dass sie, in einiger Zeit, in aller Munde sein werden. Da die bisherigen Views in SAP sehr eingeschränkt sind, hat man jetzt bei den CDS Views sogar mehr Möglichkeiten als mit den neuen Open SQL Funktionen.
Hier sind nämlich noch neben den ganzen neuen Open SQL Features, solche Funktionen, wie UNION, UNION ALL, Assoziationen und Annotationen, möglich.
Also noch mächtigere Möglichkeiten eine View zu bauen. Das bedeutet auch Entlastung des Anwendungsservers, indem Daten-Intensive Logik in die View und somit auf die Datenbank ausgelagert wird. Im besten Fall ist im Report nur noch ein simples Select-Statement auf die CDS View, ohne komplizierte WHERE-Bedingungen, notwendig.
Hier ein Beispiel einer CDS View:
Die Anlage und Pflege der CDS Views ist nur mit ADT (ABAP Development Tools) im Eclipse möglich. Jedoch bietet Cockpit 3.0 nun die einzige Möglichkeit im SAP GUI, sich die View Definition direkt anzeigen zu lassen.
Mit Doppelklick auf den Namen der CDS View öffnet sich ein Popup mit Informationen zur View und dem DDL Coding.
Mittels Open SQL kann man direkt im Cockpit Editor das Select-Statement ausführen und sieht die Ergebnisliste.
Generische Spaltenangaben mit dbalias~*
Die Spaltenangabe kann bei JOIN Abfragen nun generisch mit dbalias~* vorgenommen werden.
Code Completion
Als weiteres Feature der Cockpit 3.0 Version, das erheblich zur Usability des Cockpits beiträgt und jeden Anwender das Schreiben der SQL Statements erheblich erleichtert, ist die Auto-Vervollständigung.
Es wurde die Standard Code-Completion des SAP Editors verwendet. Das Aktivieren erfolgt mit STRG+SPACE
Symbole
Bisher war bei Symbolen die Einschränkung gegeben, dass sie nur in der WHERE-Bedingung verwendet werden dürfen. Nun werden sie im kompletten Select-Statement unterstützt.
Mit dem Release 7.40, SP5 und SP8, hat sich im Open SQL einiges getan. SAP hat nach einem längeren Stillstand bei Open SQL endlich an den SQL92-Standard, der aus dem Jahre 1992 stammt, angeknüpft und unterstützt nun Features, wie UNION und CASE.
Neue Syntax
Mit 7.40, SP5 gibt es einen neuen SQL Parser im ABAP Kernel und somit auch eine neue SQL Syntax. Das Verwenden dieser neuen Syntax ist auf jeden Fall ein Muss, wenn man die neuen SQL Features nutzen möchte.
Hier die zwei wichtigsten Punkte davon:
Aufgelistete Spaltennamen können und sollen durch Komma getrennt werden
Bei Hostvariablen soll ein @ vorangestellt werden
Nachfolgend ein Beispiel mit der neuen SQL Syntax:
1
2
3
4
5
6
7
DATA:l_hugo TYPECLENGTH10.
SELECT mc_name1,
@l_hugo AShugo,
@sy-uname ASuserid,
‘X‘AStrue
FROM TABLE BUT000 INTO@ls_result.
Open SQL Expressionen
Die Open SQL Expressionen werden in der Spaltenliste nach dem SELECT Befehl verwendet. Das Ergebnis dieser Expression wird direkt auf der Datenbank berechnet und in die entsprechende Spalte geschrieben. Dabei kann man sowohl andere Spalten, als auch Hostvariablen für die Berechnung verwenden.
Dabei ist hier das Stichwort „Code push down“. Diese Strategie ist in letzter Zeit in aller Munde. Ursprünglich wurde es immer nur mit der SAP HANA in Verbindung gebracht. Doch spätestens jetzt, mit diesen neuen Open SQL Features, eröffnen sich ganz neue Möglichkeiten für Entwickler, auch mit einer traditionellen Datenbank darunter.
Mit „Code push down“ soll so viel Anwendungslogik wie möglich, vom Applikationsserver auf die Datenbank verlagert werden. D.h., dass alle rechen- bzw. daten-intensive Logik, die die Datenbank berechnen kann – es auch tut.
Es liegt natürlich im Ermessen des Entwicklers, die Logik sinnvoll auszulagern. In Anbetracht der Performance lässt sich definitiv eine Verbesserung erzielen.
Typanpassung mit CAST (momentan nur von DEC zu FLTP)
COALESCE Funktion
Fallunterscheidung mit CASE
Es können auch mehrere SQL Expressionen miteinander kombiniert und durch Verwendung von runden Klammern, auch priorisiert werden.
Nachfolgend einige Beispiele der SQL Expressionen:
Zu Demozwecken wurde eine eigene DB-Tabelle ‚ZDATENTYPEN‘ verwendet, deren Spaltennamen, nach den Datentypen der jeweiligen Spalte, vergeben wurden.
Beispiel einer arithmetischen Kalkulation:
1
2
3
4
5
SELECT INT1 ASI1,
INT2 ASI2,
INT4 ASI4,
100+INT4 ASI4CALC
FROM zdatentypen.
Ergebnis:
Erklärung: Beispiel einer einfachen Addition. Sie ersten drei Spalten werden direkt ausgegeben. Die vierte Ausgabespalte zweigt den Wert der dritten Spalte + 100. Der Spaltennamen der vierten Spalte lautet „I4CALC“.
Beispiel einer arithmetischen Funktion:
Hier ein Beispiel einer Auf- und Abrundung:
1
2
3
4
5
SELECT DBKEY,
DEC8_2,
CEIL(DEC8_2)ASceil,
FLOOR(DEC8_2)ASfloor
FROM zdatentypen.
Ergebnis:
Erklärung: Mit der arithmetischen Funktion CEIL findet eine Aufrundung, mit FLOOR eine Abrundung statt.
Beispiel eines Castings:
1
2
3
SELECT dec8_2,
CAST(dec8_2 asFLTP)AScast
FROM zdatentypen.
Ergebnis:
Erklärung: In der zweiten Spalte wurde das Feld, das einen dezimalen Datentypen hat, als Float ausgegeben.
!! Achtung: mit SP8 ist der CAST nur von DEC auf FLTP möglich !!
Beispiel Verketten von Zeichenketten:
1
2
3
4
SELECT char10,
char20,
char10&&';'&&char20 asconcatenate
FROM zdatentypen.
Ergebnis:
Erklärung: In der dritten Spalte werden die ersten zwei Zeichenketten zusammen, durch ein Semikolon getrennt, ausgegeben.
Beispiel COALESCE:
1
2
3
4
5
SELECT partner~partner,
COALESCE(b~addrnumber,'NO ADDRESS')ASaddrnr
FROM but000 ASpartner
LEFT OUTER JOIN but020 ASaddresslink
OF addresslink~partner=partner~partner.
Ergebnis:
Erklärung: Liefert die Join-Verknüpfung ein Ergebnis aus der BUT020, wird die Adressnummer in die zweite Spalte geschrieben, ansonsten wird der Wert „NO ADDRESS“ hineingeschrieben.
Beispiel einer Fallunterscheidung mit CASE:
1
2
3
4
5
6
SELECT type,
CASEWHEN type='1'THEN'Person'
WHEN type='2'THEN'Unternehmen'
ELSE'Unbekannt'ANDAStype_desc,
mc_name1
FROM but000.
Ergebnis:
Erklärung: In der zweite Spalte, vom Namen TYPE_DESC, wird je nach TYPE = 1, der Wert „Person“ und bei TYPE = 2, „Unternehmen“ hineingeschrieben. Bei allen anderen Werten, wird „Unbekannt“ ausgegeben.
WHEN type='2'THEN('Unternehmen'&&'/'&&type)
ELSE'Unbekannt'ANDAStype_desc,
mc_name1
FROM but000.
Ergebnis:
Erklärung: Hier wurde einer Fallunterscheidung mit CASE und eine Verkettung vom Zeichenketten miteinander kombiniert.
CDS – Core Data Services
Bei den CDS handelt es sich um eine neue Art der View-Definition in SAP. Nachdem es bei den traditionellen Datenbank-Views sehr viele Einschränkungen gibt, wie keine Outer Joins, keine komplexen Joins, keine Kommentare, kein Union, keine View auf eine View usw. , hat sich dahingehend mit den CDS Views ein revolutionärer Fortschritt entwickelt. Es gibt keine Einschränkungen mehr. Mittels Datenbank-unabhängigen DDL statements (Data Definition Language) sind der Kreativität und Komplexität fast keine Grenzen mehr gesetzt.
DDL umfasst die komplette Data Definition Language vom SQL und erweitert es um die Möglichkeit sogenannte Annotationen und Assoziationen zu definieren. Hier eine Auflistung der Möglichkeiten:
Als dritter Newcomer und „Code push down“-Vertreter, darf ich AMDP vorstellen. ABAP Managed Database Procedures (AMDP) sind sogenannte Prozeduren, auch bekannt als „Stored procedures“. Diese sind in nativer Datenbank-Sprache implementiert. Momentan ist SAP HANA, die einzige Datenbank, die AMDPs unterstützt.
Dazu gibt es ein klassenbasiertes Framework, mit dem sich AMDP Prozeduren verwalten und aufrufen lassen. Eine AMDP Klasse implementiert das spezielle Interface (IF_AMDP_MARKER_HDB). Bei der Methodenimplementierung muss die Datenbank und die entsprechende Datenbank-Sprache angegeben werden. Momentan sind nur SQL-Script und die SAP HANA möglich.
Die Pflege von AMDPs erfolgt nur mit ADT (ABAP Development Tools) in Eclipse.
Am 5. November 2015 veranstalte die Firma Cadaxo gemeinsam mit der SAP die erste SAPUI5 CodeJam in Wien. Zweck dieser CodeJam war es Entwickler zusammenzubringen, um gemeinsam die neue SAP Technologie SAPUI5 kennenzulernen, gemeinsam auszuprobieren, praxisnah zu entwickeln und dabei Spaß haben.
Die SAP Expertin Denise Nepraunig führte diese Veranstaltung und stand den Teilnehmern mit Rat und Tat zur Seite. Nach einer kleinen Einführung in die Materie, dem Kennenlernen des WebIDE, der Entwicklungsumgebung für SAPUI5 Apps, ging es gleich ran an die Tasten.
Sowohl Erfahrene SAPUI5 Entwickler, als auch Beginner befassten sich intensiv mit dem Thema und konnten am Ende des Tages beachtliche, eigens-programmierte SAPUI5 Apps vorweisen.
Trotz der anstrengenden Arbeit, kam der Spaß nicht zu kurz:
Dieses hervorragende Mittagessen haben wir uns redlich verdient:
Nach getaner Arbeit haben wir den Abend bei dem einen oder anderen Glas Bier und Wein, gemütlich ausklingen lassen…
Wem die Fotos nicht genügen, hier noch ein kurzes Video über die SAPUI5 CodeJam: SAP CodeJam SAPUI5 Wien
Nach so viel positives Feedback, können wir beruhigt sagen, dass es ein gelungenes Event war, bei dem für jeden was dabei war. Ich freue mich schon auf die nächste SAP CodeJam in Wien.
Ich möchte mich auch bei allen Teilnehmern bedanken und natürlich aus bei Denise! CodeJam rocks!
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Dauer
Beschreibung
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.