Das sind die Folien zu unserem Webinar vom 25.1.2019 über die releasespezifischen Neuheiten welche mit ABAP 7.51 zur Verfügung stehen.
Unter Anderem wurden folgende Themen behandelt:
Enumerations
ABAP Open SQL
ABAP SQL / CDS – Eingebaute Funktionen
ABAP CDS
ABAP Development Tools
ABAP Test Cockpit Checks
ABAP Channels, ABAP Daemons
Schnelle Serialisierung für RFC
In diesem Webinar haben wir das Thema ABAP & Performance behandelt. Im Detail sind wir auf folgende Themen eingegangen:
- Skill
- Detect
- Optimize
Skill: Welche Skills sind notwendig? Wie erlange ich diese Skills? Welche Plattformen, welche Netzwerke sind sinnvoll?
Detect: Welche Tools stehen in einem SAP System zur Verfügung?
Optimize: Welche Möglichkeiten der Performanceoptimierung sind möglich und sinnvoll?
Das sind die Folien zu unserem Webinar vom 27.3.2020 über die releasespezifischen Neuheiten welche mit ABAP 7.53/7.54 zur Verfügung stehen.
Unter Anderem wurden folgende Themen behandelt:
ABAP Dictionary
Interne Tabellen
Zuweisungen
ABAP SQL
AMDP
ABAP CDS
ABAP RESTful Programming Model
Exceptionhandling
ABAP Units
ABAP Development Tools
Das sind die Folien zu unserem Webinar vom 29.3.2019 zum Thema Modern ABAP.
Unter Anderem wurden folgende Themen behandelt:
ABAP Sprachversionen
SAP Cloud Platform ABAP Environment
ABAP Development Tools
ABAP Sprachelemente und SQL Expressions
Obsolete Sprachelemente
abapGit
CDS Views
ABAP RESTful Programming Model
Code Checks in SAP
Clean Code
Refactoring
Prüfen Sie Ihre ABAP SQL Abfragen auf SAP HANA TauglichkeitCadaxo GmbH
"Prüfen Sie Ihre SELECTs auf HANA-Tauglichkeit!" Johann Fößleitner, Geschäftsführer von Cadaxo GmbH, wird Ihnen in diesem einstündigen Tutorial
zeigen, wie Sie mit dem SQL Cockpit mehr aus Ihrem SAP HANA herausholen.
Das sind die Folien zu unserem Webinar vom 25.1.2019 über die releasespezifischen Neuheiten welche mit ABAP 7.51 zur Verfügung stehen.
Unter Anderem wurden folgende Themen behandelt:
Enumerations
ABAP Open SQL
ABAP SQL / CDS – Eingebaute Funktionen
ABAP CDS
ABAP Development Tools
ABAP Test Cockpit Checks
ABAP Channels, ABAP Daemons
Schnelle Serialisierung für RFC
In diesem Webinar haben wir das Thema ABAP & Performance behandelt. Im Detail sind wir auf folgende Themen eingegangen:
- Skill
- Detect
- Optimize
Skill: Welche Skills sind notwendig? Wie erlange ich diese Skills? Welche Plattformen, welche Netzwerke sind sinnvoll?
Detect: Welche Tools stehen in einem SAP System zur Verfügung?
Optimize: Welche Möglichkeiten der Performanceoptimierung sind möglich und sinnvoll?
Das sind die Folien zu unserem Webinar vom 27.3.2020 über die releasespezifischen Neuheiten welche mit ABAP 7.53/7.54 zur Verfügung stehen.
Unter Anderem wurden folgende Themen behandelt:
ABAP Dictionary
Interne Tabellen
Zuweisungen
ABAP SQL
AMDP
ABAP CDS
ABAP RESTful Programming Model
Exceptionhandling
ABAP Units
ABAP Development Tools
Das sind die Folien zu unserem Webinar vom 29.3.2019 zum Thema Modern ABAP.
Unter Anderem wurden folgende Themen behandelt:
ABAP Sprachversionen
SAP Cloud Platform ABAP Environment
ABAP Development Tools
ABAP Sprachelemente und SQL Expressions
Obsolete Sprachelemente
abapGit
CDS Views
ABAP RESTful Programming Model
Code Checks in SAP
Clean Code
Refactoring
Prüfen Sie Ihre ABAP SQL Abfragen auf SAP HANA TauglichkeitCadaxo GmbH
"Prüfen Sie Ihre SELECTs auf HANA-Tauglichkeit!" Johann Fößleitner, Geschäftsführer von Cadaxo GmbH, wird Ihnen in diesem einstündigen Tutorial
zeigen, wie Sie mit dem SQL Cockpit mehr aus Ihrem SAP HANA herausholen.
Entwurfsmuster sind bewährte Lösungsschablonen für wiederkehrende Entwurfsprobleme in der Softwareentwicklung. Diese Entwurfsmuster können auch in ABAP eingesetzt werden.
In diesem Webinar haben wir einen Einblick in die Entwurfsmuster gegeben und anhand von 3 Praxisbeispielen deren Anwendung in ABAP veranschaulicht.
Dies sind die Slides unseres Webinars zum Thema SAP ABAP CDS Views. Das Webinar fand am 24.6.2017 statt.
Themen: CDS Views, Eingebaute Funktionen, Parameter in CDS Views, Associations, Annotations, Integration NetWeaver Gateway, Berechtigungen, Table Functions
Das sind die Folien zu unserem Webinar vom 29.5.2020 zum Thema: SAP/ABAP und Microsoft
Unter Anderem wurden folgende Themen behandelt:
- ABAP2XSLX
- ABAP SDK for Azure
- Microsoft Graph API (aus ABAP!)
Dies sind die Slides unseres Webinars mit dem Thema SAP BOPF, welches wir am 27.1.2017 abgehalten haben.
Das SAP BOPF (Business Object Processing Framework) besteht aus einer Reihe von Diensten und Funktionalitäten die zur Standardisierung bzw. Modularisierung von ABAP Entwicklungen dient.
Neben einem theoretischen Überblick und ausgewählten Live Demos haben wir auch Erfahrungen aus 2 Projekten wiedergegeben.
Dies sind die Slides unseres Webinars zum Thema SAP Gateway. Das Webinar fand am 24. November 2017 statt.
Themen: REST / OData Überblick, SAP Gateway Überblick, Service Generierung, CDS -> Odata, Annotations
Abap 7.02 new features - neue stringfunktionenCadaxo GmbH
Der Foliensatz liefert einen Überblick über neue Stringfunktionen welcher seit ABAP 7.02 vorhanden sind. Alle wichtigen Funktionen werden mit Beispielen erklärt.
This document discusses security vulnerabilities in SAP systems. It notes that many SAP systems have non-web services exposed that could allow remote access. It also details how passwords are sometimes stored insecurely in SAP shortcuts, log files, and database tables, allowing attackers to gain access to systems and steal sensitive data. The document recommends steps companies can take to prevent such vulnerabilities, like patching systems, not storing passwords in shortcuts, and using more secure authentication methods.
Hierbei handelt es sich um das Handout des Vortrags zum Thema "ABAP Test & Troubleshooting" während des SAP Inside Track Munich 2013 von Martin Steinberg.
Das Handout beinhaltet alle besprochenen Themen und einiges darüber hinaus.
1) The document describes how to build a simple two screen WebDynpro application in ABAP to accept user input on the first screen and display it on the second screen.
2) Key steps include creating a WebDynpro component and views, designing the screens with labels, input fields and buttons, mapping attributes and nodes between views, and embedding the views in a window with navigation between them.
3) Testing involves creating a WebDynpro application from the component, saving without changes, and executing to view the input and output screens.
Single Consulting busca analistas programadores ABAP IV con al menos 1 año de experiencia en proyectos SAP para sus oficinas en Madrid y Barcelona. Single Consulting es una consultora líder con presencia en España y otros países que ofrece contratos indefinidos y salarios atractivos. Los candidatos deben tener conocimientos de programación ABAP IV y nivel medio de inglés.
ABAP es el lenguaje de programación utilizado para desarrollar aplicaciones en SAP. Un programador ABAP crea nuevos programas y modifica los existentes para adaptar el sistema SAP a los requisitos específicos de cada cliente. SAP AG es la empresa alemana que fabrica el sistema SAP y es considerada el mayor fabricante europeo de software empresarial.
ITSS Trainning | Curso de SAP ABAP FoundationsCharles Aragão
OBJETIVO DO CURSO:
Este curso tem como objetivo capacitar Programadores e Analistas de Sistemas à fornecerem soluções no seguimento SAP através da linguagem ABAP. Ao contemplar a parte de ABAP Foundations nesses módulos, os mesmos terão adquirido um conhecimento básico para aplicações SAP e entender os fundamentos das mesmas.
This document provides an overview of ABAP Query and demonstrates how to create an ABAP Query report. It describes ABAP Query as a tool for generating reports without coding by joining tables and selecting fields. It then provides a case example of a purchase order report and walks through the three steps to create the query: 1) defining a user group, 2) creating an infoset by joining relevant tables, and 3) using the infoset to build the query and arrange the fields and layout of the report. Tips are also provided, such as modifying existing queries by accessing the underlying program.
O documento fornece instruções para criar views para tabelas no SAP. Ele descreve os passos para acessar a transação SE11, selecionar uma tabela, gerar a view, criar uma transação para a view na SE93 e configurar parâmetros para acessar a view.
Abap 7 02 new features - new string functionsCadaxo GmbH
The document describes new string functions introduced in ABAP 7.02, including cmax/cmin for character extreme values, condense for condensing strings, concat_lines_of for linking lines from a table, and over a dozen other functions for tasks like escaping characters, inserting/replacing/matching substrings, and comparing string distances. It also provides examples of how each function works.
O documento lista ícones utilizados no sistema SAP, incluindo seus nomes e breves descrições. São mostrados ícones relacionados a rotinas ABAP, análises, atividades, documentos, relatórios e outros elementos do sistema.
Este documento descreve comandos e funções utilizadas no ABAP/4 para desenvolvimento de programas no SAP R/3. As principais funções descritas incluem comandos para leitura e escrita de dados, controle de fluxo, criação de relatórios e interface com o usuário. Exemplos de uso são fornecidos para clarificar o propósito de cada comando.
Entwurfsmuster sind bewährte Lösungsschablonen für wiederkehrende Entwurfsprobleme in der Softwareentwicklung. Diese Entwurfsmuster können auch in ABAP eingesetzt werden.
In diesem Webinar haben wir einen Einblick in die Entwurfsmuster gegeben und anhand von 3 Praxisbeispielen deren Anwendung in ABAP veranschaulicht.
Dies sind die Slides unseres Webinars zum Thema SAP ABAP CDS Views. Das Webinar fand am 24.6.2017 statt.
Themen: CDS Views, Eingebaute Funktionen, Parameter in CDS Views, Associations, Annotations, Integration NetWeaver Gateway, Berechtigungen, Table Functions
Das sind die Folien zu unserem Webinar vom 29.5.2020 zum Thema: SAP/ABAP und Microsoft
Unter Anderem wurden folgende Themen behandelt:
- ABAP2XSLX
- ABAP SDK for Azure
- Microsoft Graph API (aus ABAP!)
Dies sind die Slides unseres Webinars mit dem Thema SAP BOPF, welches wir am 27.1.2017 abgehalten haben.
Das SAP BOPF (Business Object Processing Framework) besteht aus einer Reihe von Diensten und Funktionalitäten die zur Standardisierung bzw. Modularisierung von ABAP Entwicklungen dient.
Neben einem theoretischen Überblick und ausgewählten Live Demos haben wir auch Erfahrungen aus 2 Projekten wiedergegeben.
Dies sind die Slides unseres Webinars zum Thema SAP Gateway. Das Webinar fand am 24. November 2017 statt.
Themen: REST / OData Überblick, SAP Gateway Überblick, Service Generierung, CDS -> Odata, Annotations
Abap 7.02 new features - neue stringfunktionenCadaxo GmbH
Der Foliensatz liefert einen Überblick über neue Stringfunktionen welcher seit ABAP 7.02 vorhanden sind. Alle wichtigen Funktionen werden mit Beispielen erklärt.
This document discusses security vulnerabilities in SAP systems. It notes that many SAP systems have non-web services exposed that could allow remote access. It also details how passwords are sometimes stored insecurely in SAP shortcuts, log files, and database tables, allowing attackers to gain access to systems and steal sensitive data. The document recommends steps companies can take to prevent such vulnerabilities, like patching systems, not storing passwords in shortcuts, and using more secure authentication methods.
Hierbei handelt es sich um das Handout des Vortrags zum Thema "ABAP Test & Troubleshooting" während des SAP Inside Track Munich 2013 von Martin Steinberg.
Das Handout beinhaltet alle besprochenen Themen und einiges darüber hinaus.
1) The document describes how to build a simple two screen WebDynpro application in ABAP to accept user input on the first screen and display it on the second screen.
2) Key steps include creating a WebDynpro component and views, designing the screens with labels, input fields and buttons, mapping attributes and nodes between views, and embedding the views in a window with navigation between them.
3) Testing involves creating a WebDynpro application from the component, saving without changes, and executing to view the input and output screens.
Single Consulting busca analistas programadores ABAP IV con al menos 1 año de experiencia en proyectos SAP para sus oficinas en Madrid y Barcelona. Single Consulting es una consultora líder con presencia en España y otros países que ofrece contratos indefinidos y salarios atractivos. Los candidatos deben tener conocimientos de programación ABAP IV y nivel medio de inglés.
ABAP es el lenguaje de programación utilizado para desarrollar aplicaciones en SAP. Un programador ABAP crea nuevos programas y modifica los existentes para adaptar el sistema SAP a los requisitos específicos de cada cliente. SAP AG es la empresa alemana que fabrica el sistema SAP y es considerada el mayor fabricante europeo de software empresarial.
ITSS Trainning | Curso de SAP ABAP FoundationsCharles Aragão
OBJETIVO DO CURSO:
Este curso tem como objetivo capacitar Programadores e Analistas de Sistemas à fornecerem soluções no seguimento SAP através da linguagem ABAP. Ao contemplar a parte de ABAP Foundations nesses módulos, os mesmos terão adquirido um conhecimento básico para aplicações SAP e entender os fundamentos das mesmas.
This document provides an overview of ABAP Query and demonstrates how to create an ABAP Query report. It describes ABAP Query as a tool for generating reports without coding by joining tables and selecting fields. It then provides a case example of a purchase order report and walks through the three steps to create the query: 1) defining a user group, 2) creating an infoset by joining relevant tables, and 3) using the infoset to build the query and arrange the fields and layout of the report. Tips are also provided, such as modifying existing queries by accessing the underlying program.
O documento fornece instruções para criar views para tabelas no SAP. Ele descreve os passos para acessar a transação SE11, selecionar uma tabela, gerar a view, criar uma transação para a view na SE93 e configurar parâmetros para acessar a view.
Abap 7 02 new features - new string functionsCadaxo GmbH
The document describes new string functions introduced in ABAP 7.02, including cmax/cmin for character extreme values, condense for condensing strings, concat_lines_of for linking lines from a table, and over a dozen other functions for tasks like escaping characters, inserting/replacing/matching substrings, and comparing string distances. It also provides examples of how each function works.
O documento lista ícones utilizados no sistema SAP, incluindo seus nomes e breves descrições. São mostrados ícones relacionados a rotinas ABAP, análises, atividades, documentos, relatórios e outros elementos do sistema.
Este documento descreve comandos e funções utilizadas no ABAP/4 para desenvolvimento de programas no SAP R/3. As principais funções descritas incluem comandos para leitura e escrita de dados, controle de fluxo, criação de relatórios e interface com o usuário. Exemplos de uso são fornecidos para clarificar o propósito de cada comando.
The document contains a set of multiple choice questions related to various SAP concepts and technologies. Specifically, it tests knowledge on topics like READ with BINARY SEARCH, F1 help functionality, R/3 configuration, background job output, Dynpro flow logic, Idoc process code, GUI components, RFC call types, transaction codes, ABAP Dictionary usage, internal table types, subroutine interfaces, function module parameters, and client-independent objects. It contains 50 questions in total to assess an individual's familiarity with fundamental SAP technical concepts.
Este documento fornece instruções para criar funções no SAP através de 3 etapas: 1) Criar um Grupo de Funções informando nome, texto breve, pacote e ordem; 2) Acessar a transação SE37 e criar a função informando o módulo, grupo de funções e texto breve; 3) Abrir a tela de edição da função recém-criada.
This document outlines coding standards for developing ABAP programs. It covers standards for functional and technical specifications, the development lifecycle, types of ABAP programs, general coding practices, error handling, naming conventions, program structure, readability, security, performance, internal tables, SAPscript, user exits, logical databases, and documentation requirements. Adherence to these standards helps ensure consistent, readable, and maintainable code.
Events allow methods in one class to trigger methods in another class without instantiating the other class. To set up an event handler:
1. Create an event in a class.
2. Create a triggering method that raises the event.
3. Create an event handler method for the event in the same or another class.
4. Register the event handler method.
The triggering method calls the event, which executes the event handler method. Examples demonstrate setting up event handlers within the same class and across classes.
Manikanta Sai Kumar Karri is an SAP ABAP Associate Consultant with over 3 years of experience programming in SAP ABAP. He has worked on various SAP modules for clients in industries like healthcare, manufacturing, and retail. His responsibilities have included creating reports, forms, and remote-enabled functions for use with SAP UI5 and OData services. He is proficient in technologies like HTML5, CSS, JSON, JavaScript, and SAP Fiori.
This document introduces SAP software, the ABAP programming language, and the Development Workbench environment. It discusses that SAP is an ERP system that facilitates information flow between business functions. The ABAP language is an object-oriented programming language used to develop and modify SAP applications in an integrated development environment. Programs can be reports or dialog programs to read or change database tables.
Abap course chapter 6 specialities for erp softwareMilind Patil
This document discusses special topics for ERP software development in ABAP, including authorizations, locking objects, logical units of work, and updaters. Authorizations must be checked before programs access data. Locking objects prevent simultaneous changes to shared data. Logical units of work ensure data integrity by buffering database updates and only committing them when a transaction is complete. Updaters process the buffered updates and write them to the database.
Oracle SQL*Plus
Übersicht über das Werkzeug für die Oracle Datenbank
Arbeiten mit SQL*Plus
Quickconnect mit SQL*Plus 10g
Die SQL*Plus-Editier-Befehle
Erweiterte Funktionalität von SQL*Plus
Einige ausgewählte Oracle PL/SQL Packages aus Version 11g und 12c werden kurz beschrieben und an Beispielen erklärt. In Teil 1 handelt es sich dabei um folgende Packages:
DBMS_XDB_CONFIG
DBMS_COMPRESSION
DBMS_REDEFINITION
DBMS_SQL_MONITOR
DBMS_PARALLEL_EXECUTE
Einige ausgewählte Oracle PL/SQL Packages aus Version 11g und 12c werden kurz beschrieben und an Beispielen illlustriert. In Teil 2 handelt es sich dabei um:
DBMS_QOPATCH
DBMS_SPACE
DBMS_SERVICE
DBMS_FLASHBACK_ARCHIVE
Zusätzliche werden ein paar grundsätzliche Frage beantwortet wie zum Beispiel: wie finde ich einfach und schnell bestimmte PL/SQL Packages oder welche PL/SQL Packages sind obsolet.
It is obvious that for bulk data processing performance is the key factor. It often means balancing well structured, maintainable, reusable and high-performance code.
Even though there are more features and optimizations that support bulk processing with each release of PL/SQL, the "Pure SQL" approach often leads to better performance.
Best practices, tips and tricks. How do I develop a complex SQL? How can Subquery Factoring help to increase readability? How does this help to test complex SQLs? What is a Row Generator? How do I change the cardinality of the original data set?
Oracle-DB: Beeinflussen der Ausführungspläne von SQL-Statements ohne Code-Anp...Peter Ramm
Zur Beeinflussung der Laufzeit von SQL-Statements gibt es diverse Verfahren, Optimierung der SQL-Syntax, Nutzung von Optimizer-Hints etc. .
Diese erfordern aber oftmals ein Ausrollen der geänderten Software mit dem entsprechenden Zeit- und Prozessaufwand bis zur produktiven Aktivierung.
In kritischen Produktions-Szenarien ist oft eine schnellere Lösung von Problemen mit SQL-Ausführung nötig.
Dieser Vortrag demonstriert, mit welchen Verfahren der Oracle-DB sich SQL-Ausführungen auch ohne Ausrollen von Software-Änderungen ad hoc beeinflussen lassen.
Das Tool Panorama erlaubt dabei über GUI die Identifikation der kritischen SQL und Generierung der für ihre schnelle Optimierung nötigen komplexen DB-Kommandos.
Einige ausgewählte Oracle PL/SQL Packages aus Version 11g und 12c werden kurz beschrieben und illustriert an Beispielen. In Teil 3 handelt es sich dabei um:
DBMS_XPLAN
DBMS_ASSERT
DBMS_RESUMABLE
DBMS_UTILITY
Webinar vom 18.12.2013
Amazon DynamoDB ist eine hoch skalierbare NoSQL Datenbank, die konsistente Lese- und Schreibperformance im einstelligen Millisekundenbereich auch für sehr große Anzahlen von Lese- und Schreibvorgängen bietet ohne dass sich der Entwickler um das Aufsetzen und die Wartung des Clusters kümmern muss. In diesem Webinar geben wir einen Überblick, erklären Datenmodelle und Anwendungfälle.
Does SOA relate to user interfaces? Can services be part of the presentation layer? Can service-orientation be applied to human-service interaction? The answer to all of these questions is, in fact, "yes", but only if we understand the unique requirements of designing and using services with the human end-user in mind.
By Torsten Winterberg (OPITZ CONSULTING) and Berthold Maier (Oracle Consulting Deutschland)
Komprimierung in der Oracle Datenbank (Stand 11gR2, 12c)Ulrike Schwinn
Schon seit vielen Jahren ist die Komprimierung von Daten ein wichtiger Bestandteil der Oracle Datenbank und wird beständig weiterentwickelt. Dies zeigte sich besonders auch im Datenbankrelease 11g mit der Einführung von neuen Techniken im Zusammenhang mit der neuen Option Advanced Compression. Die Komprimierung ist nun beispielsweise unabhängig vom Anwendungs– Workload und zusätzlich um die Bereiche unstrukturierte Daten, Backup Daten und Netzwerk (im Data Guard Umfeld) Komprimierung erweitert worden.
In Oracle Database 12c sind sogar Eigenschaften zur Verbesserung des Storage Management ergänzt worden. DieSlides geben einen Übernlick über den Stand der Komorimierung in der Oracle datenabnk bis zum aktuellen Release Stand
In loser Folge werden Tipps und Tricks aus allen Bereichen der Programmierung in Lotus Notes/Domino vorgestellt. @Formula, LotusScript, XPages, LS2CApi.
Wie konfiguriere ich den Domino Designer?
Welche kostenlosen Tools können mir meine Arbeit erleichtern?
Warum ist es wichtig, richtig zu "dimmen"?
Richtext kann mit LotusScript im Backend nicht in Richtext eingefügt werden. Oder etwa doch? @Transform / @Sort. Was kann man denn damit machen?
8.5.3, was gibt es Neues im Bereich @Formula / LotusScript.
Zielgruppe sind alle, die sich mit Applikationsentwicklung beschäftigen. Anfänger und "alte Hasen"; es ist für jeden etwas dabei.
Kenntnisse: Grundlagen der Entwicklung in Lotus Notes/Domino
Oracle implementierte über 500 neue Funktionen in die neuste Datenbankversion 12c. Da ist es schwierig, eine einzelne neue Funktion herauszupicken. Multitenant Pluggable Database, Life Cycle Management oder neue Funktionen im Bereich «High Availablity» sind nun verfügbar.
Fachspezialisten von Oracle gaben im Rahmen der Partnerschaft von Digicomp zu Oracle University einen Einblick in die Fülle und die Möglichkeiten der Version 12c.
Die Inhalte zielen auf alle Benutzergruppen der Oracle-DB: Administratoren, Entwickler, technische Berater, Consultants, High-Level-Manager, IT-Entscheider und alle anderen mit Interesse an der Weiterentwicklung der DB.
Ähnlich wie Webinar ABAP 7.40 sp5/sp8 Releaseinformationen (20)
Refactoring is changing the internal structure of code without changing its external behavior in order to improve various attributes of the software. It involves techniques like renaming variables and methods for clarity, extracting duplicate code into functions, and restructuring classes and modules to make the design and logic easier to understand. The key benefits of refactoring include improving code quality, maintainability and extensibility which allows adding new functionality more quickly.
The document describes SQL Cockpit, a tool for querying, modifying, and analyzing data in SAP systems. It provides an ABAP Open SQL editor with features like code completion, logging of changes, and auditability confirmed by Ernst & Young. SQL Cockpit is available in Standard and Premium versions, and it supports SQL features through all recent SAP releases. It has advantages over built-in SAP tools like more query flexibility and additional authorizations.
Was steckt hinter den Hype "Clean Code"? Die meisten denken in erster Linie an Quellcode, jedoch ist es nur ein Teil des Ganzen. Regeln, Konzepte und Richtlinien gehören mit dazu und entscheiden, ob stabile und wartbare Programme entstehen, die zum Unternehmenserfolg oder auch -ruin beitragen.
Zu dem Thema "Clean Code" haben wir am 12.8.2016 ein Webinar abgehalten und das sind die dazugehörigen Folien.
2. Johann Fößleitner
Senior Consultant
Ich bin ABAP
SAP Entwickler seit 25 Jahren
Danke, dass ihr dabei seid!
Wir starten in ein paar Minuten
Domik Bigl
Senior Consultant
Geht nicht gibt’s nicht
Unterwegs in SAP seit 2001
3. ABAP New Open SQL
Neue Syntax, SQL Expressions
ABAP Core Data Services
CDS Views
ABAP Messaging Channels
ABAP Push Channels
Ausdrücke und Funktionen
Sonstiges
Agenda
4. SQL 92 Standard
Advanced Open SQL
SQL Einschränkungen in ABAP vor 7.40
◦ Jahrelanger Stillstand
◦ Kein UNION bzw. UNION ALL
◦ Einschränkungen betr. JOIN Typen
◦ Keine Expressions
◦ …
Open SQL vor 7.40
Open SQL
5. Code Pushdown to the Database
◦ ABAP Open SQL Expressions
◦ ABAP Core Data Services (CDS Views)
◦ ABAP Managed Database Procedures (AMDP)
Code Pushdown
6. Neue Open SQL Syntax
◦ Escaping von Hostvariablen mit @
◦ Separierung von Elemente mit Kommas
SQL Syntax
DATA: L_HUGO TYPE C LENGTH 10.
SELECT mc_name1,
@l_hugo AS hugo,
@sy-uname AS userid,
'X' AS true
FROM TABLE BUT000
INTO @ls_result.
ABAP Code
8. SQL Expressions
* Case Expression
select mc_name1,
case when type = '1' then 'Person‘
when type = '2' then 'Unternehmen‘
else ‘Unbekannt‘
end as type_desc
from but000
…
SQL Expressions – Beispiel CASE
ABAP Code
9. SQL Expressions
◦ Fallunterscheidung mit CASE
◦ Arithmetic Expressions
+, -, *, /, ABS, CEIL, FLOOR, DIV, MOD, …
◦ Verketten von Spalten mit &&
◦ Typanpassung mit CAST für FLTP Dictionary Typen
◦ COALESCE-Funktion
◦ Festwerte
SQL Expressions
10. SQL Expressions können kombiniert werden
◦ Priorisierung mit Klammern
SQL Expressions
* Case Expression
select type,
case when type = '1' then ( 'Person' && '/' && type )
when type = '2' then ( 'Unternehmen' && '/' && type )
end as type_desc,
mc_name1
from but000
…
ABAP Code
12. CDS Core Data Services
◦ Next Generation Data/View Definition
◦ CDS beinhaltet
Data Definition Language (DDL)
(ab 7.50 Data Control Language (DCL) )
◦ 100% in ABAP integriert
ABAP Dictionary
Transportmanagement
Modifikationsfrei erweiterbar
◦ Pflege über ABAP in Eclipse
◦ Zugriff via Open SQL
CDS Views
13. CDS Views
SE11 – traditioneller Datenbankview Einschränkungen
◦ Keine Outer Joins
◦ Keine komplexen Joins
◦ Keine Kommentare
◦ Kein UNION
◦ Kein View -> View
◦ …
14. CDS Views
◦ Definition in DDL
Syntax ist sehr ähnlich zu Open SQL
◦ CDS View Entity: ZCDSVIEW_ENT
◦ CDS View DB: ZCDSVIEW_DB
@AbapCatalog.sqlViewName: 'ZCDSVIEW_DB'
/* Demo */
define view ZCDSVIEW_ENT
as select from but000
{
partner,
mc_name1,
mc_name2,
}
CDS View
15. CDS Views
◦ Code Pushdown durch erweiterte View Funktionalitäten
Mehr Möglichkeiten als bei Open SQL Expressions
◦ Volle Integration in die ABAP Welt (z.B. Transportmanagment)
◦ Pflege (derzeit?) ausschließlich über ABAP in Eclipse
◦ Open SQL Zugriff auf die Views natürlich möglich
◦ CDS Views sind erweiterbar
◦ View on View möglich
CDS Views
16. CDS Build-in Expressions
CDS Views - Associations & Annotations
Konvertierungs-
funktionen
CURRENCY_CONV
UNIT_CONV
DECIMAL_SHIFT
Zeichenketten-
funktionen
CONCAT
LPAD
REPLACE
SUBSTRING
Numerische
Funktionen
ABS
CEIL
DIV
DIVISION
FLOOR
MOD
ROUND
Zeit/Datum
Funktionen
DATS_IS_VALID
TIMS_IS_VALID
DATS_ADD_DAYS
…
Coalesce-
Funktion
COALESCE
Neu ab
7.50
Viele neue Funktionen ab 7.50
17. CDS Views - Annotations
◦ Ermöglicht das Anreichern von
Metadaten direkt im View
◦ Beispiele
SAP Pufferung aktiv
Mandantenhandling
Label bzw. Quickinfo
…
CDS Views - Annotations
CDS
BI Tools
OData
AnalyticsPlanning
…
18. CDS Views - Annotations
@AbapCatalog.sqlViewName: 'zcdsview_foe2_db'
@AbapCatalog.compiler.CompareFilter: true
@AccessControl.authorizationCheck: #CHECK
define view Zcdsview_Foe2
with parameters exc_date: abap.dats,
to_curr: abap.cuky(5)
as select from zdatentypen {
zdatentypen.curr as original,
@EndUserText.label: Currency‘
zdatentypen.cuky as currency,
…
Core Annotations
Element Annotations
19. CDS Views Ausblick
◦ CDS Zugriffskontrolle ab 7.40 SP10
Der Zugriff auf CDS Views kann mit der neuen Datenkontrollsprache (DCL)
geschützt werden
Verknüpfung mit PFCG Rollen möglich
◦ Neue SQL Funktionen ab 7.50
CONCAT, LEFT, LENGTH, LTRIM, …
Eingebaute Datumsfunktionen (DATS_DAYS_BETWEEN, DATS_IS_VALID … )
◦ Vertreterobjekte ab 7.50
Mit einigen Einschränkungen (und großer Vorsicht) können CDS Views als
Vertreterobjekte für Datenbanktabellen definiert werden
◦ …
CDS Views
20. Open SQL Ausblick ab 7.50
◦ UNION/UNION ALL
◦ SQL Expression können auch in WHERE, HAVING, …
◦ Neue SQL Expressions
CONCAT, LPAD, LENGTH, …
◦ Subqueries als Source für INSERTS
◦ GTT Global Temporary Tables
◦ …
CDS Views
21. CDS Views vs. Open SQL Expressions
• Re-Use Scenarien
• Views können verschachtelt
werden!!
• CDS Features
• ASSOCIATION, UNION, UNION
ALL, Mengen bzw. Währungs
Umrechnungen
CDS Views Open SQL
• Einmalverwendungen
• FOR ALL ENTRIES
30. Konstruktorausdrücken / Inline-Deklarationen
◦ VALUE
◦ NEW
◦ CONV
◦ COND/SWITCH
◦ DATA()
◦ FIELD-SYMBOL()
Konstruktorausdrücken / Inline-Deklarationen
31. DATA(lt_but000) = VALUE bup_but000_t( ). " TYPE STANDARD TABLE OF BUT000
DATA(ltr_but000) = NEW bup_but000_t( ).
"bisher
DATA lt_but000 TYPE bup_but000_t.
DATA ltr_but000 TYPE REF TO bup_but000_t.
Konstruktorausdrücken / Inline-Deklarationen
32. LOOP AT lt_but000 ASSIGNING FIELD-SYMBOL(<lwa_but000>).
...
ENDLOOP.
LOOP AT lt_but000 INTO DATA(lwa_but000).
...
ENDLOOP.
"bisher
DATA lwa_but000 LIKE LINE OF lt_but000.
LOOP AT lt_but000 INTO lwa_but000.
...
ENDLOOP.
Konstruktorausdrücken / Inline-Deklarationen
33. Aufbau Rangetable
"wfdst_partner_ranges_tab = TYPE RANGE TABLE FOR BU_PARTNER
DATA(lrt_partner) = VALUE wfdst_partner_ranges_tab( sign = 'I'
option = 'EQ'
( low = 1 )
( low = 2 )
( low = 3 ) ).
* "bisher
DATA lrt_partner TYPE wfdst_partner_ranges_tab.
DATA: lrwa_partner LIKE LINE OF lrt_partner.
lrwa_partner-sign = 'I'.
lrwa_partner-option = 'EQ'.
lrwa_partner-low = 1.
APPEND lrwa_partner TO lrt_partner.
lrwa_partner-low = 2.
APPEND lrwa_partner TO lrt_partner.
Konstruktorausdrücken / Inline-Deklarationen
45. Sonstige interessante ABAP Neuerungen in SP5/SP8
◦ MOVE-CORRESPONDING für interne Tabellen (SP5)
◦ WAIT UP TO – Angabe ab nun in Millisekunden möglich (SP8)
◦ Outer Joins – On-Condition nun auch <, <=, >, >=, <>, between
und Literale verwendbar.
◦ Meshes
Spezielle Strukturen die als Komponenten interne Tabellen haben
welche über Assoziationen verknüpft sind.
Der Zugriff erfolgt über Mesh-Pfade
◦ …
Sonstiges