Skip to main content
Skip table of contents

OCI Punchout Katalog

Der Online-Shop kann als OCI Punchout Katalog benutzt werden. Der Kunde kann in den Katalog eingesprungen, einen Warenkorb zusammenstellen und diesen an das einkaufende SAP-System zurückliefern.

Es gibt verschiedene Versionen der OCI Spezifikation. Der Shop unterstützt Aufrufe bis Version 5.0

Die OCI Spezifikation von SAP definiert die aufrufenden Parameter und die Form des Rücksprungs.

Die Spezifikation liegt unter

https://wiki.scn.sap.com/wiki/display/SRM/OCI+Documentation

Aufruf des OCI Katalogs

Einsprungpunkt für das aufrufende System ist immer

https://shop.firma.com/oci/

der dann noch mit dem Benutzernamen und Kennwort ergänzt wird, der für die Anmeldung im Shop definiert wurde. Die Felder können als URL Parameter USERNAME und PASSWORD übergeben werden (Aufruf des URLs per GET-Methode) oder beim Aufruf über POST als Formularfelder USERNAME und PASSWORD.

Zusätzlich übergibt SAP beim Aufruf eine HOOK_URL für den Rücksprung. Nur wenn ein HOOK_URL angegeben ist, schaltet der Shop korrekt in den OCI-Modus.

Zusätzlich können noch ~Target für einen Rücksprung auf eine bestimmte Framehierarchie (Aufruf erfolgt z.B. innerhalb eines iframe-Fensters) oder eine FUNCTION mitgeliefert werden, mit der der Shop spezielle Aufgaben erledigt (siehe weiter unten BACKGROUND_SEARCH).

Ein Aufruf-URL ergibt sich also z.B. mit Benutzername lidl und Kennwort lidl mit

https://shop.firma.com/oci/?USERNAME=lidl&PASSWORD=lidl&~OkCode=ADDI&~TARGET=_top&~CALLER=CTLG&HOOK_URL=SAPEVENT:POST

Achtung: alles hinter https://shop.firma.com/oci/?USERNAME=lidl&PASSWORD=lidl wird dynamisch vom aufrufenden System generiert und ist nicht durch den Shop vorgegeben.

Konto für den OCI Aufruf

Während die Einsprungadresse für alle Kunden identisch ist, muss der Benutzername und das Kennwort für jeden OCI Kunden getrennt angelegt werden. Diese Daten werden im Einkaufssystem des Kunden hinterlegt und alle Mitarbeiter des Kunden springen über den selben Account in den Katalog.

Das Konto muss so konfiguriert sein, dass beim ersten Anmelden keine Bestätigungen mehr notwendig sind.

Das Konto muss den gleichen Kundengruppen zugeordnet werden, wie alle anderen Mitarbeiter der Firma auch.

Das Konto kann über das Admin Backend angelegt werden oder mit einer normalen Neukunden Registrierung.

Über die Registerkarte Extern kann im Admin Backend eine Reihe von Parametrisierungen vorgenommen werden, u.a. nach welchem Klassifikationssystem die Artikel zurückgemeldet werden. Im Feld Punchout Klassifikation kann dazu:

  • ECLASS

  • UNSPSC

  • ETIM

eingetragen werden. Natürlich müssen diese Klassifikationssysteme dann auch in den Artikelstammdaten enthalten sein.Ist nichts eingetragen, wird ECLASS angenommen.

image-20250515-095555.png

Sind im Artikelstamm mehrere Versionen der Klassifikationssysteme gepflegt, kann der Eintrag durch einen Bindestrich und die Versionsnummer ergänzt werden. Für EClass 11 oder EClass 13 würden dann die Einträge ECLASS-11 bzw. ECLASS-13 lauten.

Die korrekte Wahl der Klassifikation und der Version muss mit dem Kunden geklärt werden.

Testaufruf

Um den Shop im Katalogmodus zu prüfen und die Rückgabewerte an das SAP System zu sichten, kann der Shop mit der URL

https://shop.firma.com/oci/test

aufgerufen werden. In den Eingabefeldern müssen die angelegten Zugangsdaten für Benutzername und Kennwort eingegeben werden.

OCI Felder

Am Ende der Punchout Session gibt der Shop die ausgewählten Produkte als einzelne Datenfelder an das aufrufende Einkaufssystem des Kunden zurück. Die untenstehende Auflistung definiert die Defaultfelder und mit welcher Information sie befüllt werden.

CODE
NEW_ITEM-DESCRIPTION:{name1}
NEW_ITEM-QUANTITY:{count}
NEW_ITEM-UNIT:{unit}");
NEW_ITEM-PRICE:{unitprice}
NEW_ITEM-CURRENCY:{currency}
NEW_ITEM-VENDORMAT:{stockno}
NEW_ITEM-LONGTEXT:{name}
NEW_ITEM-EXT_CATEGORY:{category}
NEW_ITEM-PRICEUNIT:{priceunit}
NEW_ITEM-LEADTIME:{leadtime}
NEW_ITEM-VENDOR:{vendor}
NEW_ITEM-MANUFACTCODE:{brand}
NEW_ITEM-MATNR:{buyerstockno}
NEW_ITEM-CONTRACT:{contract}
NEW_ITEM-CONTRACT_ITEM:{contractitem}
NEW_ITEM-EXT_CATEGORY_ID:{eclass}
NEW_ITEM-EXT_SCHEMA_TYPE:{classification}
NEW_ITEM-EXT_PRODUCT_ID:{stockno}
NEW_ITEM-ZECCN:{eccn}
NEW_ITEM-ZALNUM:{alnumber}
NEW_ITEM-ZSTAWN:{customsnumber}
NEW_ITEM-ZHERKL:{countryoforigin}
NEW_ITEM-ZPUL:{preferentialorigin}

Die Angaben müssen immer in der Form OCI Feld, Doppelpunkt und dann Text inklusive gewünschter Platzhalterfelder angegeben sein. Pro Zeile ist nur ein Feld erlaubt.

Anstelle der Platzhalterfelder in geschwungenen Klammern kann auch einfacher Text angegeben werdne, der dann unverändert bei jedem Artikel in das Feld geschrieben wird, z.b.

CODE
NEW_ITEM-ATTACHMENT_TITLE:Produktbild

Als Platzhalterfelder können zusätzlich zu den oben abgebildeten alle Datenbankfelder benutzt werden, die in der Artikelstammtabelle items enthalten sind.

Wünscht ein Kunde ein anderes Mapping, kann im Admin Backend auf der Registerkarte Extern dieses Kunden das Feld Punchout Mapping für eine abweichende Einstellung benutzt werden.

image-20250515-100229.png

Sollen alle obenstehenden Felder unverändert befüllt, aber ein zusätzliches Feld z.B. NEW_ITEM-ATTACHMENT übertragen werden, dann bitte dieses Mapping eintragen:

CODE
*
NEW_ITEM-ATTACHMENT:{picture}

Der Stern übernimmt alle Felder des bereits bestehenden Mappings und definiert dann zusätzlich noch Felder in den Folgezeilen.

Sollen Felder weggenommen werden, muss leider ein komplettes Mapping selbst definiert werden. Dann bitte keinen Stern angeben und nur die Felder, die an den Kunden gemeldet werden sollen.

Background Search

Der Shop unterstützt auch die seit OCI 4.0 definierte Funktion BACKGROUND_SEARCH. Dabei wird im Parameter FUNCTION der Wert BACKGROUND_SEARCH übergeben und im Parameter SEARCHSTRING der Suchbegriff.

Der Aufruf erzeugt keine Benutzer-Session im Shop, sondern gibt das Suchergebnis sofort an das aufrufende SAP System zurück.

Validate

Der Shop unterstützt auch die seit OCI 3.0 definierte Funktion VALIDATE. Dabei wird im Parameter FUNCTION der Wert VALIDATE übergeben und im Parameter PRODUCTID die Artikelnummer.

Der Aufruf erzeugt keine Benutzer-Session im Shop, sondern gibt das Suchergebnis sofort an das aufrufende SAP System zurück.

DOWNLOADJSON für Offline Suche

Der Shop unterstützt auch die seit OCI 5.0 definierte Funktion DOWNLOADJSON, mit der das aufrufende System einen Suchindex der angebotenen Artikel für interne Suchoperationen im eProcurement System des Kunden vom Shop erhält.

Der Aufruf erzeugt keine Benutzer-Session im Shop, sondern gibt das Suchergebnis sofort an das aufrufende SAP System zurück.

Kommunikation an den Kunden

Nach dem Einrichten von Benutzerkonto und dem Hinterlegen der Preise kann der Kunde mit einem folgenden Mail über den Zugriff informiert werden

Die Aufrufparameter für den normalen OCI Einsprung wäre identisch mit dem Abruf des JSON Files dh.

TEST: https://shop-test.firma.com/oci/

Username: theuser
Password: thepassword

PROD: https://shop.firma.com/oci/

Username: theuser
Password: thepassword

D.h. der komplette Aufruf wäre dann

https://shop.firma.com/oci/?USERNAME=theuser&PASSWORD=thepassword&~OkCode=ADDI&~TARGET=_top&~CALLER=CTLG&HOOK_URL=SAPEVENT:POST

Derzeit würde dann z.B. folgende Felder zurückkommen:

NEW_ITEM-DESCRIPTION[1]: Anreissplatte,300x300mm,Qualitaet 1
NEW_ITEM-QUANTITY[1]: 1
NEW_ITEM-UNIT[1]: PCE
NEW_ITEM-PRICE[1]: 248,50
NEW_ITEM-CURRENCY[1]: EUR
NEW_ITEM-VENDORMAT[1]: 0249-033
NEW_ITEM-LONGTEXT_1:132[]: Anreissplatte,300x300mm,Qualität 1Porenfreier Spezialguss,fein geschabt
NEW_ITEM-MATNR[1]:
NEW_ITEM-CONTRACT[1]:
NEW_ITEM-CONTRACT_ITEM[1]:
NEW_ITEM-EXT_SCHEMA_TYPE[1]: ECLASS
NEW_ITEM-EXT_CATEGORY_ID[1]: 21031306

Das können wir dann gerne noch um CUSTOM_FIELDs erweitern – bitte einfach die gewünschten Felder benennen.

 FUNCTION=BACKGROUND_SEARCH würde auch funktionieren.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.