2016-12-20 3 views
2

Наш поставщик требует, чтобы мы использовали SAP Open Catalog Interface для заказа товаров. Однако у нас нет SAP, поэтому я должен реализовать его с нуля. Кто-нибудь сделал это и готов поделиться своим опытом/подсказками о том, с чего начать и т. Д. Это OCI doc Я последую за ним.Интеграция SAP OCI без SAP

+1

Какая система/язык у вас есть? Без дополнительной информации: вам нужен веб-сервис, который принимает формулу. Целевой URL вашего сервиса будет добавлен в качестве приглашения в вызове OCI. Затем ваш веб-сервис должен проанализировать данные заказа из вызова OCI. Сам заказ находится вне OCI. – knut

+0

Спасибо @knut, я использую C#/.NET, но я не ограничен системой ... – myro

ответ

2

Я не могу помочь вам в реализации вашей системы (слишком широкая и не достаточно информации - и не по теме для этого сайта :))

Но я могу дать описание процесса, чтобы дать вам начальную точку.

Ваш поставщик должен предоставить вам ссылку на 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.

+0

Спасибо @knut, вы знаете, могу ли я начать процесс из нашей системы? Потому что сначала мне нужна идентификация заказа в моей системе. – myro

+1

Не зная вашей системы: Да. Вы можете создать идентификатор заказа и добавить его в качестве параметра к URL-адресу вашего крючка. Например. https://example.net/oci_receive_from_supplier_X?order_id=123456. В зависимости от партнерской системы разделитель параметров & должен быть замаскирован. – knut