Наш поставщик требует, чтобы мы использовали SAP Open Catalog Interface для заказа товаров. Однако у нас нет SAP, поэтому я должен реализовать его с нуля. Кто-нибудь сделал это и готов поделиться своим опытом/подсказками о том, с чего начать и т. Д. Это OCI doc Я последую за ним.Интеграция SAP OCI без SAP
ответ
Я не могу помочь вам в реализации вашей системы (слишком широкая и не достаточно информации - и не по теме для этого сайта :))
Но я могу дать описание процесса, чтобы дать вам начальную точку.
Ваш поставщик должен предоставить вам ссылку на OCI-Shop (включая учетные данные). К этому URL-адресу прилагается параметр hookurl с целевой страницей.
Таким образом, вы получите что-то вроде:
https://www.mysupplier.com/OCI/ocilogin?user=yourname&password=yourpassword&hookurl=https://example.net/oci_receive_from_supplier_X
При вызове этого URL, он направляет вас в магазин поставщика, где вы можете выбрать материалы. Когда вы закончите, вы не заказ, но вы запрашиваете данные заказа и поставщик отправляет формулу вашего hookurl https://example.net/oci_receive_from_supplier_X
Данные формулы может выглядеть следующим образом:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body>
<form name="SUBMITFORM" action="https://example.net/oci_receive_from_supplier_X" method="post" id="SUBMITFORM">
<input type="hidden" name="NEW_ITEM-MATNR[1]" value="">
<input type="hidden" name="NEW_ITEM-QUANTITY[1]" value="0000000000001">
<input type="hidden" name="NEW_ITEM-DESCRIPTION[1]" value="article description">
<input type="hidden" name="NEW_ITEM-VENDORMAT[1]" value="4711">
<input type="hidden" name="NEW_ITEM-PRICE[1]" value="56.95">
<input type="hidden" name="NEW_ITEM-CURRENCY[1]" value="EUR">
<input type="hidden" name="NEW_ITEM-UNIT[1]" value="PCE">
<input type="hidden" name="NEW_ITEM-LEADTIME[1]" value="5">
<input type="hidden" name="NEW_ITEM-LONGTEXT_1:132[]" value="article description">
<input type="hidden" name="NEW_ITEM-VENDOR[1]" value="987654">
<input type="hidden" name="NEW_ITEM-CONTRACT[1]" value="">
<input type="hidden" name="NEW_ITEM-CONTRACT_ITEM[1]" value="">
<input type="hidden" name="NEW_ITEM-MATGROUP[1]" value="12345678">
<input type="hidden" name="NEW_ITEM-EXT_CATEGORY_ID[1]" value="12345678">
<input type="hidden" name="NEW_ITEM-EXT_SCHEMA_TYPE[1]" value="">
<input type="hidden" name="NEW_ITEM-CUST_FIELD1[1]" value="">
<input type="hidden" name="NEW_ITEM-CUST_FIELD2[1]" value="">
<input type="hidden" name="NEW_ITEM-CUST_FIELD3[1]" value="">
<input type="hidden" name="NEW_ITEM-CUST_FIELD4[1]" value="">
<input type="hidden" name="NEW_ITEM-CUST_FIELD5[1]" value="">
<input type="hidden" name="NEW_ITEM-MATNR[2]" value="">
<input type="hidden" name="NEW_ITEM-QUANTITY[2]" value="0000000000001">
<input type="hidden" name="NEW_ITEM-DESCRIPTION[2]" value="other article description">
<input type="hidden" name="NEW_ITEM-VENDORMAT[2]" value="4712">
<input type="hidden" name="NEW_ITEM-PRICE[2]" value="65.07">
<input type="hidden" name="NEW_ITEM-CURRENCY[2]" value="EUR">
<input type="hidden" name="NEW_ITEM-UNIT[2]" value="PCE">
<input type="hidden" name="NEW_ITEM-LEADTIME[2]" value="5">
<input type="hidden" name="NEW_ITEM-LONGTEXT_2:132[]" value="other article description">
<input type="hidden" name="NEW_ITEM-VENDOR[2]" value="987654">
<input type="hidden" name="NEW_ITEM-CONTRACT[2]" value="">
<input type="hidden" name="NEW_ITEM-CONTRACT_ITEM[2]" value="">
<input type="hidden" name="NEW_ITEM-MATGROUP[2]" value="12345678">
<input type="hidden" name="NEW_ITEM-EXT_CATEGORY_ID[2]" value="12345678">
<input type="hidden" name="NEW_ITEM-EXT_SCHEMA_TYPE[2]" value="">
<input type="hidden" name="NEW_ITEM-CUST_FIELD1[2]" value="">
<input type="hidden" name="NEW_ITEM-CUST_FIELD2[2]" value="">
<input type="hidden" name="NEW_ITEM-CUST_FIELD3[2]" value="">
<input type="hidden" name="NEW_ITEM-CUST_FIELD4[2]" value="">
<input type="hidden" name="NEW_ITEM-CUST_FIELD5[2]" value="">
</form>
<script language="JavaScript" type="text/javascript">
document.SUBMITFORM.submit();
</script>
</body>
</html>
Теперь ваш скрипт для извлечения данных заказа, и вы можете сделать с ним все, что захотите (запустите рабочий процесс утверждения, ...), и в конце вы можете заказать (однако вы хотите. Вы можете запустить процесс EDI или отправить факс заказа ...) Но этот процесс заказа находится вне самого OCI.
Спасибо @knut, вы знаете, могу ли я начать процесс из нашей системы? Потому что сначала мне нужна идентификация заказа в моей системе. – myro
Не зная вашей системы: Да. Вы можете создать идентификатор заказа и добавить его в качестве параметра к URL-адресу вашего крючка. Например. https://example.net/oci_receive_from_supplier_X?order_id=123456. В зависимости от партнерской системы разделитель параметров & должен быть замаскирован. – knut
Какая система/язык у вас есть? Без дополнительной информации: вам нужен веб-сервис, который принимает формулу. Целевой URL вашего сервиса будет добавлен в качестве приглашения в вызове OCI. Затем ваш веб-сервис должен проанализировать данные заказа из вызова OCI. Сам заказ находится вне OCI. – knut
Спасибо @knut, я использую C#/.NET, но я не ограничен системой ... – myro