ABAP Callstack auswerten – Wer ruft mich an?

„Unter einem Aufrufstapel (englischcall stack, procedure stack) versteht man in der Softwaretechnik und Informatik einen besonders genutzten Stapelspeicher, der zur Laufzeit eines Programms den Zustand der gerade aufgerufenen Unterprogramme enthält. “ (Wikipedia) Manchmal ist es wichtig zu wissen, aus welchem Kontext ein Methodenaufruf kam. Solange man selber den Methodenaufruf macht, kann man diese Information natürlich in entsprechende Parameter packen. Aber wenn es vom System aufgerufene Methoden sind, […]

Parallele Verarbeitung mit MAP_MERGE

Mit der Version 2.0 der SAP-HANA-Datenbank ist noch ein nützlicher Operator in SQLScript für deklarativen Code hinzugekommen: MAP_MERGE. Mit ihm lässt sich das gelegentlich vorkommende Problem lösen, dass für alle N Zeilen einer Tabelle eine Tabellenfunktion ausgeführt werden soll. Die N Ergebnistabellen sollen dann per UNION zusammengefasst werden. Der MAP_MERGE-Operator kann diese Aufgabe parallelisieren. Ohne […]

User Defined Libraries (UDL) in SQLScript

Mit SAP HANA 2.0 SPS03  wurde das Konzept der benutzerdefinierten Bibliotheken (User Defined Libraries – UDL) in SQLScript eingeführt. Es ermöglicht uns als Entwickler, mehrere Funktionen, Prozeduren und Variablen in einem Objekt zu bündeln. Alle Komponenten einer UDL werden in einem Stück Quellcode definiert und es wird auch nur ein Metadaten-Objekt dafür angelegt. Eine Bibliothek […]

Eingebettete (oder anonyme) Funktionen in SQLScript

Im folgenden Beispiel wird die Abfrage mit einer eingebetteten Funktion innerhalb einer Prozedur aufgerufen. Die eingebettete Funktion beginnt mit Zeile 11 und endet in Zeile 37. Sie enthält imperatives Coding, womit die ganze Prozedur imperativ ist. Der Parameter IV_MAX der Prozedur wird in Zeile 11 an den Parameter IV_A der Funktion weitergegeben. Dieser wird dann […]

Rekursive Prozeduraufrufe in SQLScript

Bis SAP HANA 2.0 SPS03 waren rekursive Aufrufe Prozeduren in SQLScript nicht erlaubt. Das bedeutet, dass sich eine Prozedur weder direkt noch indirekt über andere Prozeduren aufrufen darf. Diese Einschränkung wurde mit dem SPS04 aufgehoben. Allerdings ist die Aufruftiefe auf 32 beschränkt und Prozeduren in Bibliotheken erlauben ebenfalls keine rekursiven Aufrufe. In sehen Sie ein Beispiel […]

Optimale Paketgröße der DTPs

Mit dem BW/4HANA 2.0 habe ich beobachtet, dass sich die Paketgröße der DTPs vom System dynamisch vorgeschlagen wird. In der Abbildung 1 sieht man beispielsweise eine vorgeschlagene Größe von 1.311.000 Datensätzen. Damit wagt sich das System in eine Größenordnung vor, die aus eigener praktischer Erfahrung besser ist, als der ehemalige fixe Standardwert von 100.000 Zeilen. […]

BW/4HANA Cockpit – Wo ist die Administration in der SAP GUI?

Mit BW/4HANA 2.0 ist die Administration von InfoProvidern und Requests in der SAP GUI nicht mehr vorgesehen. Statt dessen öffnet sich ein Browser Fenster mit dem SAP BW/4HANA Cockpit, wenn wir auf die Administration der ADSOs klicken oder ein DTP starten und sich der DTP Monitor öffnen sollte. Die Dokumentation der SAP für das BW/4HANA […]

Transporte in ein SAP CAL System hochladen

In der SAP Cloud Appliance Library (CAL) kann man mit wenig Aufwand die neusten Systeme der SAP in der Cloud nutzen. Manche der Systeme sind für bestimmte Zwecke kostenlos, und eignen sich hervorragend für das erlernen neuer Technologien. Insbesondere die DEV-Systeme kann man hierfür gut nutzen. Falls man sich als normaler Entwickler ein solches System […]

Enable SQLScript Debugging for the Web-based Development Workbench (WBDW)

With SPS09 the Web-Based Development Workbench (WBDW) got a full-fledged debugger for SQLScript. You can set breakpoints in procedures and go step-by-step through the program code. External debugging for another user is also possible. Some features that you may be used to from the ABAP debugger are not available in the SQLScript debuggers. These include, […]