Webinar – Modern ABAP®

Vielen Dank für Ihre Teilnahme an unserem Webinar!

Unterlagen/Links zum Webinar „Modern ABAP

Links

ABAP in the Cloud

ABAP CodeRetreat

ABAP Development Tools

ABAP News

ABAP OO

ABAP Obsolete Sprachelemente

ABAPGit

ABAP Open Source Projects

  • https://dotabap.org/

ABAP CDS Views

ABAP Open Checks

ABAP Analyse Tools

ABAP Unit Tests

Unsere nächtes Webinar

Vergangene Webinare mit ähnlichem Thema

 

Webinar – ABAP® 7.51 Releaseabhängige Änderungen

Vielen Dank für Ihre Teilnahme an unserem Webinar!

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

Umfrageergebnisse (in %)

Auf welchem ABAP Release arbeiten Sie hauptsächlich?

Verwenden Sie bereits SAP HANA als Primäre Datenbank?

Links

Blogs

Unsere nächtes Webinar

Vergangene Webinare mit ähnlichem Thema

 

DDL Source (CDS View) in ADT formatieren

Ab dem Release ABAP 7.51 und den ABAP Development Tools 2.68 gibt es eine Format-Funktion für DDL Source Codes. Es besteht die Möglichkeit sich sein eigenes Profil zu definieren, das  SAP Standardprofil oder ein Teamprofil je Entwicklungspaket zu verwenden.

Formatieren eines DDL Source Code

Das Formatieren eines DDL Source Codes kann wie folgt aufgerufen werden:

  • Shortcut SHIFT + F1
  • Menü bzw. Context Menü: Source Code – Format
  • Automatisch beim Speichern

 

 

 

 

 

 

 

 

 

Formatierungseinstellungen

Die Formatierungseinstellungen können in den Preferences unter ABAP Development – Editors – Source Code Editors – DDL Formatter angepasst werden. Es sind 3 unterschiedliche Gültigkeitsbereiche möglich.

  • SAP Standard Profil – SAP liefert eine nicht veränderbare Voreinstellung aus. Diese steht sofort zur Verfügung.
  • Eigenes Profil – Wenn das Standardprofil nicht ausreicht, kann ein eigenes Profil definiert werden. Eigene Profile können mit der Export- bzw. Import Funktion mit anderen Entwicklern und Systemen ausgetauscht werden.
  • Team Profil – Das SAP Standardprofil kann auf Basis von ABAP Paketen zentral am Server überschrieben werden. Dies ist eine Möglichkeit um unterschiedliche Profile je System oder Paket zu definieren. Technisch erfolgt die Steuerung der Profile im Backend durch eine Implementierung auf den BADI SDDIC_ADT_DDLS_PP_CONF.

Formatierungsdetails

Die Formatierung des DDL Source Codes kann sehr detailliert eingestellt und angepasst werden. Um ein einheitliches Aussehen innerhalb des Systems zu gewährleisten, sollte ein einheitlicher Standard definiert und angewendet werden. Die Verteilung dieser Variante kann entweder über Export/Import erfolgen oder über den oben erwähnten BADI zentral vorbelegt werden.

 

Cadaxo SQL Cockpit 3.4 – Releaseinfos

Für die Version 3.4 unseres SQL Cockpits haben wir neben einigen kleineren Verbesserungen und Korrekturen ein paar sehr interessante Features eingebaut bzw. erweitert.

Schnelleinstellung für „Up to“

Mit Hilfe dieser Funktion kann gezielt nur eine bestimmte Anzahl von Einträgen gelesen werden, ohne die Benutzereinstellungen zu ändern oder den ABAP SQL Befehl UP TO x ROWS eingegeben zu müssen. Eine explizite Angabe über UP TO x ROWS wird nicht überschreiben!

  • Die Werte 1, 500 und 1000 sind immer vorhanden
  • Über „Wert eingeben“ kann ein zusätzlicher Wert eingegeben werden
  • An erster Stelle steht immer der Vorschlagswert aus den Benutzereinstellungen

Performanter CSV Export

Die im Standard in den ALV Listen vorhandene Exportfunktionen sind bei größeren Mengen sehr langsam bzw. brechen im Extremfall sogar mit Kurzdumps ab.
Aus diesem Grund wurde eine performante Variante zum Export von Daten in ein CSV Format ergänzt.

Suche bzw. Filtern von Varianten

Das Suchen oder Filtern von Varianten war bisher nicht möglich. Über die neue Filterfunktion können Varianten einfach und intuitiv gefiltert werden.

Hintergrundjob an mehrere Verteiler

Die Fertigstellung von Hintergrundjobs kann nun an mehrere Empfänger per Mail mitgeteilt werden. Mehrere Empfänger können einfach durch ; getrennt eingegeben werden.

Report Generatoren

Die Report Generatoren wurden dahingehend überarbeitet, dass diese nun State-of-the-art Coding generieren.

ABAP SQL FIELDS, OFFSET, CROSS JOIN

Mit 7.50 bzw. 7.51 wurde der ABAP SQL um die Funktionen CROSS JOIN, FIELDS und OFFSET erweitert. Ab diesem SQL Cockpit Release unterstützen wir diese neuen ABAP SQL Möglichkeiten.

Teilen von Symbolen

Ähnliche wie das Teilen des Editors, können nun auch Symbole mit anderen Benutzern geteilt werden.

Remote Teilen von Inhalten

Beim Teilen des Editors bzw. der Symbole kann nun auch eine RFC Destination gewählt werden. Somit besteht die Möglichkeit die Inhalte mit anderen SAP Systemen oder Mandaten auszutauschen.

Meine Queue

Da nun die Inhalte des Editors und der Symbole geteilt werden können, wurde die Queuedarstellung von „Meine Queue“ um eine Feld Typ erweitert. Mögliche Inhalte derzeit SQL (= Inhalte des Editors) oder Symbol.

Felder mit mehr als 128 Zeichen Länge – Premium Edition

Jetzt können auch Felder mit einer Länge über 128 Zeichen bearbeitet werden. Die Zelle wird als Link dargestellt und beim Anklicken öffnet sich ein Popup mit Textfeld. Der Inhalt des Textfeldes wird mit allen Zeilenumbrüchen gespeichert.

Domi Bigl und die ABAP® Development Tools

Domi Bigl war bei Cadaxo der Erste, der sich ausführlich mit den ABAP Development Tools beschäftigt hat. In der Zwischenzeit verwendet er seit langer Zeit fast ausschließlich ADT für die ABAP Entwicklung. Grund genug, ihm mal ein paar Fragen zu den ABAP Development Tools zu stellen:

Du bist ja bekanntlich ein Early Adopter der ABAP Development Tools. Seit wann verwendest Du ADT und was hat dich zum Umstieg bewogen?

Eclipse verwende ich schon sehr lange für alle möglichen Programmiersprachen. Im SAP Umfeld wurde es als Netweaver Developer Studio schon für z.B. Portal Entwicklungen am Java-Stack eingesetzt. Seit HANA, SAPUI5 und CDS Views ist Eclipse auch für den ABAP-Stack notwendig geworden. Mit den ADT war dann endlich auch ABAP Programmierung im Eclipse möglich – das wollte ich natürlich sofort ausprobieren!

Ging der Umstieg für dich einfach oder hattest Du in gewissen Bereichen Schwierigkeiten?

Mit Eclipse war ich ja schon vertraut, hatte also keine Probleme mit dem generellen Handling, Views, Perspektiven usw. Gewöhnungsbedürftig war der „quelltextbasierte Class Builder“, im GUI habe ich immer den formularbasierten verwendet. Und der Doppelklick. Die Funktionen von Doppelklick und Strg-Klick sind genau andersrum wie im GUI, dass muß einem einmal einfallen ;-). Der Debugger ist auch noch etwas unhandlich und kommt manchmal mit dem GUI durcheinander.

Bekanntlich werden noch nicht alle Entwicklungsaufgaben durch ADT unterstützt. Beispielsweise können derzeit noch keine Enhancements gepflegt werden und der Debugger verfügt auch noch nicht über die gleichen Möglichkeiten wie der SE80 Debugger?

Stimmt, aber in einem Enhancement sollte man ja ohnehin nur einen Methodenaufruf einer Z-Klasse drinnen haben, das ist dann nicht so das Problem, außerdem kommt das ja mit 752! Der Debugger wird auch ständig verbessert – und als der neue Debugger im GUI kam, hat anfangs auch beinahe jeder auf den alten Debugger umgeschalten, oder?

In eine Ähnliche Richtung gehen Entwicklungen von z.B. SAP CRM. Dort gibt es eigene Tools welche ausschließlich in SAP Gui lauffähig sind. Wie gehst Du damit um?

Ich verwende auch z.B. für die Component Workbench den embedded SAP GUI. Per Doppelklick öffnen sich die Klassen oder Methoden dann wieder im ADT Editor. Das funktioniert einwandfrei. Es wird ja auch für andere Objekte der embedded GUI aufgerufen: Tabellen (und Strukturen) bzw. DDIC generell – je nach Release halt, oder Berechtigungsobjekte oder … . Was noch fehlt, ist der Transaktionsbaum – also SESSION_MANAGER aus dem GUI, man muss die Transaktionen wissen bzw eben irgendwie suchen und eingeben – Tx SE93 oder Tabelle TSTCT… Es gibt auch ein cooles Plugin: ABAP Favorites (https://abapblog.com/)

Was würdest Du einem klassischen ABAP Entwickler, der in die ADT Welt einsteigen möchte, raten? Hast Du Tipps wie der Einstieg optimal verlaufen kann?

Einfach starten! Jetzt! Und mit jetzt mein ich vor 5 Monaten! Nein, im Ernst: wer jetzt noch nicht nicht mit ADT arbeitet, darf sich nicht mehr ABAP Entwickler nennen. Und die Basis-, Software- oder Securityteams als Ausrede zu verwenden, zählt einfach nicht mehr: ADT gehört zur SAP Entwicklung, wie sonst wollt ihr schnell und Clean-Code konform entwickeln, oder CDS Views erstellen oder auch nur anschauen – außer mit dem SQL Cockpit vielleicht ;-)? Und gerade wenn man noch nicht mit CDS Views, UI5 Apps, HANA Views und dergleichen zu tun hat, für die (zumindest) Eclipse notwendig sind, sollte man sich doch mit Altbekanntem – ABAP Programmierung – an eine neue IDE gewöhnen und nicht CDS, DDL, DCL, Javascript, einerseits… UND eine neue Umgebung andererseits kennen lernen müssen!

Die ABAP Development Tools werden kontinuierlich verbessert, gibt es dennoch Dinge die deiner Meinung nach fehlen und dringend eingebaut werden sollten?

Wie schon erwähnt: der SESSION_MANAGER fehlt schon etwas. Und dass eine Klasse in einem Auftrag gesperrt wird, obwohl ich nur Methoden-Coding ändere? Zwei Methoden in jeweils unterschiedlichen Transportaufträgen und die Klasse ist mit ADT nicht bearbeitbar?!?! Ähnliches gilt für Enhancements – nur weil eine Methode Erweitert wurde, muss man doch nicht die ganze Klasse tabu sein! Zum Glück trifft einen das nur selten – vor allem, wenn andere Teammitglieder noch die SE24 bevorzugen… Die meiste Zeit freut man sich über 7 neben-, über-, und untereinander offenen Objekte oder die Quickfixes, Quickinfos, Refactoring Möglichkeiten, … und hofft, dass der Debugger diesmal im Eclipse aufgeht – oder vielleicht doch besser im GUI 😉

Gibt es sonst noch etwas dass Du zum Thema ABAP Development Tools sagen möchtest?

Die Zeiten von Report mit 5k Zeilen mit FORMs und vielleicht auch noch ohne INCLUDEs sind vorbei – OOP, TDD, CI, ARP, CDS, SAPUI5, SAP Cloud Platform ABAP Environment, Git… Das sind nicht nur schöne Schlagworte – damit verändert sich auch die Art wie, wo und was ein ABAP Entwickler implementiert und mit welchen Tools. Die SE80 ist dafür nicht mehr zeitgemäß, die WebIDE wird (zumindest derzeit) nicht für ABAP Entwicklung erweitert werden – damit bleiben nur die ADT in Eclipse! Aus meiner Sicht werden zumindest die nächsten 5-10 Jahre die ADT DIE IDE für ABAP/SAP Development sein! Probiert es aus, freundet euch damit an und nach einer Woche werdet ihr die SE38/SE24/SE80/… nicht mehr vermissen!

Vielen Dank für deine Antworten!

Links

Eclipse Plugins: https://marketplace.eclipse.org/search/site/ABAP

ABAP Developer Tools FAQs SAP Community Blog: https://blogs.sap.com/2012/06/12/faqs-abap-development-tools-for-eclipse/

SAP® Web IDE Versionen

Ich wurde zuletzt mehrmals gefragt, was es mit den unterschiedlichen Web IDE Versionen auf sich hat.  Nachfolgend ein ganz kurzer Überblick über die aktuell verfügbaren Versionen:

SA®P Web IDE for SAP HANA®

Diese Web IDE Version ist zum Erstellen und Warten von SAP HANA nativen Anwendungen vorgesehen. Die Version ist mit SAP HANA verfügbar und auch Teil der downloadbaren SAP HANA Express Edition und kann somit offline verwendet werden.

SAP® Cloud Platform, Web IDE

Zum Erstellen oder Warten von SAP UI5/Fiori Anwendungen wurde/wird die SAP Cloud Platform, Web IDE verwendet. Die Anwendungen können u.a. in der SAP Cloud als auch in einem ABAP Repository deployed werden.

SAP® Cloud Platform, Web IDE Personal Edition

Die Personal Edition ist eine deutlich abgespeckte Version der SAP Cloud Platform, Web IDE welche unter https://tools.hana.ondemand.com/#sapui5 heruntergeladen und somit offline verwendet werden kann. Einige Funktionen wie z.B. das Erstellen neuer Templates sind in der Personal Edition nicht verfügbar.

Eine Übersicht über die Personal Edition und deren Einschränkungen findet ihr unter https://help.sap.com/viewer/825270ffffe74d9f988a0f0066ad59f0/CF/en-US/5b8bca3147ee4dfd99be8aaf6bd4f421.html

SAP® Cloud Platform, Web IDE Full Stack

Mit der neuen Full Stack Version können neben den klassischen SAP UI5 bzw. Fiori Anwendungen auch alle neuen Komponenten wie z.B. Leonardo, SAP Business Hub oder SAP Cloud Workflow bearbeitet werden. Vereinfacht ausgedrückt kann gesagt werden, dass die Full Stack Version alles bietet was auch die SAP Cloud Platform, Web IDE bietet – und eben noch deutlich mehr!

Früher oder später wird es die „alte“ SAP Cloud Platform Web IDE nicht mehr geben. Laut SAP wird die alte SAP Cloud Platform weiterhin gewartet, neu Funktionen werden jedoch definitiv nur in der Full Stack Version zur Verfügung gestellt.

Developers Guid für die Full Stack Version: https://help.sap.com/viewer/825270ffffe74d9f988a0f0066ad59f0/CF/en-US/0221845d73ad403ab2852142f3179177.html

Ein Wort zu den ABAP® Developer Tools

Ich wurde zuletzt auch gefragt, ob die Web IDE nun die ABAP Developer Tools (Eclipse) ablösen wird. Ich kann nicht sagen, was SAP in Zukunft in Sachen ABAP plant, aber zum aktuellen Zeitpunkt ist für die ABAP Entwicklung weiterhin ADT (und nicht SE80 😉 ) das Tool der Wahl.

Und noch ein Wort zu ABAP® in der Cloud

Auf der SAP TechEd 2017 hat Björn Goerke gezeigt, dass in Zukunft auch ABAP für Cloud Entwicklungen eingesetzt werden kann. In seinem Demo hat er auch ADT für die ABAP Entwicklung verwendet. Ich gehe davon aus, dass früher oder später ABAP (zumindest ABAP in der Cloud) auch in der Full Stack Version unterstützt wird aber so wie es aussieht werden wir auch hier vorläufig mit den ABAP Developer Tools arbeiten.

Weitere Informationen:

CONTINUE, CHECK, EXIT und RETURN

Vor kurzem musste ich wieder einmal ein ABAP Klasse korrigieren, in der die Bedeutung von CONTINUE und RETURN offensichtlich verwechselt wurde. Eigentlich sollte innerhalb eines Schleifendurchlaufs an einer Stelle der aktuelle Durchlauf beendet werden und mit dem nächsten Tabelleneintrag weitergemacht werden. Aber leider wurde dies mit RETURN Anweisung implementiert. RETURN verlässt sofort die komplette Methode.

Daraufhin habe ich mit einigen Kollegen über die Aufgabenstellung diskutiert und es hat sich herausgestellt, dass manchmal Unklarheit bei der Verwendung von CONTINUE, RETURN, STOP, EXIT, CHECK … herrscht.

Daher versuche ich hier kurz Klarheit in die vielen Kommandos zu bringen. Bitte beachtet, dass ich nicht auf die Ausnahmen (klassisch und klassenbasierte) eingehe, das ist ein gänzlich anderes Thema. Aber natürlich wird auch durch Ausnahmen eine Prozedur verlassen.

Schleifen abbrechen

SAP kennt die folgenden Schleifenarten: LOOP / ENDLOOP, DO / ENDDO, WHILE / ENDWHILE und nicht zu vergessen SELECT / ENDSELECT – Wobei, eigentlich kann man SELECT/ENDSELECT gerne vergessen …

  • Mit CONTINUE kann man den aktuellen Schleifendurchlauf ohne Bedingung abbrechen. Nach der Anweisung werden die übrigen Anweisungen übersprungen und der nächste Schleifendurchlauf beginnt.
  • Mit CHECK <bedingung> kann man ebenfalls den aktuellen Schleifendurchlauf mit Bedingung abbrechen. Wenn die Bedingung nicht erfüllt ist, wird gleich wie bei CONTINUE die weitere Verarbeitung übersprungen und der nächste Durchlauf beginnt.
  • Verwendet man hingegen EXIT, wird die aktuelle Schleife vollständig beendet und der Programmablauf nach dem schließenden Teil (ENDLOOP, ENDDO, ENDWHILE, ENDSELECT) fortgesetzt. Wenn es sich um verschachtelte Schleifen handelt, wird hier nur die aktuelle Schleife beendet.

Ganz schlimm finde ich ein DO 1 TIMES/ENDDO. Dies wird manchmal verwendet um aus diesem Bereich DO/ENDDO an einer beliebigen Stelle mit EXIT auszusteigen.

Prozeduren verlassen

Prozeduren verlassen

Wenn man Prozeduren vor der END… – Anweisung verlassen möchte, so stehen ans ich in ABAP die Kommandos RETURN, EXIT und CHECK <bedingung> zur Verfügung. Diese Anweisungen beenden eine Prozedur ordnungsgemäß, dadurch werden auch Ausgabe- bzw. Rückgabewerte an die aufrufende Stelle übergeben.

Im Sinne der Lesbarkeit gibt auch SAP die Empfehlung aus, Prozeduren nur mit RETURN zu verlassen.

Prozeduren können weiters wie folgt verlassen werden:

  • Aufruf einer Einheit ohne Rückkehr (SUBMIT, CALL TRANSACTION, … )
  • Auslösen einer Ausnahme
  • Senden einer Dialognachricht (MESSAGE)

Ereignisblöcke verlassen

Der Vollständigkeit halber sind hier noch die Anweisungen REJECT und STOP zu erwähnen. Damit können Ereignisblöcke von Dialogmodulen und Reports (AT, … ) verlassen werden. Da es jedoch schon lange die Regel gibt, in klassischen Ereignisblöcken nur noch Methodenaufrufe von Klassen zu implementieren, sollten diese Fälle in neuen Programmen nicht mehr auftreten. Siehe auch https://help.sap.com/doc/abapdocu_750_index_htm/7.50/de-DE/abenabap_obj_progr_model_guidl.htm

Leider können RETURN, EXIT und CHECK auch zum Beenden von Ereignisblöcken eingesetzt werden und REJECT und STOP können auch bei Prozeduren eingesetzt werden. Dies sollte jedoch unbedingt vermieden werden.

Zusammenfassend

  • Schleifendurchlauf mit CONTINUE oder CHECK beenden
  • Schleife mit EXIT beenden
  • Prozeduren mit RETURN verlassen

R/2 bzw. ABAP® /4 Programmierer gesucht? Echt jetzt?

Wie die vielen anderen U-Bahn Fahrgäste starre ich während dem morgendlichen Weg in die Arbeit auf mein Handy und scrolle Facebook, Instagram und Twitter durch. Vor ein paar Tagen wurde ich plötzlich auf Twitter bei einem Jobinserat stutzig:

Da sucht doch tatsächlich eine Firma aus Berlin einen ABAP /4 Entwickler. Echt? Gibt’s ja nicht! Zumal ich mich erinnere, dass ABAP als ABAP /4 nur in der R/2 und den ganz frühen R/3 Zeiten bezeichnet wurde. Sucht da tatsächlich jemand einen R/2 Entwickler? Oder einen R/3 Entwickler der nicht objektorientiert entwickeln kann? Oder meinen die vielleicht einen S/4HANA Entwickler? Der Zusatz /4 wurde jedenfalls noch vor dem Jahrtausendwechsel mit dem Einzug der objektorientierten Welt in ABAP entfernt. Da der Bewerber auch noch ABAP-OO kennen soll war mir dann doch schnell klar, dass ich leider nicht mehr als R/2 Entwickler einsteigen kann.

 

ABAP – ABAP /4 – ABAP Objects/ABAP OO – modernes ABAP

Vermutlich weiß jeder, dass ABAP für Allgmeiner Berichts Aufbereitungs Prozessor oder in der englischen Form für Advanced Business Application Programming steht.

ABAP /4 wurde die Programmiersprache bereits unter R/2 bezeichnet und in den frühen R/3 Zeiten wieder entfernt. /4 sollte zeigen, dass es sich bei ABAP um eine Programmiersprache der 4. Generation (4GL) handelt.

Als ABAP Objects/ABAP OO wird der Bestandteil von ABAP bezeichnet, der die objektorientierte Programmierung auf Basis von Klassen und Interfaces erlaubt. ABAP Objects wurde mit SAP R/3 4.6 verfügbar und sollte in der Zwischenzeit jeder ABAP Entwickler beherrschen.

Zuletzt taucht auch immer öfter der Begriff modernes ABAP. ABAP ist eine sehr lebendige Programmiersprache welche laufend weiterentwickelt. Als ABAP Entwickler sollten wir danach trachten immer den aktuellesten, möglichen ABAP Syntax – modernes ABAP – einzusetzen.

Modernes ABAP

Im Laufe der Jahre wurden viele Weiterentwicklungen an vorhandenen Spracheigenschaften vorgenommen oder gänzlich neue Funktionen hinzugefügt. ABAP Objects war sicherlich die mächtigste Erweiterung von ABAP, aber auch kleinere Erweiterungen wie z.B. die Regular Expressions (REGEX) oder zuletzt die impliziten Datendefinitionen können hier genannt werden.

SAP verfolgt im ABAP seit den ersten Anfängen die strikte Abwärtskompatibilität. Ein nicht unbedeutender Teil der nach wie vor laufenden Entwicklungen wurden vor 10, 20 Jahren oder gar noch zu R/2 Zeiten erstellt. Nachfolgend ein Beispiel aus einem ABAP 7.50 System:

Diese strikte Abwärtskompatibilität birgt aber für die ABAP Entwickler große Gefahren:

  • Ein arrivierter ABAP Entwickler kann auch mit einem etwas angegrauten Wissen nach wie vor ABAP Programme erstellen. In einem R/3 System kann er sogar ohne ABAP Objects tarnen und täuschen. Es besteht oft keine zwingende Notwendigkeit neue Konzepte einzusetzen.
  • Ein neuer ABAP Entwickler wird wegen der vielen Möglichkeiten verwirrt sein. Sehr oft werden bestehende Programme angepasst oder kopiert wodurch die alten Konzepte fortgesetzt werden.

Um dieses Verrotten der Entwicklungen zu verhindern muss man im Hinblick auf den ABAP Syntax nur zwei Regeln beachten:

Verwenden Sie keine obsoleten Sprachelemente

Informieren Sie sich regelmäßig über Neuheiten und die ABAP Releasenotes

 

Obsolte Sprachelemente

Bei ABAP Objects ist ein Großteil der obsoleten Anweisungen bereits verboten. Allein schon deshalb sollte man unbedingt ABAP Objects einsetzen. Obsolete Sprachelemente sollten in jedem Fall vermieden werden. Es gibt für alle diese Sprachelemente neuer Formen mit wesentlich mehr Möglichkeiten.

Betrachten wir das einfache Beispiel MOVE

MOVE ist schon seit einigen Jahren obsolet und wird aber nach wie vor in vielen Programmen eingesetzt. Mit MOVE kann man z.B. weder Konstrukturausdrücke oder Tabellenaustrücke verwenden noch eine Inline-Deklaration einsetzten. Statt MOVE sollte nur mehr einheitlich mit = oder ?= gearbeitet werden:

 

Übersicht über die obsoleten ABAP Sprachelemente

 

ABAP Releasenotes

Mit jedem neuen ABAP Release, aktualisiert SAP auch die ABAP Releasenotes. Ja, es gibt tatsächlich ABAP Releasenotes und ein regelmäßiger Blick lohnt sich. Meistens findet man bei neuen ABAP Releases auch unzählige Blogs auf sdn.sap.com. Hier zwei Blogs zum aktuellen ABAP Release welche einen optimalen Überblick liefern:

Links zu den ABAP Releasenotes

Unter dem nachfolgenden Link findet man alle ABAP Releasenotes seit der Version 3.0 bis zum jetzt aktuellesten System ABAP 7.52:

 

Fazit

Wir ABAP Entwickler sind dafür verantwortlich gute und wartungsfreundliche Entwicklungen vorzunehmen. Die Vermeidung von obsoleten Kommandos oder Verfahren ist ein wichtiger Bestandteil von wartungsfreundlichen Entwicklungen. Wir selbst gehen ja auch davon aus, dass sich Ärzte, Automechaniker oder sogar Politiker regelmäßig weiterbilden und „obsolete“ Verfahren nicht mehr einsetzen.

 

Cadaxo SQL Cockpit 3.2 – Releaseinfos

Für die Version 3.2 unseres SQL Cockpits haben wir neben einigen kleineren Verbesserungen und Korrekturen ein paar sehr interessante Features eingebaut bzw. erweitert.

Vergleichen von Ergebnislisten

Der Vergleich von Ergebnislisten wurde komplett runderneuert. Nun können beliebige Ergebnislisten miteinander verglichen werden. Über eine komfortable Mappingoberfläche können die zu vergleichenden Felder verlinkt werden. Es spielt dabei keine Rolle, ob es sich dabei um neu erstellte Ergebnislisten oder um gespeicherte Listen handelt.

SQL Cockpit 3.2 - Comparing Result Lists

Tipp: Gespeicherte Listen können exportiert bzw. importiert werden. Dadurch ist ein systemübergreifender Ergebnislistenvergleich möglich!

Open SQL Features 7.50

SAP hat mit 7.40 SP5 / SP8 bzw. 7.50 umfangreiche Erweiterungen für den ABAP Open SQL Syntax aufgenommen. Das Cadaxo SQL Cockpit 3.2 unterstützt alle diese neuen SQL Features.

Nachfolgend eine Aufstellung der wichtigsten ABAP Open SQL Features:

  • Open SQL Expressions
  • Open SQL Functions
  • Host Expressions
  • Unions
  • Zugriff auf CDS Views
  • Pfadausdrücke für Assoziationen von CDS-Views
  • CDS-Views mit Eingabeparametern

Integration ADT

Über die Usersettings kann sich nun jeder Anwender einstellen, ob die Vorwärtsnavigation bei einem Doppelklick auf eine Tabelle wie bisher innerhalb des SAP Gui oder ob die Anzeige mit den ADT (ABAP Developer Tools = Eclipse!) erfolgen soll.

Beispielsweise können CDS Views nur mit den ABAP Developer Tools gepflegt werden. Innerhalb von SAP Gui ist lediglich eine Anzeige möglich.

Elementinfo für CDS Views

Die Anzeige der CDS Views wurde in die Elementinfo aufgenommen. Die Element Info sorgt für eine bessere Usability im SQL Cockpit. Notwendige Informationen zu einer DB-Tabelle werden einfach angezeigt, wenn man einen Moment mit dem Mauszeiger über einen Tabellen- oder CDS-View-Namen fährt.

Beispiele zur Verwendung von ABAP® CONCATENATE

Der ABAP Befehl CONCATENATE wird sehr oft benötigt. In diesem kurzen Blog zeige ich anhand einiger Beispiele wie Zeichenketten im ABAP „concatendated“ werden können. In den Beispielen finden sich auch die „moderneren“ Formen mit && bzw. der Stringfunktion concat_lines_of. Ansonsten ist, denke ich. das Codingbeispiel eigentlich selbsterklärend und bedarf keiner weiteren Worte.