Falle beim Left Outer Join

Falle beim Left Outer Join

Häufig sind es die Kleinigkeiten, die einem das Leben schwer machen. Die berühmten letzten 20%. Häufig bemerkt man jedoch gar nicht, dass man überhaupt ein Problem hat, weil alles scheinbar so funktioniert, wie man es sich vorstellt. Aufgabe: SELECT Die Aufgabe sollte sein: Selektiere aus Tabelle ZZT1 alle Einträge anhand der gegebenen Selektionskriterien (AREA). Lies zusätzlich mit einem LEFT OUTER JOIN alle Einträge aus Tabelle ZZT2, die über das Feld LINK verknüpft sind hinzu. Einträge…

WEITERLESEN

Tricktresorsche Glockenkurve

Tricktresorsche Glockenkurve

Eine kleine Fingerübung im old-style, die aus einem Denkansatz heraus abgefallen ist: Eine kleine „grafische“ Spielerei zur Darstellung der Gauß-Funktion/ Glockenkurve/ Normalverteilung. Da dies für mich bereits höhere Mathematik ist, bin ich besonders stolz auf diese kleine Spielerei. Eine schönere Möglichkeit wäre sicherlich die Darstellung im GFW-Framework, aber ich wollte nur schnell sehen, ob die berechneten Werte irgendwie stimmig sind. GFW-Framework Bei Interesse schau dir die Demoprogramme GFW_PROG* und GFW_DEMO* einmal an: GFW_DEMO_HIER3 GFW: Demonstration…

WEITERLESEN

REDUCE + SWITCH + COND [ABAP740]

REDUCE + SWITCH + COND [ABAP740]

Heute im Code-Dojo hatte ich die Aufgabe gestellt, eine Funktion zu schreiben, die einen String mit variabel zu bestimmender Länge und zufälligen Zeichenfolgen aus Zahlen und Buchstaben zurück liefert. Zum Beispiel „I71B7HJ4BG“ oder „6EE17ICBF54IE486EHD8“. Idee Mit VALUE und FOR sollte ein String Zeichen für Zeichen zusammengesetzt werden. Mit einer Zufallsfunktion sollte ermittelt werden, ob ein Buchstabe oder eine Zahl eingesetzt werden soll. Per SWITCH sollte ebenfalls eine Zufallsfunktion aufgerufen werden, die eine Zahl bzw. einen Buchstaben…

WEITERLESEN

ABAP 740-Features unter der Lupe

ABAP 740-Features unter der Lupe

Aus einer einfachen Anfängerfrage im abapforum.com hat sich eine recht spannende Antwortserie entwickelt, die auf die neuen Sprachfeatures von ABAP740 eingeht. Ich habe diese einmal zusammen gefasst und auch Laufzeitmessungen durchgeführt. Die Frage Die Frage von debianfan lautete: Wie ermittele ich die Anzahl von Datensätzen bestimmter Ausprägung in einer internen Tabelle? Die interne Tabelle NAMES besteht nur aus den Feldern NAME (string) TF (boolean) Die folgenden Lösungen sind teilweise vereinfacht und ohne DATA-Definitionen. Die einzelnen…

WEITERLESEN

Moderne UI mit altem SAPGUI und ALV-Grid

Moderne UI mit altem SAPGUI und ALV-Grid

Ich habe eine kleine Spielerei gebaut, weil ich eine Möglichkeit brauchte um Parameter ein- und auszuschalten. Die normale Methode mit „X“ und „Space“ oder Checkbox fand ich langweilig und mir kam die Idee, dass es möglich sein müsste, eine etwas modernere Art der Darstellung möglich sein müsste. Sowas in dieser Art: Bild: http://pixabay.com Neue UI Natürlich sind die grafischen Möglichkeiten etwas beschränkt, aber die Funktionalität, wie man sie von jedem aktuellen Smartphone kennt, müsste machbar…

WEITERLESEN

Switch für Ausnahmen eines Funktionsbausteins [ABAP740]

Switch für Ausnahmen eines Funktionsbausteins [ABAP740]

Seit Release ABAP740 gibt es die Anweisung SWITCH. Sehr anschaulich beschrieben im Blog von Horst Keller: ABAP News for Release 7.40 – Constructor Operators COND and SWITCH Was mich bei Funktionsbausteinen schon immer gestört hat ist, dass man bei der sinnvollen Protokollierung von Returncodes von Funktionsbausteinen umständliche CASE-Konstrukte benötigt. Natürlich nur, wenn der Funktionsbaustein bei einem Fehler lediglich RAISE EXCEPTION verwendet aber nicht MESSAGE RAISING. Und Ersteres ist leider sehr häufig der Fall. Mit dem neuen…

WEITERLESEN

Ausnahmen mit T100-Nachricht [ABAP750]

Ausnahmen mit T100-Nachricht [ABAP750]

Die Verwendung von T100-Nachrichten mit Klassen basierten Ausnahmen ist von Beginn an krampfig. Alt und Neu passte immer irgendwie nicht so richtig zusammen. Paul Hardy hat sich in seinem sehr guten Buch ABAP To The Future dafür ausgesprochen, ausschließlich die neue Variante – also ohne T100-Nachricht zu verwenden. Es sprechen aber im Kampf mit den täglichen Programmiermonstern viele Dinge dafür, die Exceptions mit T100-Nachricht zu verwenden. Umständlich Die Verwendung von Klassen basierten Ausnahmen in Verbindung…

WEITERLESEN

REDUCE ABAP750 FOR x = u IN n = 1 THEN brainf*ck

REDUCE ABAP750 FOR x = u IN n = 1 THEN brainf*ck

Hoijoijoi. Ich gebe zu, ich tue mich echt schwer mit den neuen Befehlen im ABAP-Sprachschatz. Besonders die ganz neuen Features im ABAP Release 7.50 (oder 7.40 – ich blick da nicht mehr durch) fordern mich ziemlich (REDUCE, COND, FILTER etc). Angeregt durch den Artikel von Jerry Wang im neuen SCN über REDUCE habe ich mich mit dem Befehl-REDUCE näher beschäftigt. Über die ABAP-Doku bin ich dann auf die Demoprogramme DEMO_REDUCE* gestolpert und beim DEMO_REDUCE_SIMPLE hängen geblieben….

WEITERLESEN

Application-Log mit Kontext

Application-Log mit Kontext

Mit dem Application-Log lassen sich standardisiert Meldungen sammeln und ausgeben. Was viele nicht wissen: die Meldungen können um eigene Felder erweitert werden. Die Zusatzinformationen werden im KONTEXT gespeichert. Dieser Kontext muss definiert und natürlich separat gefüllt werden. Im Demoprogramm SBAL_DEMO_02 kannst du nachvollziehen, wie die Programmierung erfolgen muss. Kontext Mit Kontext sind zusätzliche Felder gemeint, die zusätzlich zu jeder Meldung gesetzt werden können. Auf diese Weise lassen sich Meldungen besser gruppieren oder darstellen. Zudem können Meldungen…

WEITERLESEN
1 2 3 9