Löschauftrag erstellen

Löschauftrag erstellen

Das Anlegen von Objekten gehört zum Alltag eines SAP-Entwicklers. Auch das Löschen von Objekten gehört dazu. Wenn man ein Objekt löscht, wird es jedoch als ganz normales Objekt in einen ganz normalen Transportauftrag aufgenommen. Erst bei Freigabe des Transportauftrags prüft das System, ob das Objekt vorhanden ist oder nicht. Ist es nicht vorhanden, dann wird in dem Transportauftrag das Objekt als „zu löschen“ markiert. Leider funktioniert es nicht, das Löschkennzeichen in der Tabelle E071, in…

WEITERLESEN

Aggregation mit VALUE, GROUPS und FOR

Aggregation mit VALUE, GROUPS und FOR

Als SAP-Programmierer hat man häufig mit Datenstrukturen zu tun, die aus einer Belegnummer und einer Positionsnummer bestehen. Hieraus ergibt sich dann häufig die Aufgabenstellung, alle Belegnummern in einer separaten Tabelle zu sammeln, also auf Belegnummer zu aggregieren. Der folgende Code-Schnipsel erledigt das für eine Tabelle mit Hilfe der VALUE-Anweisung in Verbindung mit FOR und GROUPS. Zuerst die Datenstruktur der Tabelle, die aus Belegnummer (Document = D) und Position ( Item = IT) besteht. Zum Testen…

WEITERLESEN

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

GROSSER MATJES-PREIS 2020

GROSSER MATJES-PREIS 2020

Zum dritten Mal findet das Rennen um den großen Matjes-Preis statt. Durch die Erfahrungen aus dem Corona-Cup Ende März, in dem die armen Pixelponys mit Mund-Nasenschutz rennen mussten, kann der große Matjes-Preis durch gelockerte Maßnahmen nun weitestgehend uneingeschränkt durchgeführt werden. Alle wichtigen Informationen rund um das Rennen erfährst du auf der Website https://galoppsim.racing/grosser-matjes-preis/ Renninformation Startmodus Taktik und Training vieles mehr Galoppsimulation Das Rennen wird komplett virtuell in the cloud ausgeführt (cloud = someone elses computer)…

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
1 2 3 4 77