OCI-Schnittstelle einrichten: von der Aufrufstruktur bis zum Test
Praxisleitfaden für die Anbindung eines Lieferantenshops an SAP und andere Einkaufssysteme
Die OCI-Schnittstelle verbindet ein Einkaufssystem mit einem externen Webkatalog. Dieser Eintrag beschreibt, was vor der Einrichtung zu klären ist, wie die Aufrufstruktur aussieht, welche Felder abgestimmt werden müssen und woran Anbindungen in der Praxis scheitern.
- Checkliste vor der Einrichtung
- Aufrufstruktur mit HOOK_URL
- Feld-Mapping für Einheiten und Warengruppen
- Testfälle und typische Fehler
Was ist eine OCI-Schnittstelle?
Die OCI-Schnittstelle ist die technische Verbindung zwischen einem Einkaufssystem und einem externen Webkatalog nach dem Open Catalog Interface von SAP. Sie besteht aus einem konfigurierten Katalogaufruf mit Parametern und einer Rückgabe, mit der der Katalog die ausgewählten Positionen an das Einkaufssystem übergibt.
Einordnung: Standard, Katalog und Schnittstelle
Im Sprachgebrauch werden drei Dinge oft vermischt. OCI ist der Standard, also die Regeln für Aufruf und Rückgabe. Der OCI-Katalog ist der Shop des Lieferanten, der diese Regeln beherrscht. Die OCI-Schnittstelle ist die konkrete, eingerichtete Verbindung zwischen Ihrem Einkaufssystem und genau einem solchen Katalog. Dieser Eintrag behandelt die Einrichtung; Ablauf und Feldliste des Standards finden Sie im Eintrag zu OCI.
Was vor der Einrichtung geklärt sein sollte
- Aufrufendes System: Aus welcher Anwendung springen die Benutzer ab, zum Beispiel SAP SRM, SAP ERP, S/4HANA oder eine vorgelagerte Einkaufsplattform?
- Zugangsdaten: Stellt der Lieferant einen technischen Benutzer je Kunde bereit oder werden einzelne Benutzer übergeben? Wie heißen die Anmeldeparameter des Shops?
- Testumgebung: Gibt es einen Testshop, gegen den Sie aus Ihrem Entwicklungs- oder Qualitätssicherungssystem arbeiten können?
- Feldumfang: Welche Rückgabefelder wertet Ihr System aus, und welche kann der Shop füllen?
- Stammdaten: Welche Warengruppen, Mengeneinheiten und Lieferantennummern gelten in Ihrem System?
- Darstellung: Öffnet der Katalog im selben Fenster, in einem neuen Fenster oder eingebettet in einen Rahmen?
- Netzwerk: Der Shop muss vom Browser der Benutzer erreichbar sein, und die Rücksprungadresse Ihres Einkaufssystems ebenso. Eine direkte Verbindung zwischen den Servern ist für die Standardrückgabe nicht nötig.
Die Aufrufstruktur einrichten
Im Einkaufssystem wird der Katalog als externer Webdienst mit einer Aufrufstruktur hinterlegt. In SAP SRM geschieht das im Customizing bei der Definition externer Web-Services; SAP ERP und S/4HANA kennen vergleichbare Einstellungen für Kataloge in der Bestellanforderung. Jede Zeile der Aufrufstruktur hat einen Namen, einen Inhalt und einen Typ.
| Parametername | Typ | Inhalt |
|---|---|---|
| (ohne Namen) | URL | Adresse des Katalogs, zum Beispiel https://shop.lieferant.example/oci |
| USERNAME | Festwert | Technischer Benutzer, den der Lieferant für Sie eingerichtet hat |
| PASSWORD | Festwert | Zugehöriges Kennwort |
| LANGUAGE | SAP-Feld | Systemfeld für die Anmeldesprache, damit der Shop in der richtigen Sprache startet |
| HOOK_URL | Rückgabe-URL | Bleibt leer; das System setzt zur Laufzeit die Rücksprungadresse ein |
| ~OkCode | Festwert | ADDI |
| ~target | Festwert | _top |
| ~caller | Festwert | CTLG |
Die Reihenfolge der Zeilen bestimmt den Aufbau des Aufrufs. Weitere Parameter, etwa ein Mandantenkennzeichen oder eine Sichtsteuerung, vereinbaren Sie individuell mit dem Lieferanten. Wenn möglich, sollte der Aufruf per HTTP-POST statt per GET erfolgen, damit Zugangsdaten nicht in der Adresszeile und in Protokollen landen.
Feld-Mapping abstimmen
Der Standard gibt die Feldnamen vor, nicht aber die Werte. Die folgenden Punkte verursachen in Anbindungsprojekten die meisten Rückfragen.
| Thema | Worauf es ankommt |
|---|---|
| Mengeneinheiten | NEW_ITEM-UNIT erwartet einen ISO-Code. Im Einkaufssystem muss zu jeder verwendeten internen Einheit ein ISO-Code gepflegt sein, sonst wird die Position abgewiesen. |
| Warengruppen | NEW_ITEM-MATGROUP muss eine im System bekannte Warengruppe enthalten. Alternativ liefert der Shop eine Klassifikation in NEW_ITEM-EXT_SCHEMA_TYPE und NEW_ITEM-EXT_CATEGORY_ID, die im Einkaufssystem auf Warengruppen abgebildet wird. |
| Lieferant | NEW_ITEM-VENDOR enthält Ihre Lieferantennummer, nicht die Kundennummer aus Sicht des Lieferanten. Bei Katalogen eines einzelnen Lieferanten kann die Nummer auch fest im System hinterlegt sein. |
| Preis und Preiseinheit | NEW_ITEM-PRICE bezieht sich auf NEW_ITEM-PRICEUNIT. Wird die Preiseinheit nicht übernommen, weicht der Positionswert um den entsprechenden Faktor ab. |
| Kurztext | NEW_ITEM-DESCRIPTION ist auf 40 Zeichen begrenzt. Der Shop sollte sinnvoll kürzen und den vollständigen Text als Langtext liefern. |
| Zeichensatz | Shop und Einkaufssystem müssen dieselbe Zeichenkodierung verwenden, sonst kommen Umlaute und Sonderzeichen verfälscht an. |
| Zahlenformat | Mengen und Preise werden mit Dezimalpunkt und ohne Tausendertrennzeichen übergeben. |
Lässt sich eine Abweichung im Shop nicht lösen, bleibt die Anpassung bei der Übernahme im Einkaufssystem. In SAP SRM steht dafür das BAdI BBP_CATALOG_TRANSFER zur Verfügung.
Testfälle vor dem Produktivstart
Anmeldung
Der Absprung führt ohne Zwischenstopp in den Shop, mit dem richtigen Kunden, Sortiment und der richtigen Sprache.
Eine Position
Ein einzelner Artikel kommt mit Kurztext, Menge, Einheit, Preis, Währung und Lieferantenartikelnummer korrekt an.
Mehrere Positionen
Ein Warenkorb mit vielen Positionen wird vollständig und in der richtigen Reihenfolge übernommen.
Sonderfälle bei Werten
Artikel mit Preiseinheit ungleich 1, mit Dezimalmengen, mit Umlauten und mit langen Bezeichnungen.
Abbruch und Zeitüberschreitung
Der Benutzer kehrt ohne Auswahl zurück oder lässt die Sitzung ablaufen. Das Einkaufssystem bleibt in einem sauberen Zustand.
Weiterverarbeitung
Aus den übernommenen Positionen entstehen nach Kontierung und Freigabe eine Bestellanforderung und eine Bestellung, die der Lieferant verarbeiten kann.
Typische Fehler und ihre Ursachen
| Symptom | Häufige Ursache |
|---|---|
| Benutzer landet auf der Anmeldeseite des Shops | Anmeldeparameter falsch benannt oder nicht übergeben; Aufruf per GET statt POST oder umgekehrt |
| Warenkorb kommt leer an | Rückgabe geht nicht an die übergebene HOOK_URL, Feldnamen weichen vom Standard ab oder der Positionsindex beginnt nicht bei 1 |
| Position wird wegen der Mengeneinheit abgelehnt | Kein ISO-Code übergeben oder im Einkaufssystem keine Zuordnung zur internen Einheit gepflegt |
| Fehlermeldung zur Warengruppe | Warengruppe im System unbekannt, Zuordnung der Klassifikation fehlt |
| Preis weicht um Faktor 10 oder 100 ab | Preiseinheit nicht übergeben oder nicht ausgewertet; Dezimalkomma statt Dezimalpunkt |
| Umlaute erscheinen als Sonderzeichen | Unterschiedliche Zeichenkodierung in Shop und Einkaufssystem |
| Sitzung geht bei der Rückkehr verloren | Shop läuft eingebettet in einem Rahmen und der Browser blockiert Cookies von Drittanbietern; Ziel der Rückgabe passt nicht zur Fensterstruktur |
Sicherheit und Datenschutz
Aufruf und Rückgabe sollten ausschließlich über HTTPS laufen. Technische Benutzer im Shop brauchen nur die Rechte, einen Warenkorb zu füllen und zu übergeben; eine Bestellung direkt im Shop sollte für diese Zugänge gesperrt sein. Übergeben Sie nur die Benutzerdaten, die der Shop wirklich benötigt. Oft reicht ein technischer Zugang je Kunde, ohne Namen oder E-Mail-Adressen einzelner Mitarbeitender.
Verwandte Begriffe und passende Ovenca-Seiten
- OCI (Open Catalog Interface)
Der Standard selbst: Ablauf, Rückgabefelder mit Beispiel und Versionen.
- OCI-Katalog
Der angebundene Lieferantenshop und der Vergleich mit statischen Katalogen.
- cXML-Punchout
Die Alternative, wenn Ihr Einkaufssystem oder der Lieferant auf cXML setzt.
- Punchout-Schnittstellen im Adminbereich verwalten
OCI-Parameter und Zugriffsrechte für Punchout-Kataloge zentral pflegen.
- SAP-SRM-Nachfolge planen
Was mit bestehenden OCI-Katalogen passiert, wenn SAP SRM abgelöst wird.
- Beschaffung mit SAP S/4HANA
Anbindung per OCI, cXML oder API.
OCI-Schnittstelle in vier Schritten
Von der Abstimmung mit dem Lieferanten bis zum Produktivstart
1. Rahmen klären
Aufrufendes System, Zugangsdaten, Testshop und Feldumfang werden mit dem Lieferanten abgestimmt, bevor jemand etwas konfiguriert.
- Technischer Benutzer je Kunde
- Testumgebung auf beiden Seiten
- Liste der benötigten Felder
2. Aufrufstruktur anlegen
Katalog-URL, Anmeldeparameter und die Rückgabe-URL werden im Einkaufssystem als Webdienst hinterlegt.
- HOOK_URL als Rückgabe-URL
- Festwerte ~OkCode, ~target, ~caller
- Aufruf per POST über HTTPS
3. Felder abstimmen
Mengeneinheiten, Warengruppen, Lieferantennummer und Preiseinheit müssen zu den Stammdaten des Einkaufssystems passen.
- ISO-Codes für Einheiten
- Warengruppen oder Klassifikation
- Zeichensatz und Zahlenformat
4. Testen und freigeben
Testwarenkörbe decken Normalfall, Sonderfälle und Abbruch ab. Erst danach werden produktive Zugangsdaten eingetragen.
- Einzel- und Sammelwarenkorb
- Sonderzeichen und Preiseinheiten
- Durchlauf bis zur Bestellung
Punchout-Schnittstellen zentral verwalten
Mit Ovenca pflegen Sie Punchout-Anbindungen an einer Stelle, statt jeden Lieferantenshop einzeln im ERP zu konfigurieren.
- OCI-Parameter im Adminbereich
- Die OCI-Parameter und Schnittstellen der angebundenen Lieferantenshops verwalten Sie direkt im Adminbereich von Ovenca.
- Zugriff je Benutzer steuern
- Über die Rechteverwaltung legen Sie fest, wer welche Punchout-Kataloge nutzen darf.
- Ein Warenkorb, eine Freigabe
- Positionen aus Punchout-Shops und importierten Katalogen laufen in einem Warenkorb zusammen und durchlaufen denselben mehrstufigen Freigabeprozess.
- OCI und cXML
- Ovenca unterstützt beide Punchout-Protokolle, sodass Lieferanten bei ihrer vorhandenen Anbindung bleiben können.
- Übergabe an das ERP
- Freigegebene Anforderungen und Bestellungen übergibt Ovenca per Schnittstelle an Ihr ERP.
- Betriebsmodell nach Wahl
- On-Premise, Private Cloud oder hybrid: Sie entscheiden, wo die Plattform läuft.
OCI-Schnittstelle: Fragen und Antworten
Weiterführende Seiten
OCI-Anbindungen ohne Einzelprojekte
Wir zeigen Ihnen, wie Sie Lieferantenshops zentral anbinden und die Positionen sauber an Ihr ERP übergeben.