Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
1 Einleitung
15
1 Grundlagen der SAP-Schnittstellenprogrammierung
19
1.1 SAP NetWeaver Application Server
19
1.1.1 SAP-Lösungen und SAP NetWeaver
19
1.1.2 SAP NetWeaver Application Server ABAP
21
1.1.3 SAP NetWeaver Application Server Java
35
1.2 Sicherheit
40
1.2.1 Sicherheit in heterogenen Landschaften
40
1.2.2 User Management Engine
44
1.2.3 KeyStores: Authentifizierung, Signierung, Verschlüsselung
46
1.3 Authentifizierung und Autorisierung
50
1.3.1 Single Sign-on mit SAP Enterprise Portal
51
1.3.2 Sichere Integration externer Systeme
56
1.4 Programmierung des SAP NetWeaver Application Servers ABAP
67
1.4.1 ABAP Dictionary
68
1.4.2 Authentifizierung und Autorisierung
72
1.4.3 Nummernkreise
73
1.4.4 Funktionsbausteine
74
1.4.5 Verbuchungsbausteine
76
1.4.6 Anwendungsfunktionalität und Benutzeroberflächen
78
1.5 Überblick über die Schnittstellentechnologien von SAP
79
1.5.1 Dateischnittstelle
79
1.5.2 Remote Function Call (RFC)
81
1.5.3 Business Application Programming Interface (BAPI)
91
1.5.4 Application Link Enabling (ALE)
94
1.5.5 SOAP
100
1.5.6 OData
101
1.5.7 ABAP Channels
102
2 Remote Function Call mit ABAP
103
2.1 RFC-Funktionsbausteine in ABAP
103
2.1.1 Funktionsbausteine zum Lesen
103
2.1.2 Aufruf per sRFC
106
2.1.3 Funktionsbausteine zum Löschen und Ändern
109
2.2 Transaktionaler RFC
114
2.3 Queued RFC
121
2.3.1 qRFC mit Ausgangswarteschlange
122
2.3.2 qRFC mit Ausgangs- und Eingangswarteschlange
125
2.4 Background-RFC
128
2.4.1 Programmierung mit bgRFC
129
2.4.2 Konfiguration des bgRFC
132
2.5 Business-Objekte und BAPIs
136
2.5.1 Entwicklung von Business-Objekten
136
2.5.2 Entwicklung von BAPIs
138
2.5.3 Business-Objekt »Helpvalues«
160
3 Remote Function Call mit C/C++
165
3.1 SAP NetWeaver RFC SDK
165
3.1.1 Inhalte des SAP NetWeaver RFC SDK
165
3.1.2 Kompilieren und Linken von C- und C++-Programmen
167
3.2 Einfache SAP-NetWeaver-RFC-Clients
172
3.2.1 Aufbau eines SAP-NetWeaver-RFC-Clients
172
3.2.2 Einfache Parameter
180
3.2.3 Strukturierte Parameter
182
3.2.4 Tabellenparameter
183
3.3 Komplexe SAP-NetWeaver-RFC-Clients
186
3.3.1 Aufruf von BAPIs
186
3.3.2 Transaktionaler RFC-Client
189
3.3.3 Queued RFC-Client
201
3.4 SAP-NetWeaver-RFC-Server
201
3.4.1 Einfacher RFC-Server
202
3.4.2 Implementierung der Funktionen
206
3.4.3 Transaktionaler RFC-Server
210
4 Remote Function Call mit Java
221
4.1 SAP Java Connector
221
4.1.1 Installation
221
4.1.2 Architektur des SAP Java Connectors
223
4.1.3 Programmierung mit dem SAP Java Connector
225
4.1.4 Verarbeitung von Tabellen und Strukturen
234
4.1.5 Transaktionaler RFC
237
4.1.6 Queued RFC
239
4.1.7 Metadatenverarbeitung
241
4.2 SAP Enterprise Connector
242
4.2.1 Erzeugen von Proxy-Klassen
244
4.2.2 Programmierung des Clients
248
4.3 Nutzung generischer Backend-Modelle
250
4.3.1 Generische Proxy-Klassen
250
4.3.2 Klassenabhängigkeiten
252
4.3.3 Konfiguration der Destinationen
253
4.3.4 Implementierung
256
4.4 RFC-Server
264
4.4.1 Serverseitiges und clientseitiges Repository
264
4.4.2 Programmierung eines einfachen JCo-Servers
267
4.4.3 Registrieren eines Funktions-Handlers
269
4.4.4 Verwaltung von Transaktionen
271
4.5 SAP Enterprise Portal Connector Framework
272
4.5.1 Java Connector Architecture
273
4.5.2 System Landscape des Portals
274
4.5.3 Einführung in die Portalprogrammierung
276
4.5.4 Anwendungsbeispiel des Connector Frameworks
279
5 Remote Function Call mit C#
287
5.1 SAP .NET Connector
287
5.1.1 Installation des SAP .NET Connectors
288
5.1.2 Verwendung des SAP .NET Connectors in Visual-Studio-Projekten
290
5.2 Einfache RFC-Clients
292
5.2.1 Aufbau eines einfachen RFC-Clients
292
5.2.2 Destinationsmanagement
294
5.2.3 Repository und Metadaten
301
5.2.4 Einfache Parameter
303
5.2.5 Strukturierte Parameter
304
5.2.6 Tabellenparameter
307
5.2.7 Ausnahmebehandlung
309
5.3 Komplexe RFC-Clients
312
5.3.1 Aufruf von BAPIs und Session-Management
312
5.3.2 Transaktionaler RFC
315
5.3.3 Queued RFC
330
5.3.4 Background RFC
330
5.4 RFC-Server
333
5.4.1 Serverkonfiguration und Implementierung
334
5.4.2 Repository-Management
342
5.4.3 Sicherheitsmanagement
342
5.4.4 Session-Management
344
5.4.5 Transaktionaler RFC
346
5.4.6 Queued RFC
348
5.4.7 Background RFC
349
5.4.8 Zustand des Servers überwachen
350
6 IDocs und Application Link Enabling
351
6.1 IDocs
351
6.1.1 Entwicklung von IDocs
352
6.1.2 Erzeugung von IDocs
355
6.1.3 Eingangsverarbeitung von IDocs
359
6.2 Application Link Enabling
364
6.2.1 Konfiguration von ALE
364
6.2.2 Test und Monitoring
370
6.2.3 ALE-Schnittstelle für BAPIs
371
6.3 IDoc-Programmierung mit dem SAP NetWeaver RFC SDK
375
6.3.1 IDoc-Empfänger
376
6.3.2 IDoc-Sender
378
6.4 IDoc-Programmierung mit Java und dem SAP Java Connector
379
6.4.1 Vorbereitung zur Verwendung der IDoc-Bibliotheken
379
6.4.2 Client-Anwendung für IDocs
380
6.4.3 IDoc-Server
385
6.4.4 Konfiguration für den Versand von IDocs
387
6.5 IDoc-Programmierung mit dem SAP .NET Connector
388
6.5.1 IDoc-Empfänger
389
6.5.2 IDoc-Sender
390
7 SOAP
393
7.1 Inside-Out-Webservices und Webclients mit dem AS ABAP
393
7.1.1 ABAP-SOAP-Webservice
394
7.1.2 ABAP-SOAP-Webclient
403
7.2 Outside-In-Webservices und Webclients mit dem AS ABAP
407
7.2.1 System Landscape Directory
408
7.2.2 Service-Interfaces
409
7.2.3 Das Backend Repository
412
7.2.4 ABAP-SOAP-Proxys
416
7.3 Webservices und Webclients mit dem AS Java
420
7.3.1 Webservice-Infrastruktur im AS Java
420
7.3.2 Webservice-Provider mit J2EE
423
7.3.3 Webservice-Clients
430
7.3.4 Adaptiver Webservice mit Web Dynpro
434
7.3.5 Webservice-Programmierung mit SAP JEE
435
7.4 SOAP-Programmierung mit Java
455
7.4.1 Java API for XML Web Services
455
7.4.2 Implementierung eines Webservice-Clients
457
7.4.3 Implementierung eines Webservice-Providers
458
7.5 SOAP-Programmierung mit C#
459
8 SAP Gateway und OData
465
8.1 SAP Gateway
465
8.1.1 Embedded Deployment
466
8.1.2 Central Hub Deployment
467
8.2 OData-Protokoll
468
8.2.1 Atom-Syndication-Format
468
8.2.2 Representational State Transfer
468
8.2.3 OData-Datenmodell
470
8.3 OData-Services entwickeln
474
8.3.1 Beschreibung des Datenmodells
476
8.3.2 Generierung der Komponenten und Anlegen des OData-Service
479
8.3.3 Implementierung der Data-Provider-Klasse
482
8.3.4 Monitoring und Fehlersuche
496
8.4 OData-Services mit SAPUI5 konsumieren
498
8.4.1 Überblick über SAPUI5
498
8.4.2 Konfiguration des SAP Cloud Platform Cloud Connectors
501
8.4.3 Konsumieren eines OData-Service
510
8.5 OData-Services mit C# konsumieren
522
8.6 OData-Services mit Java konsumieren
529
8.6.1 Einführung in Apache Olingo
529
8.6.2 Download und Installation von Apache Olingo
529
8.6.3 Implementierung eines OData-Clients mit Java
531
9 SAP HANA XSA und CDS für ABAP
541
9.1 Native SAP-HANA-Programmierung
541
9.1.1 Einführung in SAP HANA XSA
541
9.1.2 Einführung in die Programmierung von SAP HANA XSA
545
9.1.3 Implementierung eines OData-Service mit SAP HANA XSA
554
9.1.4 Serverseitiges JavaScript
558
9.2 Core Data Services für ABAP
566
9.2.1 Einführung in die Programmierung mit ABAP CDS
567
9.2.2 ABAP CDS Views implementieren
569
9.2.3 OData-Service registrieren
578
10 ABAP Channels
583
10.1 ABAP Push Channels
584
10.1.1 Ein einfacher ABAP Push Channel
584
10.1.2 Ein einfacher WebSocket-Client
587
10.2 ABAP Message Channels
589
10.2.1 AMC als Repository-Objekte
589
10.2.2 AMC-Sender
591
10.2.3 AMC-Empfänger
592
10.3 Kollaborationsszenario mit ABAP Channels
594
10.3.1 BOR-Ereignisse definieren
595
10.3.2 AMC-Sender definieren
597
10.3.3 APC-Handler-Klasse festlegen
599
10.3.4 Szenario testen
600
10.4 AS ABAP als Push-Channel-Client
601
10.4.1 Ein einfacher Push-Channel-Client
602
10.4.2 AS ABAP als Detached-Push-Channel-Client
605
Literaturhinweise
609
Die Autoren
611
Index
613