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

LIKE & ESCAPE Feature in SQL Cockpit

Should wildcard characters be part of the search term? What should I do?

The solution is very easy in our SQL Cockpit, LIKE statement must be told that for example ‘%‘ is understood as a simple character instead of wildcard character. This is done by placing a special character in front of it and specifying this character as an „ESCAPE character“ at the end of command.

Example

User wants to select the table line(s) which in DOKTEXT field are containing the 100% word.

The database table contains the following entries.

Using the LIKE addition with the pattern will have the following result, because the percent sign represents zero, one, or multiple characters in SQL.

The first and last percent signs indicate that before and after the string any content is possible. The middle percent sign is connected with the escape character ‚\‘ and is therefore part of the search string. This specification ‚\%‘ is to be understood as a character, because of ESCAPE ‘\’ addition.

Links

https://help.sap.com/doc/abapdocu_740_index_htm/7.40/en-US/abenwhere_logexp_like.htm

https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abenwhere_logexp_like.htm

https://help.sap.com/viewer/4fe29514fd584807ac9f2a04f6754767/2.0.00/en-US/20fa17f375191014a4d8d8cbfddfe340.html?q=LIKE

Domain Text Feature in SQL Cockpit

I don’t see the domain description in the result SQL statement screen? What should I do?
The solution is very easy in our SQL Cockpit, there is an user setting with which the user can see not only the fixed value, but the description of the value itself. There is no need to manual check the description, in case it exists it is displayed in the result screen.

Example
The “Business partner category“ domain contains the following values entries in the Value Range tab. In a simple standard SQL statement selection the description it is not displayed as a part of the selection query, so the user should manually check the value.

Executing a simple select statement with multiple parameters (Partner, Type) from “Business Partner: General Data I“ table.

Second column values comes from the first data element domain. The name of the new field is a generated value. It can be used also with the Column Header: “Fieldtext“ and “Show alias in header“ functionality from the user Personal Settings, which allows the user to customize the result list header name.

Personal Settings
On the SQL Cockpit main screen the Personal Settings button is highlighted.

If the user wants to use the Domain Text functionality must tick the “Add Domain Text” checkbox. It is saved permanently (after the system log off as well), in case of it is not needed anymore should be unchecked after the use.

Links
https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abenddic_domains.htm
https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abenddic_domains_sema.htm

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

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.