OCI RoundTrip
What is OCI RoundTrip?
OCI RoundTrip is SAP’s version of PunchOut. OCI RoundTrip only covers the catalog/shopping part of eProcurement. Electronic orders, order confirmations, ship notices, and invoices are not covered by the OCI specification. Using a gateway solution to map between OCI and cXML should be considered before adding support for OCI RoundTrip to an eCommerce store that supports cXML PunchOut.
Login Request
Authentication is done via an HTTP request sent from the users browser to the eCommerce website. The HTTP request is typically* a POST request with a url-encoded POST body (parameters).
HOOK_URL and ~TARGET Parameters
The HOOK_URL
parameter is required and will contain the URL where the cart should be sent to. The ~TARGET
parameter (if present) will contain a value that should be set on the shopping cart <form> target
attribute. The ~TARGET
parameter is used when the eProcurement system has wrapped the eCommerce site in a frame to control which frame the cart is posted to.
The values of both of these parameters should be saved with the user’s session for later use.
Authentication Parameters
The authentication parameters included in the POST body are completely configurable in SAP and will vary by implementation. The recommended authentication parameter names are USERNAME
and PASSWORD
. These parameters should be used to authenticate the request and to determine which organization is accessing the store.
For each organization accessing the site via OCI, allow the name and value to vary for the username and password parameters. Example table columns would be buyer_id, username_field, username, password_field, password_hash.
Returning the Shopping Cart
The shopping cart must be sent back to the eProcurement system from the shoppers web browser. Upon submitting the cart via an HTML form
, the user will return to the eProcurement system and no longer be on the suppliers site. The HTML form
should contain a number of hidden elements with the shopping cart item data. The action
attribute of the form
element should be set to the HOOK_URL
that was included with the login request.
Common Shopping Cart Item Fields
Field name format: NEW_ITEM-<field>[<index>]
Example HTML for a DESCRIPTION field for the 3rd item in the shopping cart:
<input type="hidden" name="NEW_ITEM-DESCRIPTION[3]" value="My Item Description">
Field | Description | Required | Max Length | Notes |
---|---|---|---|---|
|
Short production description |
Yes* |
40 |
|
|
Item quantity |
Yes* |
15 |
Supports 11 digits before the decimal point, 3 after it. Do not use commas for thousands. |
|
Unit of Measure |
Yes* |
3 |
Must exist as a UOM in SAP. |
|
Unit price of item |
No |
15 |
Supports 11 digits before the decimal point, 3 after it. Do not use commas for thousands. |
|
Item currency |
No |
5 |
|
|
Delivery time of the item in days |
No |
5 |
|
|
Supplier part number |
Yes* |
40 |
|
|
Manufacturer part number |
No |
40 |
|
|
Material group |
No* |
10 |
Often a commodity code |
Long Product Description (LONGTEXT)
The long product description does not follow the same format as the other OCI fields. The field length of the LONGTEXT
field is unlimited.
Field name format: NEW_ITEM-LONGTEXT_<index>:132[]
Example HTML for a LONGTEXT field for the 2nd item in the shopping cart:
<input type="hidden" name="NEW_ITEM-LONGTEXT_2:132[]" value="My Long Item Description">
Custom Fields
5 custom fields are available that can be configured in SAP to support additional functionality. By default, these fields will be ignored and should be omitted in most cases.
Field | Description | Max Length |
---|---|---|
|
Custom Field |
10 |
|
Custom Field |
10 |
|
Custom Field |
10 |
|
Custom Field |
20 |
|
Custom Field |
50 |
Additional Shopping Cart Item Fields
Field | Description | Max Length | Notes |
---|---|---|---|
|
Buyer material number for the item |
40 |
If this is required by the buyer, the supplier will need to maintain a cross reference from their part numbers to the buyers material numbers. |
|
The quantity represented by the unit price |
5 |
Should only be used with items that have very low unit prices to increase the number of decimal places of the unit price. |
|
Vendor number |
10 |
Unique identifier for the supplier. Used for multi-supplier catalogs. |
|
SRM manufacturer number of the item |
10 |
|
|
Flag to indicate item is a service |
1 |
|
|
Buyers contract number |
10 |
|
|
Item within the SRM contract |
5 |
|
|
Number of an external bid for this item |
35 |
|
|
Item of external bid |
10 |
|
|
Unique database key for this item in the catalog |
40 |
|
|
URL of the attachment |
255 |
|
|
Title of the attachment |
255 |
|
|
Purpose of the attachment |
1 |
Use |
|
Name of a schema via which it was imported in the SRM Server |
10 |
|
|
Unique key for an external category from the schema above, independent of the version of the schema |
60 |
|
|
Unique key for an external category from the schema above, dependent on the version of the schema |
40 |
|
|
Name of a system in the System Landscape Directory (SLD) |
60 |
|
|
Item Type |
1 |
"R" = Root, "O" = Outline, "F" = Functional |
|
The integer id of the parent of the current item. |
5 |