Erreurs OCI les plus fréquentes détectées
Les retours panier OCI qui cassent en production viennent presque tous des mêmes causes. Voici ce que ce validateur attrape avant que ça arrive jusqu'à votre acheteur SAP :
- PRICEUNIT mal compris. Le supplier envoie
PRICE=12.50, PRICEUNIT=1000pour signaler "12.50 EUR pour 1000 unités", mais l'acheteur SAP ignore PRICEUNIT et facture 12.50 EUR la pièce. Source numéro 1 d'erreurs prix en intégration OCI - le validateur calcule le prix effectif et alerte. - Index
[0]sur les lignes. La spec OCI numérote à partir de[1]. Certaines versions de SAP ITS suppriment silencieusement la ligne 0, d'autres rejettent toute la requête. - Unités ISO vs SAP T006. Le validateur connaît la spec OCI (codes UN/ECE : PCE, KGM, MTR, etc.) mais aussi la réalité SAP (codes T006 internes : ST, KG, M, etc.). Quand le supplier envoie un code conforme mais que le buyer ne l'a pas mappé, on l'alerte.
-
~Target=_selfpiège le formulaire de retour. Si le catalogue tourne en iframe (cas classique SAP SRM derrière reverse proxy), le HOOK_URL ne sera jamais déclenché. Le validateur le détecte sur la setup request. - Encodage Latin-1 / mojibake. Les caractères
é,à,üdans DESCRIPTION ou LONGTEXT deviennent?quand le wrapper d'auto-submit n'a pasaccept-charset="UTF-8". Détecté automatiquement. - Champs obligatoires manquants. DESCRIPTION, QUANTITY, UNIT, PRICE, CURRENCY sont obligatoires sur chaque ligne. L'omission silencieuse fait disparaître la ligne côté SAP.
- Devises hors ISO 4217 / dates hors format ISO 8601. Validation directe contre les référentiels officiels.
OCI 4.0 vs OCI 5.0 - lequel utiliser ?
OCI 4.0 reste le standard de fait dans la grande majorité des intégrations. C'est la version reconnue par SAP SRM, S/4HANA et les suites procurement qui implémentent un bridge OCI (SAP Ariba via gateway OCI, Jaggaer, etc.). À noter : Coupa, Oracle Procurement et la plupart des suites cloud sont nativement cXML et ne parlent OCI que de manière marginale ou pas du tout.
OCI 5.0 a ajouté les pièces jointes (NEW_ITEM-ATTACHMENT, ATTACHMENT_TITLE, ATTACHMENT_PURPOSE), les références produit externes (EXT_PRODUCT_ID, EXT_SCHEMA_TYPE, EXT_CATEGORY_ID, etc.), et une hiérarchie service plus riche. L'adoption reste limitée aux grands industriels allemands sur S/4HANA récents.
Recommandation : démarrer en OCI 4.0, n'ajouter les champs 5.0 que si le buyer le demande explicitement.
OCI vs cXML, lequel devez-vous implémenter ?
Les deux protocoles servent le même objectif (PunchOut B2B) mais avec des conventions très différentes. Notre comparatif complet OCI vs cXML détaille la décision. En résumé :
- Acheteur sur SAP SRM / S/4HANA ? OCI est natif. cXML demande un connecteur.
- Acheteur sur Ariba, Coupa, Jaggaer, Oracle Procurement, etc. ? cXML est natif. OCI souvent en fallback partiel.
- Vous avez les deux côtés à servir ? Implémentez les deux protocoles côté supplier - les structures de données sous-jacentes sont les mêmes, c'est la couche transport qui change.
Pour aller plus loin
- Bibliothèque d'exemples OCI - 7 payloads PunchOut (retour panier + setup request) prêts à copier, télécharger ou tester en un clic ici. Inclut PRICEUNIT trap, démo erreurs, OCI 5.0 attachments, etc.
- Référence des champs OCI - les 38 champs documentés (cart return + setup request), avec format, longueur, version 4.0/5.0, descriptions et ancres partageables par champ.
- Validateur cXML - équivalent pour le protocole cXML 1.2.070 (DTD officielle).
- Qu'est-ce que l'OCI ? - Origine SAP, fonctionnement, différences avec cXML.
- cXML vs OCI - Comparaison protocolaire complète.
- Codes UNSPSC - Le référentiel à utiliser pour le champ NEW_ITEM-MATGROUP côté supplier.
- PunchOut Magento, ce qu'il faut planifier - Checklist d'intégration côté supplier.