Webinar – ABAP® 7.55 Releaseabhängige Änderungen

Vielen Dank für Ihre Teilnahme an unserem Webinar!

Unterlagen/Links zum Webinar „ABAP 7.55 Releaseabhängige Änderungen

Links

Blogs/Links

Unsere nächtes Webinar

ABAP SQL Währungsumrechnung

ABAP® 7.55 – ABAP® SQL – Währungsumrechnung

In den CDS Views kann die Funktion zur Währungsumrechnung bereits seit 7.40 verwendet werden. In ABAP SQL, also direkt im SELECT, wurde diese Funktion nun mit ABAP 7.55 aufgenommen. Nachfolgend ein einfaches Beispiel in dem ein Wert ProductionCosts von Währung Currency nach USD umgerechnet werden soll:

Funktion CURRENCY_CONVERSION

Die Funktion zur Umrechnung heißt CURRENCY_CONVERSION( ) . In den Klammern gibt es einige Pflichtangaben und ein paar weitere optionale Angaben.

Parameter

Folgende Parameter müssen angegeben werden:

  • amount – Betragsfeld welches umgerechnet werden soll
  • source_currency – Ausgangswährung
  • target_currency – Zielwährung
  • exchange_rate_date – Tagesdatum mit dem die Umrechnung vorgenommen werden soll

Ergänzend dazu können weitere Angaben für die Berechnung vorgenommen werden. Beispielsweise wie gerundet wird oder wie die Dezimalstellen berücksichtigt werden sollen. Oh ja, die Sache mit den Dezimalstellen (Wer erinnert sich an an die italienische Lire?) wurde noch im R/2 erfunden und ist auch im aktuellsten ABAP Release vorhanden.

 

Code Completion und Elementinfo im SQL Cockpit

Heute habe ich beim Testen ein für mich völlig unbekanntes Feature im SQL Cockpit entdeckt. Und das soll was heißen, bin ich doch einer der Entwickler hinter dem Tool und glaubte eigentlich alle Features zu kennen.

Jedenfalls gibt es im SQL Cockpit eine sogenannte Elementinfo. In dieser sieht man einfach die Struktur zu einer Datenbanktabelle oder einem CDS View. Die Elementinfo wird automatisch ermittelt, sobald man mit dem Cursor für knapp eine Sekunde auf einer Tabelle oder einem CDS View stehen bleibt. Man kann z.B. Felder per Drag & Drop aus der Elementinfo in den Query-Editor ziehen. Ein sehr, sehr hilfreiches Feature. Soweit so gut:

Dann hab ich heute beim Testen die implementierte Code Completion verwendet um nach speziellen Tabellen zu suchen. Und dabei ist mir nun aufgefallen, dass unsere Elementinfo auch ermittelt wird, wenn man im Code Completion Popup eine der vorgeschlagene Tabellen durchscrollt.

Zuerst war ich etwas überrascht aber nach näherer Betrachtung unserer Implementierung war es aber schnell klar. Ohne zu wissen, haben wir beim Einbau der Elementinfo auch auf Events der Code Completion reagiert. War so nicht direkt geplant, dafür um so erfreulicher.

Weitere Infos zur Elementinfo

  • Angezeigt werden folgende Spalteninformationen:
    • Keyflag
    • Feldname
    • Type/Länge
    • Datenelement
    • Kurzbeschreibung
  • Die Auslieferungsklasse von Datenbanktabellen wird angezeigt
  • Navigationsmöglichkeit zum Datenelement
  • Mehrfachauswahl von Spalten für gemeinsames Drag & Drop / Doppelklick möglich
  • Anzeige von Datenbanktabellen oder CDS Views
Status & Farben in CDS basierten Fiori Elements Anwendungen

Status & Farben in CDS basierten Fiori® Elements Anwendungen

In Fiori Elements Anwendungen können Statusicons/Statusfarben durch Annotations gesetzt werden. Natürlich auch im CDS View. Dadurch können positive, negative oder neutrale Informationen besonders hervorgehoben werden. Im nachfolgenden Beispiel wird eine textuelle Statusinformation sowohl durch die entsprechende Farbe als auch das passende Symbol hervorgehoben.

 

Umsetzung mit CDS View Annotations

Die Statusinformation muss in einem eigenen CDS Feld vorhanden sein und kann folgende Werte enthalten:

  • 0 Grau
  • 1 Rot
  • 2 Gelb/Orange
  • 3 Grün

Beispielsweise könnte ein Feld StatusColor im CDS View (meist der Interface View) wie folgt gesetzt werden:

Hier wird einfach anhand des Statustextes im Feld _status.Description ein neues Feld StatusColor mit dem entsprechenden Wert gesetzt.

Im Consumption View bzw. In der Metadata Extension ist die Verwendung dann denkbar einfach und durch die UI.lineItem Annotation criticality definierbar:

Durch die zusätzliche Annotation criticalityRepresentation: #WITHOUT_ICON kann die Ausgabe des Icons unterdrückt werden:

Das Ergebnis sieht dann wie folgt aus:

Eine ähnliche Vorgehensweis ist bei vielen anderen Fiori Elements Annotations möglich und z.B. gut über die Codecompletion auffindbar. Beispielsweise bei den Facets oder Feldgruppen.

Ich habe die Farben z.B. in einer Anwendung zur Darstellung von Datenbank Differenzen eingesetzt. Dadurch konnten kritische Abweichungen besonders gekennzeichnet werden.

Benennen der Ergebnisliste

Benennen der Ergebnisliste

Wenn man im SQL Cockpit viele Listen gleichzeitig darstellen muss, kann man schon mal die Übersicht verlieren. Deshalb haben wir bereits vor einigen Releases die Möglichkeit zum Benennen der Ergebnislisten ergänzt.

Mit dem Kürzel *&%HEADER <name der liste> direkt vor einer SQL Abfrage, wird der Text <name der liste> als Überschrift in der Ergebnisliste verwendet.

SQL Cockpit_Releaseinfos

Cadaxo SQL Cockpit 3.7 – Releaseinfos

Die SQL Cockpit Version 3.7 ist fertig und bietet wieder ein paar Korrekturen/Verbesserungen und einige interessante neue Features. Nachfolgend ein Überblick über die wichtigsten Neuerungen.

Tabs Layout

Bisher konnten mehrere Listen in folgenden drei Layouts dargestellt werden: Vertikal, Horizontal oder Matrix. Mit diesem Release haben wir die neue Layout-Variante Tabs ergänzt. Dadurch wird immer nur eine Ergebnisliste dargestellt und nutzt somit den gesamten Ergebnisbereich. Im Header-Bereich der Listen kann zwischen den Ergebnislisten hin- und hergeschalten werden.

Domain Text

Die Beschreibungstexte von Domänen-Festwerten können nun in die Liste automatisch mit aufgenommen werden. Für Spalte mit einer Domäne wird eine zweite Spalte mit gleicher Überschrift erzeugt in welcher der Beschreibungstext des Festwerts enthalten ist. Dieses Feature ist vorerst nur verfügbar, wenn der strikte ABAP SQL Modus verwendet wird. (strikter Modus: Select Felder mit Beistrich getrennt, … )

Listenvergleich

Im Bereich des Listenvergleichs haben wir eine zweite Darstellungsform des Ergebnisses eines Vergleich aufgenommen. Bisher wurden die Spalten der beiden Listen nebeneinander dargestellt. Durch die neue Darstellung werden die Spalten nun untereinander dargestellt.

Darstellung nebeneinander Darstellung untereinander

CSV Export

Beim CSV Export von Ergebnislisten erscheint nun vor dem Export ein Popup in dem folgende Einstellungen vorgenommen werden:

Report Template Erweitert – Gruppierung von Selektionsparametern

Im Wizard zur Generierung eines Reports mit dem erweiterten Template, kann die neue Funktion Tabellen-Auswahlblöcke markiert werden. Im generierten Report werden dann die Selektionsfelder nach ihrer Tabellenzugehörigkeit in eigene Selektionsblöcke gruppiert.

 

Ausblick 4.0

Nach dem Release ist vor dem Release. Im nächsten SQL Cockpit Release werden wir nun die länger geplanten tiefgreifendern Erweiterungen vornehmen um alle ABAP SQL Select Operationen (CTE, … ) eines S/4 HANA Systems zu unterstützen! 

Wir rechnen damit, dass das SQL Cockpit 4.0 im 3. Quartal 2022 erscheinen wird. 

 

SAP Community Call

SAP® Community Call – Was muss ein ABAP® Entwickler wissen um in S/4 bestehen zu können

Am 15. Dezember 2020 haben wir in einem von der SAP organisierten Community Call über ABAP und was ein Entwickler unbedingt wissen sollte um in S/4 bestehen zu können gesprochen. Natürlich gäbe es viel mehr Themen und mancher Teilnehmer sieht den einen oder anderen Punkt vielleicht anders. Jedenfalls haben wir im Call über die aus unserer Sicht wichtigsten Punkte gesprochen:

  • ABAP Syntax: ABAP Objects, Expressions
  • Code Pushdown: SQL Expressions, CTEs, CDS Views, AMDP
  • IDEs: ADT, BAS, Visual Studio Code
  • Tools in ABAP: Statische Codechecks, Analysetools in ABAP
  • Programmiermodelle: BOPF, RAP, OData, Fiori Elements, Gateway
  • Erweiterbarkeit: OnPrem, In-App, Side-by-Side
  • ABAP Steampunk
  • ABAP Open Source: dotabap.org, abapgit
  • Clean Code: Clean ABAP, Refactoring, Unit Tests

Der Community Call wurde aufgezeichnet und steht via https://www.youtube.com/watch?v=MdHwS_C7mHE&feature=youtu.be zur Verfügung.

PDF Slides mit Links: SAP Community Call S4ABAP Link

Webinar – SAP Fiori® Elements

Vielen Dank für Ihre Teilnahme an unserem Webinar!

 

Mit den SAP Fiori Elements hat uns SAP ein ziemlich cooles Werkzeug in die Hand gegeben, welches die Erstellung von Fiori Anwendungen extrem beschleunigt und vereinfacht. Als ABAP Entwickler kann man sich auf das Wesentliche konzentrieren, während sich das SAP Fiori Elements Framework darum kümmert, dass ein schönes, einheitliches Fiori Userinterface generiert werden.

In diesem Webinar haben wir einen Überblick über die SAP Fiori Elements vermittelt. Angereichert um ein paar live Demos.

Diesmal hat uns erneut Sören Schlegel von der Consilio unterstützt. Vielen Dank dafür!

Da wir wesentlich mehr Demos vorbereitet hätten, werden wir das nächste Webinar auch zum Thema „SAP Fiori Elements“ machen. Diesmal aber – No Slides, Just Code! Weitere Details weiter unten in diesem Blog bzw. direkter Link zur Anmeldung hier: SAP Fiori Elements Part 2 – Just Code.

Slides & Video

Links

Übersicht

SAP Blogs

Videos

Developer Tutorials

Buchtipp

Nicht vergessen, als DSAG Mitglied bekommt man bei SAP Press einen Preisnachlass. https://www.rheinwerk-verlag.de/dsag

Sonstige Links

Unser nächstes Webinar

Heuer findet noch ein weiteres Webinar statt. Da wir viel umfangreichere Live Demos vorbereitet hätten, wollen wir einen 2. Teil zum Thema SAP Fiori Elements machen. Diesmal jedoch NO SLIDES und gleich mal zur Sicherheit für 90 Minuten eingeplant. 60 Minuten Talk, 30 Minuten Q&A.

Common Table Expressions in ABAP®

Im Jahr 1999 wurde die vierte Überarbeitung von SQL unter dem Namen SQL:1999 bzw. SQL3 publiziert.  Unter anderem wurden mit SQL:1999 das WITH Konstrukt zur Verwendung von Common Table Expression eingeführt.

Eine Common Table Expression (CTE) erzeugt eine tabellarische Ergebnisliste welche nur temporär innerhalb einer SQL-Operation zur Verfügung steht.

Die Verwendung ist dann sinnvoll, wenn man z.B. Zwischenergebnisse benötigt, eine komplexe SQL-Anweisung übersichtlicher strukturieren will oder wenn die Zwischenergebnisse mehrfach benötigt werden.

Gerade wenn man sich um Clean Code bemüht, sollten auch CTE zur besseren Lesbarkeit eingesetzt werden.

Ab dem ABAP Release 7.51 stehen die Common Table Expressions nun auch für uns ABAP Entwickler zur Verfüfung.

Syntax

Die Syntax ist recht einfach. Eingeleitet  werden CTEs mit WITH:

  • Durch die optionale Angabe der Spaltennamen mit ( name1, name2, … ) direkt im Anschluss an den CTE Namen, können die Spaltennamen in der CTE Ergebnisliste überschrieben werden
  • Die CTEs müssen in der Hauptabfrage verwendet werden

Beispiele

Im nachfolgenden Beispiel werden Personen und Unternehmen mit CTEs gelesen. Im SELECT werden diese beiden CTEs mit der Relationstabelle BUT050 verknüpft.

In diesem Beispiel wird das Ergebnis der CTE als Subselect im SELECT verwendet.

Ergänzende Hinweise

  • Mit dem WITH Kommando wird die SAP-Pufferung umgangen
  • Sobald man WITH verwendet, wird die Syntaxprüfung mit strikten Modus 7.51 ausgeführt
  • ENDWITH ist ggf. gleich einzusetzen wie ENDSELECT
  • In der SAP Dokumentation sind die CTEs als „allgemeine Tabellenausrücke“ übersetzt

Links

Cadaxo SQL Cockpit 3.6 – Releaseinfos

Die SQL Cockpit Version 3.6 ist fertig und bietet wieder ein paar Korrekturen bzw. kleineren Optimiereungen und einige interessante neue Features.

Elementinfo

In der Elementinfo wird nun zusätzlich das zugrunde liegende Datenelement angezeigt. Die Information wird als Hyperlink dargestellt, es besteht daher die Möglichkeit gleich direkt auf die Definition des Datenelements zu navigieren. Weiters wird jetzt im Fußbereich der Elementinfo die Auslieferungsklasse der Tabelle angezeigt. 

 

XML / HTML in Datenbanken

XML oder HTML Inhalte in Datenbanktabellen können im SAP Standard nur durch Zusatzentwicklungen angezeigt werden. Mit dem SQL Cockpit können nun diese XML oder HTML Inhalte in einem eigenen Popup dargestellt werden. Die Funktion ist über das Kontextmenü der Ergebnistabelle erreichbar.

Schnelle Tabellenanzeige

Wenn lediglich eine Tabelle oder View angegeben ist, wird beim Ausführen ein SELECT * auf diese Tabellen ausgeführt. Dies ermöglicht eine sehr schnelle Auswertung von Tabellen.

Layouts in generierten Reports

Bei der Verwendung des Templates /CADAXO/REPORT_A zum Generieren von Reports, kann nun die definiert werden, in welcher Weise der Report das Erstellen bzw. Sichern von Layouts dem Anwender ermöglicht.

Je nach gewählter Einstellung können dann die Anwender bei den generierten Reports ihre eigenen Layoutvarianten erstellen und sichern.

Einfärben von Ergebniszeilen

Durch Angabe eines SAP-Farbcodes für die SQL Cockpit Framework Spalte CDXLINECOLOR kann nun eine ganze Zeile dynamisch eingefärbt werden. Im nachfolgenden Beispiel sollen alle Zeilen abhängig vom Wert in der Spalte TYPE eingefärbt werden. Wenn der Typ ‚1‘ ist, sollen die Zeilen orange werden, wenn der Typ ‚3‘ ist grün. Alle restlichen Zeilen sollen blau werden:

  • 0 GUI-abhängig
  • 1 Graublau
  • 2 Hellgrau
  • 3 Gelb
  • 4 Blaugrün
  • 5 Grün
  • 6 Rot
  • 7 Orange

C300, C310, C311, C301 = Gelb
C600, C610, C611, C601 = Rot

Redesign Variantenpflege

Die Usability der Variantenpflege wurde komplett überarbeitet um eine noch intuitivere Handhabung zu ermöglichen. Alle Menüpunkte befinden sich dort wo man es sich erwarten würde. Neben der Menüzeile sind alle Funktionen auch als Kontextmenü bei den Varianten verfügbar.

Ausblick 4.0

Nach dem Release ist vor dem Release. Im nächsten SQL Cockpit Release werden wir einige tiefgreifendere Erweiterungen vornehmen um alle ABAP SQL Select Operationen eines S/4 HANA Systems zu unterstützen! 

Wir rechnen damit, dass das SQL Cockpit 4.0 im 3. Quartal 2021 erscheinen wird.