Porttyp für den direkten Zugang zu einem R/2-System über das CPI-C Protokoll.
Weil hier immer das R/2-System das externe System ist, ergeben sich folgende Besonderheiten und Einschränkungen im Vergleich zu den anderen Porttypen:
Das SAP-System ist immer "aktiv": Entweder holt es IDocs vom R/2-System ab, oder es schickt IDocs an das R/2-System. Daher sind in der Portbeschreibung für den Ausgang fast dieselben Parameter vonnöten wie für den Eingang.
Das SAP-System kann pro eingehendem IDoc höchstens einen Statussatz zurücksenden. Der IDoc-Typ SYSTAT01 kann nicht verwendet werden, da er im R/2-System nicht zur Verfügung steht.
Ein R/2-IDoc kann immer nur genau einmal abgeholt werden. Daraus folgt, dass ALE-Verteilungsmodelle (IDocs an mehrere Adressaten) nur indirekt über ein SAP-System (das ALE Server-Konzept) realisiert werden können: Dazu muss das R/2-IDoc zunächst an ein SAP-System geschickt und von dort aus über einen SAP-ALE-Server an die Adressaten verteilt werden.
IDocs werden immer nur in den Satzarten der SAP-Releases 3.0/3.1 ausgetauscht. Damit ist die Portversion mit 2 vorgegeben und nicht in der Portbeschreibung einstellbar.
Das R/2-System unterstützt weder Erweiterungen noch die zu Release 4.0 eingeführten langen Namen. Lesen Sie zu den hierzu auftretenden möglichen Problemen den Abschnitt Kommunikation mit älteren Releases/Subsystemen oder R/2-Systemen.
Austausch von IDocs zwischen R/2 und SAP
Dem Protokoll der R/2-IDoc-Schnittstelle entsprechend holt das SAP-System IDocs vom R/2 ab oder sendet IDocs, ist also immer das aktive System. Beim Abholen kann das SAP-System bestimmen, welche der abholbereiten IDocs während der Verbindung übertragen werden sollen. Obligatorisches Hauptselektionskriterium hierbei ist der Port im R/2-System. Der Port ist Sperrobjekt in der R/2-IDoc-Schnittstelle. Für jedes logische System sollten Sie einen eigenen Port im R/2-System konfigurieren.
Versenden von IDoc-Statussätzen von SAP nach R/2
Die R/2-IDoc-Schnittstelle erwartet über versandte, d.h. abgeholte IDocs eine Statusrückmeldung. Auf der SAP-Seite können Sie den CPI-C Port so einrichten, dass für empfangene IDocs Statussätze an das R/2-System zurückgesandt werden. Es gibt folgende Einstellungen für das Senden von Statussätzen an das R/2-System:
keine Statussätze senden
sofort nach Empfang von IDocs Statussätze senden
zeitlich versetzt, d.h. asynchrones Senden der Statussätze über einen eingeplanten Report
Es kann nur ein Statussatz pro IDoc (Status "12" = "Versand o.k." = "IDoc erfolgreich vom SAP-System abgeholt") zurückgeschickt werden. Weitere Verarbeitungsstationen im SAP-System können dem R/2-System nicht über Statussätze rückgemeldet werden. Entsprechendes kann man aber über Response-Nachrichten erreichen, die in Prozessketten modelliert werden.
Kommunikationstechnik
Grundlage der Kommunikation ist das SNA - Protokoll LU 6.2 (SNA = System Network Architecture= spezielle Netzwerkarchitektur auf R/2-Seite; LU = Logical Unit, identifiziert Programme oder Geräte in der SNA). Das CPI-C Protokoll fasst die LU 6.2-Befehle zu wenigen Befehlen zusammen, die leicht in der Programmierung verwendet werden können (daher der Name: CPI-C = Common User Programming Interface - Communication). Die Kommunikation wird über ein Gateway abgewickelt, das die Architektur SNA kennt und u.a. den symbolischen Namen des Zielsystems einer Logical Unit in einer sideinfo-Datei zuordnet. Der Name des Gateways wie auch der symbolische Name des Zielsystems stehen in der SAP-Datenbanktabelle TXCOM. So erkennt das SAP-System das aufzurufende R/2-System (s. folgende Abbildung, in der sich das Gateway auf SAP-Seite befindet).
SNA, LU 6.2 und CPI-C wurden von IBM entwickelt. Das von SAP verwendete "CPI-C Protokoll" ist eine Modifizierung des ursprünglichen IBM-CPI-C.
Eine detaillierte Beschreibung der Kommunikation mit der R/2-IDoc-Schnittstelle finden Sie im R/2-Handbuch S53.2, Kapitel 8.