Automatische Aufgabengenerierung [abapGit]

Automatische Aufgabengenerierung [abapGit]

Dank des devtoberfestes habe ich diese Woche einiges über github gelernt. Ein cooles Feature möchte ich gerne mit euch teilen: Github actions Github actions können verwendet werden, um auf github Ereignisse reagieren zu können. Ein wichtiges Ereignis ist der Commit einer Datei (push). TODO to Issue Action Mit einer YAML-Definition kann man mit einer Action auf die Ereignisse reagieren. Ich habe im github Marketplace die Action TODO to issue action gefunden und einmal ausprobiert. Mit…

WEITERLESEN

Loop At ITAB Group By

Loop At ITAB Group By

Mühsam ernährt sich das Eichhörnchen. Die heutige Nuss galt dem Befehlszusatz GROUP BY für den LOOP über eine interne Tabelle. Es gibt dankenswerter Weise in der SAP-Doku inzwischen viele Beispiele. Diese sind jedoch sehr abstrakt. Sie zeigen die Syntax, verdeutlichen aber nicht unbedingt, was damit möglich ist. Ich präsentiere euch heute ein paar Möglichkeiten der Gruppierung, die hoffentlich die Funktionsweise deutlich machen. Beispieldaten im Folgenden verwende ich diese Struktur für meine Beispiele: Die Tabelle soll…

WEITERLESEN

Screenshot zur Fehlermeldung erstellen

Screenshot zur Fehlermeldung erstellen

Fehlermeldungen sind eine wichtige Sache in der Programmierung. Sie geben Auskunft darüber, was schief gelaufen ist und im besten Fall noch, was erwartet wurde. Ich habe gerade gelesen, dass Fehlermeldungen die beste Art der Dokumentation sind, denn diese würden aufmerksam gelesen. Nun ja… Meine Erfahrungen sind andere. Häufig sind allein stehende Fehlermeldungen nicht aussagekräftig genug. Fehlermeldung 2.0 Wie wäre es denn, wenn man die Fehlermeldung mit einem Screenshot der aktuellen Transaktion verbinden würde? Es ist…

WEITERLESEN

Übersetzung einer Nachrichtenklasse

Übersetzung einer Nachrichtenklasse

Übersetzen sind eine der schlimmsten Dinge für Entwickler. In der Regel kann man direkt in der zugehörigen Transaktion das bearbeitete Objekt übersetzen: Menü Springen – Übersetzung. Bei Nachrichten funktioniert das jedoch immer nur für eine einzelne Nachricht. Es ist nicht möglich, alle Meldungen der Nachrichtenklasse gesammelt zu übersetzen. Jedenfalls nicht aus der Transaktion SE91 heraus. Übersetzungsumgebung Mit folgendem Vorgehen ist es möglich, die Nachrichten einer Nachrichtenklasse nacheinander abzuarbeiten: Starten der Transaktion SE63 Drucktaste Transport Object…

WEITERLESEN

CORRESPONDING (Tabelle mit Defaultwert)

CORRESPONDING (Tabelle mit Defaultwert)

In dem Beitrag CORRESPONDING habe ich gezeigt, wie mit dem neuen Schlüsselwort CORRESPONDING Werte einer Struktur in eine andere übertragen werden können. Interessant dabei ist die Option, einen Defaultwert übergeben zu können, der in der Quellstruktur nicht gefüllt ist. In diesem Beitrag zeige ich dir einen Codeschnipsel, der eine ganze Tabelle mit Corresponding überträgt. Beispiel: Baumknoten ändern Das GUI-Control CL_LIST_TREE_MODEL zur Darstellung eines Trees hat die Methode UPDATE_ITEMS mit der die einzelnen Felder eines Knotens…

WEITERLESEN

Sprachtransporte

Sprachtransporte

Wenn man ein paar eigenentwickelte Transaktionen oder Reports im SAP-System in eine andere Sprache übersetzt hat, dann stellt als Nächstes sich häufig die Frage, wie diese Texte jetzt in weitere Systeme gelangen sollen. Die offensichtliche Antwort wäre, einfach noch einmal alle Objekte zu transportieren, die zu den übersetzten Transaktionen gehören. Und je nach Einstellung des Transportsystems klappt das auch ganz gut. Aber es ist schon etwas unschön, den ganzen Code noch einmal zu transportieren, wenn…

WEITERLESEN

Hierarchiedarstellung von Controls

Hierarchiedarstellung von Controls

Hierarchien sind was Tolles! Controls sind auch toll! Wir sollten sie nutzen, so lange es sie noch gibt (Stichwort Fiori, ABAP in the Cloud etc.). Deswegen ein schönes Demoprogramm zur Analyse von GUI-Controls zur Laufzeit und Darstellung als Baumstruktur mit Hilfe der Klasse CL_COLUMN_TREE_MODEL. GUI-Elemente GUI-Controls sind ActiveX-Steuerlemente, die mit dem Stichwort EnjoySAP zu SAP Release 4.6C eingeführt wurden. Sie werden auch OCX-Controls genannt. Hier gibt es im Grunde zwei unterschiedliche Arten: Container Controls Sie…

WEITERLESEN

Dateiausgabe in Zwischenablage umleiten

Dateiausgabe in Zwischenablage umleiten

Im Forum kam die Frage auf, wie man am einfachsten das Ergebnis eines Betriebssystemkommandos beziehungsweise eines EXE-Programms in ABAP einlesen kann. Stefan hat einen genialen Trick aufgezeigt (Danke dafür!!): Mit Hilfe des Systemkommandos CLIP wird die Ausgabe einfach in die Windows-Zwischenablage umgeleitet. Das Einlesen der Zwischenablage in eine interne Tabelle ist mit Hilfe von CL_GUI_FRONTEND_SERVICES=>CLIPBOARD_IMPORT dann ebenfalls einfach möglich. Demoprogramm

WEITERLESEN

Modernes ABAP – Ein Beispiel

Modernes ABAP  – Ein Beispiel

Die Neuerungen im ABAP-Umfeld sind inzwischen bereits einige Jahre alt. Über den VALUE Operator, der mit Release 7.40 eingeführt wurde, hat Horst Keller bereits 2013 gebloggt. Trotzdem werden einige der neuen Befehle nur sparsam eingesetzt. Das liegt einerseits daran, dass man sich wirklich an die Verwendung gewöhnen muss, andererseits ist man vielleicht unsicher, welche Gefahren (Performance) sie bergen. Ich persönlich finde zudem, dass ein übermäßiger Einsatz der Befehle, die sehr vielfältig untereinander geschachtelt werden können,…

WEITERLESEN
1 2 3 52