Comment lire cette référence
OCI (SAP Open Catalog Interface) n'est pas du XML : c'est un protocole basé sur des paramètres HTTP form-urlencoded. Chaque payload de retour panier contient des paires NEW_ITEM-CHAMP[i]=valeur, où i est l'index de ligne (à partir de 1). Les paramètres de setup request sont globaux et préfixés différemment (parfois par ~ pour les paramètres SAP réservés).
Pour chaque champ, la table indique :
- Nom exact (sensible à la casse côté SAP), suivi de
[i]si le champ est répété par ligne. - Statut obligatoire ou optionnel selon la spec OCI 4.0.
- Type et longueur max : SAP tronque silencieusement les valeurs trop longues.
- Mode : retour panier (cart return) ou setup request.
- Version OCI : la plupart des champs existent depuis 4.0, certains ont été ajoutés en 5.0 (attachments, références produit externes, etc.).
- Description bilingue avec contexte d'usage et pièges connus.
Les champs à connaître absolument
- NEW_ITEM-PRICEUNIT - la source numéro un de bugs prix x1000 en production. À toujours mapper côté acheteur.
- NEW_ITEM-MATGROUP - groupe de marchandises, souvent un code UNSPSC à 8 chiffres. Voir le référentiel UNSPSC.
- NEW_ITEM-UNIT - codes UN/ECE selon la spec (PCE, KGM, MTR), mais la plupart des SAP attendent des codes T006 internes (ST, KG, M). Bien coordonner le mapping unité avec le buyer.
- HOOK_URL - URL absolue où le supplier POST le panier. Toujours en HTTPS dans les scénarios web, syntaxe stricte, jamais en mixed-content depuis un catalogue HTTPS. Dans les scénarios SAP GUI historiques (ITS / WebGUI, etc.), HOOK_URL peut au contraire contenir une pseudo-URL
sapevent:: le formulaire de retour panier poste alors verssapevent:postet le navigateur embarqué transforme le submit en événement SAP qui restitue les champsNEW_ITEM-*à la transaction. - ~Target - cible du formulaire de retour panier auto-submit. Trois valeurs possibles :
_top(recommandé) : casse toutes les frames et POST dans la fenêtre browser top-niveau, donc le SRM intercepte le panier normalement._self: POST dans la frame courante. Si le catalogue tourne en iframe (cas standard SAP SRM), le retour reste piégé dans l'iframe et le SRM ne voit jamais rien →HOOK_URLn'est jamais déclenché, le panier disparaît._parent: remonte d'une seule frame. Risqué si plusieurs iframes imbriquées (reverse proxy + SRM Portal).
OCI 4.0 ou OCI 5.0 ?
OCI 4.0 reste le standard de fait sur la grande majorité du parc installé. OCI 5.0 a ajouté les pièces jointes, les références produit externes (GTIN, EAN, UNSPSC, eCl@ss, etc.) et une hiérarchie service plus riche. Démarrer en 4.0, ajouter les champs 5.0 uniquement si le buyer le demande explicitement. Voir l'article complet sur OCI.
Pour aller plus loin
- Validateur OCI - tester un payload OCI (setup request ou cart return) contre toutes les règles documentées ici, en 100% navigateur.
- Exemples de payloads OCI - 7 exemples curés (minimal, complet, PRICEUNIT trap, OCI 5.0 attachments, etc.) prêts à copier ou tester directement dans le validateur.
- Validateur cXML - le pendant pour le protocole cXML, validation contre le DTD officiel 1.2.070.
- cXML vs OCI - comparaison protocolaire complète.
- Codes UNSPSC - le référentiel produit/service pour le champ NEW_ITEM-MATGROUP.