Komponenten der SAP-Kommunikationstechnologie
Technische Grundlagen
Anwendungsbeispiele: Synchrone Kommunikation
Anwendungsbeispiele: Asynchrone Kommunikation
Anwendungsbeispiele: Kommunikation mit Nicht-ABAP-Technologien
Klassische SAP-Technologien (ABAP)
RFC
RFC-Programmierung in ABAP
RFC-Grundlagen
Die RFC-Schnittstelle
RFC in SAP-Systemen
RFC-Destination
RFC-Leistungsprofil
RFC-Kontext
RFC-Ausnahmen
RFC-Systemfelder
RFC-Berechtigung
RFC-Trusted/Trusting-Systeme
RFC-Einschränkungen
Technische Voraussetzungen
Externe Systeme
SAP-Systeme
Codepages
Entfernte Destinationen pflegen
Destinationen anzeigen, pflegen und testen
Verbindungstypen
Destinationsparameter eingeben
Technische Einstellungen
Anmeldung und Sicherheit
Einstellungen für Codepages
Voreingestellte Codepages
Spezielle Optionen
Gruppendestinationen pflegen
Vertrauensbeziehungen zwischen SAP-Systemen
Vertrauensbeziehungen zwischen SAP Systemen pflegen
RFC-Funktionsbausteine in ABAP aufrufen
Einführung
Parameter in RFC-Aufrufen
Besonderheiten mit Unicode
RFC-Funktionen lokal aufrufen
RFC-Funktionen zurückrufen
CALL FUNCTION - RFC (RFC-Varianten)
Synchroner RFC (CALL FUNCTION-DESTINATION)
Vordefinierte Ausnahmen für RFCs verwenden
Transaktionale RFC-Aufrufe
CALL FUNCTION - IN BACKGROUND TASK
Transaktionale Integrität von tRFCs
Das qRFC Kommunikationsmodell
Asynchrone RFC-Aufrufe
Aufrufanforderungen für asynchrone RFCs
Ergebnisse von einem asynchronen RFC erhalten
Entfernte Kontexte aufrechterhalten
Parallelverarbeitung mit asynchronem RFC
CALL FUNCTION - STARTING NEW TASK
RECEIVE
WAIT UNTIL
RFC-Beispiel
RFC-Funktionsbausteine in ABAP schreiben
Schritte bei der Implementierung von RFC-Funktionsbausteinen
Besonderheiten der Programmierung
RFC-Funktionsbausteine im Debugger
Konfiguration von Systemressourcen für aRFC, tRFC, qRFC
RFC-Ressourcen im Applikationsserver
rdisp/rfc_check
RFC-Ressourcen der Applikationsserver überwachen
SAP-System für parallele RFCs konfigurieren
RFC-Quoten dynamisch konfigurieren
rdisp/rfc_use_quotas
rdisp/rfc_max_queue
rdisp/rfc_max_login
rdisp/tm_max_no
rdisp/rfc_max_own_login
rdisp/rfc_min_wait_dia_wp
rdisp/rfc_max_own_used_wp
rdisp/rfc_max_comm_entries
rdisp/max_comm_entries
rdisp/max_arq
rdisp/rfc_max_wait_time
Ressourcenermittlung für asynchronen und transaktionalen RFC
Lokale Prüfung
Detaillierte Prüfung
Ressourcenprüfung als RFC-Client anstoßen
Probleme mit Ressourcenbelegung durch RFC
The RFC API
Introduction to the RFC API
RFC with External Systems
Technical Requirements
Contents of the RFC SDK
Compiling and Linking RFC Programs
Programming with the RFC API
Technical Description
Supported Data and Transfer
Basic Functionality
Components of the RFC API
RFC Client Programs
Introduction to RFC Client Programs
Establishing an RFC Connection to R/2 Systems
Programming Example of Working With Local sideinfo
Programming Example of Working Without Local sidei
Programming Example of Working With saprfc.ini Fil
Establishing an RFC Connection to SAP Systems
Programming Example of Working With Local sideinfo file
Programming Example of Working Without Local sideinfo File
Programming Example of Working With saprfc.ini File
Load Balancing
Programming Examples
Remote Function Calls Using SAPGUI
RFC Using the ABAP Debugger
RFC Server Programs
Introduction to RFC Server Programs
Registering Server Programs with the SAP Gateway
Programming Examples
RFC Server Program Working With RfcDispatch
RFC Server Program Working With RfcDispatch and Rf
RFC Server Programs Sending/Receiving Internal Tab
Establishing an RFC Connection from an R/2 System
Establishing an RFC Connection from an SAP System
Passing Parameters
Writing an RFC Function in C
Using Multiple-Client Server Programs
The SAPRFC.INI File
Introduction
Possible Parameters
Examples
Call-Back Feature with SAP and External Systems
Introduction
Call-Back from an ABAP Function Module
Call-Back from an RFC Server Program
Transactional RFCs and External Systems
Introduction
tRFC between SAP and External Systems
Transactional RFC Client Programs
Transactional RFC Server Programs
Function Interface: Summary
Administration
Calling and Accepting RFC Functions
RFC Calls for Manipulating Internal Tables
Transactional Remote Function Calls
Extended Remote Function Calls
Special Functions
ABAP Data Types
RFC_CHAR
RFC_HANDLE
RFC_FUNCTIONNAME
RFC_TID
RFC_NUM
RFC_INT
RFC_INT1
RFC_INT2
RFC_BYTE
RFC_BCD
RFC_DATE
RFC_TIME
RFC_FLOAT
Function Reference
Administration Function Reference
RfcAbort
RfcAccept
RfcClose
RfcConnArgv
RfcConnArgv3
RfcEnvironment
RfcConnect
RfcLastError
RfcOpen
RfcOpenEx
RFC Client Function Reference
RfcCall
RfcCallReceive
RfcReceive
RFC Server Function Reference
RfcDispatch
RfcGetAttributes
RfcGetData
RfcGetName
RfcInstallFunction
RfcInstallStructure
RfcRaise
RfcRaiseTables
RfcSendData
RfcWinInstallFunction
Table-Handling Function Reference
ItAppLine
ItCpyLine
ItCreate
ITAB_H
ItDelete
ItDelLine
ItFill
ItFree
ItGetLine
ItGupLine
ItInsLine
ItLeng
ItPutLine
Transactional Function Reference
RfcCreateTransID
RfcIndirectCall
RfcInstallTransactionControl
RFC_ON_CHECK_TID
RFC_ON_COMMIT
RFC_ON_CONFIRM_TID
RFC_ON_ROLLBACK
RFC_ONCALL
Extended Function Reference
RfcAddExportParam
RfcAddImportParam
RfcAddTable
RfcAllocParamSpace
RfcCallExt
RfcCallReceiveExt
RfcOpenExt
RfcOpenExtV3
RfcFreeParamSpace
RfcGetDataExt
RfcReceiveExt
RfcSendDataExt
RfcInstallFunctionExt
Special Function Reference
RfcListen
RfcWaitForRequest
Structures and Enumerations
RFC_CONNOPT_CPIC
RFC_CONNOPT_R3ONLY
RFC_CONNOPT_VERSION_3
RFC_ERROR_INFO
RFC_ITMODE
RFC_MODE
RFC_OPTIONS
RFC_PARAMETER
RFC_RC
RFC_TABLE
RFC_ATTRIBUTES
Platform-Specific Features of the RFC API
OS/2
Windows 3.x
Windows NT/95
SAP-Based UNIX Platforms
Sample Programs
Error Handling
Debugging
Error Handling in ABAP
Error Handling in RFC Server Programs
More Information in Error Cases
RFC and SAProuter
Introduction to SAProuter
RFC Client Program and SAProuter
Starting an RFC Server Program Via SAProuter
Using the Registering Feature
Program Start by Application Server
Program Start by SAP Gateway
Program Start by SAPGUI
RFC Between External Programs
Using A Local sideinfo File
Using the saprfc.ini File
Background Communication
Queued Remote Function Call (qRFC)
Das qRFC-Kommunikationsmodell
qRFC-Ausgangsqueue
qRFC-Eingangsqueue
qRFC mit Ausgangs- und Eingangsqueue: Ablauf
qRFC-Administration
Berechtigungen für qRFC-Administration
Administration der Ausgangsqueue
Der QOUT-Scheduler
Systemressourcen für QOUT-Scheduler konfigurieren
Destination registrieren/deregistrieren
Performance optimieren
Ausgangsqueue überwachen
Blockierte Queues erneut starten
qRFC-Verbindung testen
Administration der Eingangsqueue
Der QIN-Scheduler
Systemressourcen für QIN-Scheduler konfigurieren
Ablauf der Eingangsverarbeitung
qRFC-Aufrufe lokal ausführen
Eingangsqueue registrieren
Eingangsqueue überwachen
Queue-Status prüfen
Anmeldedaten für RFC-Destination festlegen
Verwaltungsdaten anzeigen
qRFC-Programmierung
qRFC-Design
qRFC mit Ausgangsqueue
Queuenamen übermitteln
qRFC mit Eingangsqueue
Queuenamen an Eingangsqueue übermitteln
qRFC-Varianten
Verhalten bei Verbuchungsaufgaben
Mixed Mode
NOSEND-Szenario
Verwendung des qRFC mit der RFC Library
qRFC-API
qRFC-API für die Ausgangsqueue
qRFC-API für die Eingangsqueue
qRFC-API: Beispielprogramme
bgRFC (Background Remote Function Call)
bgRFC: Architektur
bgRFC: Konfiguration
Supervisor-Destination anlegen
Inbound-Destinationen anlegen
bgRFC-Scheduler: Systemspezifische Einstellungen
bgRFC-Scheduler: Applikations-Server-spezifische Einstellungen
bgRFC-Scheduler: Destinations-spezifische Einstellungen
bgRFC: Administration
bgRFC-Berechtigungen
Berechtigungsobjekt S_BGRFC
Fehleranalyse und Monitoring
bgRFC Monitor
bgRFC Units debuggen
Unit über den bgRFC Monitor debuggen
Unit über externe Breakpoints debuggen
Migration
Outbound-Szenarien
Inbound-Szenarien
bgRFC: Programmierung
API des bgRFC Typ t und bgRFC Typ q
Aufruf eines Funktionsbausteins
Transaktionale Konsistenzprüfung
Destinations-Objekt und Unit-Objekte erzeugen
Hintergrund-Unit manipulieren
Sperren und Entsperren von Units über Queues
RFC Client Side Runtime Control
RFC Server Side Runtime Control
Neu eingeführte Datentypen
Behandlung von Ausnahmen
Beispiele für Inbound und Outbound
Sperren einer bgRFC Typ t-Unit
Sperren einer Queue
Mehrere Units parallel befüllen
Local Data Queue (LDQ)
LDQ: Administration und Monitoring
LDQ Monitor
LDQ-Programmierung
LDQ: Überblick und Architektur
Klassenbeschreibung
Klassen im LDQ API - "Write"
Klassen im LDQ API - "Read"
Beispiele für LDQ API "Write" und "Read"
LDQ API "Write"
LDQ API "Read"
"Read" with Initial Confirm and Forecast
Repeated-Read-and-Confirm Cycles
IDoc-Schnittstelle / ALE
BAPI
Allgemeine Einführung in die BAPIs (CA-BFA)
BAPI-Benutzerhandbuch (CA-BFA)
BAPI-Programmierleitfaden (CA-BFA)
Kommunikation zwischen ABAP und Nicht-ABAP- Technologien
SAP Business Connector
SAP BC Funktionen
SAP BC Architektur
SAP BC Routing
SAP Java Connector
SAP JCo Funktionen
SAP JCo Architektur (Standalone-Version)
SAP JCo Anwendungsszenarios
SAP JCo-Szenario: Java/ABAP-Kommunikation im Application Server
SAP JCo und VM Container
Verwaltung von Workprozessen im VM Container
In-Process und Out-Of-Process Kommunikation
Logging und Tracing für die Verwendung von SAP JCo mit VMC
Profilparameter für Logging und Tracing
SAP JCo-Szenario: SAP BC
SAP JCo-Szenario: Online-Rechnung
SAP JCo Installation
SAP JCo Client-Programmierung
Verbindungsaufbau mit einem SAP Server
Direkte Verbindungen
Verbindung öffnen
Funktion aufrufen und Verbindung schließen
Ergebnis des Funktionsaufrufs
Beispielprogramm Connect1
Connection Pools
Connection Pool anlegen
Utility Class OrderedProperties
Verbindung anfordern und freigeben
Beispielprogramm Connect2
Das SAP JCo Repository
Repository anlegen
JCO.Function Objekt anlegen
Funktion ausführen
Mapping von Java- und ABAP-Datentypen
Typspezifische Getter-Methoden
Zugriff auf Tabellen
Skalare Importparameter setzen
Beispielprogramm Bapi1
Tabellenbearbeitung
Beispielprogramm Bapi2
Die Klasse JCO.Field
Parameter deaktivieren
Ausnahmebehandlung
Synchronisation
Debugging
SAP JCo Server-Programmierung
Eingehende RFC-Verbindung (von SAP-System)
Java-Programm zu Erstellung einer Server-Verbindung
Server-Verbindung zu Unicode Backend-System
Exception Listener
Server State Change Listener
Verarbeitung eines ABAP-Aufrufs
tRFC-Aufruf
SAP Java Resource Adapter
SAP JRA für Client-Anwendungen
SAP JRA Architektur
SAP JRA Administration
SAP JRA Deployment
SAP JRA Konfiguration mit dem Visual Administrator
SAP JRA Development Guidelines
SAP JRA Configuration on the SAP J2EE Application Server
Client Programming Model
Transactions for the Client Programming Model
LocalTransaction
UserTransaction
User Managed Transaction
Security for the Client Programming Model
BasicPassword
Kerbv5 (SSO)
DefaultAuthentication
Application Managed Authentication
Secure Network Connection (SNC)
Handling Records
SAP .NET Connector
Internet Communication Framework
Architektur
Server-Architektur
Client-Architektur
Klassen und Interfaces für die Server-Rolle
IF_HTTP_SERVER
Attribute
Konstanten
Methoden
IF_HTTP_RESPONSE und IF_HTTP_REQUEST
Methoden für das IF_HTTP_RESPONSE und IF_HTTP_REQUEST
IF_HTTP_ENTITY
Attribute für das IF_HTTP_ENTITY
IF_HTTP_EXTENSION
Attribute
Konstanten zur Beschreibung des Kontrollflusses
Konstanten zur Beschreibung der Lebenszeitkontrolle
Methoden
IF_HTTP_UTILITY
Methoden für das Interface IF_HTTP_UTILITY
Klassen und Interfaces für die Client-Rolle
Interface IF_HTTP_CLIENT
Attribute
Konstanten
Methoden
ICF-Administration
Administration der Serverfunktionen
Berechtigungen
Berechtigungsobjekt S_ICF
Berechtigungsobjekt S_ICF_ADM
Berechtigungsobjekt S_ICFREC
Berechtigungen für Transaktion SICF einschränken
Berechtigungen im Zielsystem ermitteln
Administration der Clientfunktionen
Verbindungsaufbau über Destination (SM59)
Parallelisieren von Requests
Proxy konfigurieren
Fehlerbehandlung und Monitoring
Fehleranalyse: Vorgehen
Externes Debugging
Externes Debugging unter Lastverteilung
Traces
URL parsen
ICF-Recorder
Aufzeichnung aktivieren
Einträge anzeigen und bearbeiten
Berechtigungsobjekt S_ICFREC
Pflege der ICF-Profilparameter
Fehlerinformationen verwalten
Performancemessungen
Fehlerbehandlung über zentrale Monitoring-Funktionen
Statistikdaten für RFC und ICF
Entwicklung
Entwicklung der Server-Seite
Der HTTP Request-Handler
Entwicklung eines HTTP Request-Handlers
HTTP Request-Handler anlegen
Zugriff auf Header-Felder
Liste der Pseudo-Header Felder
Zugriff auf Formfelder
Zugriff auf Cookies
Zugriff auf HTTP Body Daten
Zugriff auf HTTP Multipart Daten
Stateless/Stateful-Kommunikation
Abbau einer Session
Codepage im ICF
Komprimierungsverfahren
ICF-Service anlegen und konfigurieren
Service anlegen
Anmeldeverfahren pflegen
Gesamtablauf der Anmeldeprüfung
Standard-Anmeldefolge
Alternative Anmeldereihenfolge
Anmeldung über Service-Daten
Anmeldung mit SSL-Zertifikat
Anmeldung über Tickets
Anmeldung über Basic Authentication
Anmeldung über SAML
Bestimmung des Mandanten
Bestimmung der Anmeldesprache
Service-Daten pflegen
HTTP-Lastverteilung
Sicherheitsanforderungen bestimmen
Fehlerseiten einrichten
Format und Parameter des Fehlerdokuments
HTTP Request-Handler einbinden
ICF-Services aktivieren / deaktivieren
Virtuelle Hosts anlegen
Virtuelle Hosts: Anwendungsbeispiel
Interne Aliase
Externe Aliase
HTTP Request-Handler testen
ICF-Services transportieren
Entwicklung der Client-Seite
Beispielprogramm: Ausführung eines HTTP Requests
Parallelisierung von Requests
Redirect von Requests
SOAP Framework
Web Service-Technologien im Application Server
Beispiel: SOAP-Nachricht
Beispiel: WSDL-Datei