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

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

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

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

GUI-Designer “guidrasil”

GUI-Designer “guidrasil”

Vor langer Zeit habe ich mich mit der automatischen und generischen Erzeugung und Verwaltung von SAPGUI-Controls beschäftigt. Aus dieser Beschäftigung heraus ist der GUI-Designer entstanden, den ich guidrasil getauft habe. Folge mir in die Welt der Controls und Container…

WEITERLESEN

Hacking SAPGUI

Hacking SAPGUI

Heute bin ich zufällig auf etwas gestoßen, dass ich erst nicht glauben konnte. Aber eigentlich hätte es klar sein müssen. Ich zeige dir erst einmal ein Bild: Vielleicht ist deine erste Reaktion genauso wie meine: via GIPHY Folgende Controls verwende ich für diesen kleinen Hack: CL_GUI_PICTURE CL_GUI_GOS_CONTAINER Normalerweise wird der GOS-Container nicht explizit aufgerufen, sondern nur implizit von der Klasse CL_GOS_MANAGER verwendet. Container ist Container Im Generic Object Services Menü wird normalerweise ein Pull-Down-Menü angezeigt:…

WEITERLESEN

Bilder aus MIME-Repository anzeigen

Bilder aus MIME-Repository anzeigen

Ich präsentiere: Das hässlichste Logo aller Zeiten: Allerdings hat es auch einen Vorteil: Taucht dieses Bild irgendwo auf, weiß man sofort: Es handelt sich um ein Demo-Programm. SAP-Web-Repository Das Bild ist im SAP-Web Repository gespeichert. Dieses Repository wird mit Transaktion SMW0 aufgerufen. Zur Auswahl stehen “HTML-Schablonen” und “Binäre Daten”. Wähle “Binäre Daten” aus: Wenn du weißt, wie der Name des Bildes lautet, kannst du diesen vorbelegen: Die entsprechenden Dateien im Web-Repository werden angezeigt: Einlesen eines…

WEITERLESEN

Mehrfachselektion mit Menu

Mehrfachselektion mit Menu

Möchte man dem Anwender die Möglichkeit geben, aus einer Liste mehrere Einträge auszuwählen, so fällt einem sicherlich zuerst das ALV-Grid ein, in dem man die Einträge per Zeilenmarkierung oder Checkbox markieren kann. Eine Lösung mit der vertikalen Anordnung einer Toolbar (CL_GUI_TOOLBAR) und Menu (CL_CTMENU) käme auch in Frage, nähme jedoch genau so viel Platz ein, wie ein ALV-Grid. Letztendlich kam jedoch eine Variante mit dem CL_CTMENU und heraus.

WEITERLESEN
1 2