Skip to main content

Замовлення на купівлю та Замовлення на продаж від OEC 1 до OEC 2

1d5e103bf17a117d4d032.png

Налаштування середовища Integration Framework 

1. Для розробки та тестування сценаріїв потрібно змінити режим Integration Framework з Production mode (default) на Development mode

Режими роботи Integration Framework57b95757b24c2f7804d3e.png

Вибір режиму40c438e7a8c7b03047acf.png

Налаштування профілівaf08902435f1572368ff1.png

2. Після встановлення режиму Development mode потрібно перезавантажити службу SAP Business One Integration Service

Servicesf1e9a8e71badf0eafcb15.png




Розробка сценарію

1. В меню Scenarios – Package Design по кнопці + потрібно додати новий сценарій

522b151f8d6fac5446ed9.png

2. Для вказання зв’язків між Customer та Vendor використовують глобальні таблиці, створити можна но кнопці Definitions з параметрами які на другому скріншоті

13a7f595e9c793e73077b.png


Вікно після натискання на попередньому вікні Selectffb2d98f9b0d741883264.png

3. Вказати дані для цього зв’язку потрібно у меню Setup (вибір відповідного сценарію) - Data Mgt - Вибір створеної глобальної таблиці

Заповнення щойно створеної глобальної таблиціa924dc58fef315fb83c66.png

7523348e5faa3cd5c29de.png




Розробка кроків сценарію

Структура алгоритму роботи кроків сценарію4d829fd5aee7e9cda912a.png

Крок B2bPO2SO

1. Створення основного кроку сценарію який буде трігером для отримання документа Pucrhase Order

42d8b4143808d32244e16.png

2. По кнопці Processing створюється саме тіло та обробки процесу. Додати атом можна по кнопці ▶️

Структура процесу B2bPO2SO9bd377a2a403b6eb13caf.png

3. Редагувати структуру атома можна по редагувати по кліку по ньому, редагується тільки після name=”transform”

atom1:

<Values> 
    <xsl:variable name="MappingCardCode" select="document(&apos;/com.sap.b1i.vplatform.scenarios.design/vPac.brc.B2BB1/vTbl.B1MappingCardCode.xml&apos;)"></xsl:variable> 
    <xsl:variable name="Vendor" select="$msg/BOM/BO/Documents/row/CardCode"></xsl:variable> 
    <xsl:variable name="Customer" select="$MappingCardCode/table/row[./col[2]=$Vendor]/col[1]"></xsl:variable> 
    <CustomerCode> 
      <xsl:value-of select="$Customer"></xsl:value-of> 
    </CustomerCode> 
    <B1User> 
      <xsl:value-of select="/vpf:Msg/vpf:Body/vpf:Payload[./@Role=&apos;T&apos;]/Event/b1e:b1events/b1e:b1event/b1e:userid"></xsl:value-of> 
    </B1User> 
</Values> 


atom3:

<Documents>
	<row>
		<xsl:variable name="date">
			<xsl:call-template name="b1ilib.today"></xsl:call-template>
		</xsl:variable>
		<DocDate>
			<xsl:value-of select="$date"></xsl:value-of>
		</DocDate>
		<DocDueDate>
			<xsl:call-template name="b1ilib.date_plus">
				<xsl:with-param name="date" select="$date"></xsl:with-param>
				<xsl:with-param name="x" select="20"></xsl:with-param>
			</xsl:call-template>
		</DocDueDate>
		<xsl:variable name="Customer" select="/vpf:Msg/vpf:Body/vpf:Payload[./@id=&apos;atom1&apos;]/Values/CustomerCode"></xsl:variable>
		<CardCode>
			<xsl:value-of select="$Customer"></xsl:value-of>
		</CardCode>
		<NumAtCard>
			<xsl:value-of select="$msg/BOM/BO/Documents/row/DocNum"></xsl:value-of>
		</NumAtCard>
	</row>
</Documents>
<Document_Lines>
	<xsl:for-each select="$msg/BOM/BO/Document_Lines/row">
		<row>
			<ItemCode>
				<xsl:value-of select="ItemCode"></xsl:value-of>
			</ItemCode>
			<Quantity>
				<xsl:value-of select="Quantity"></xsl:value-of>
			</Quantity>
		</row>
	</xsl:for-each>
</Document_Lines>undefined</xsl:template>undefined<xsl:include href="../../com.sap.b1i.system.lib/xsl/datetime.xsl"></xsl:include>


Редагування atom2 по кнопці

6b65251c28b0421a412e1.png

ae6ef2c2f99dd3794e6b0.png


atom5:

<B1Result>
	<Result>
		<xsl:value-of select="/vpf:Msg/vpf:Body/vpf:Payload[./@id=&apos;atom2&apos;]/@DIresult"></xsl:value-of>
	</Result>
	<B1User>
		<xsl:value-of select="/vpf:Msg/vpf:Body/vpf:Payload[./@id=&apos;atom1&apos;]/Values/B1User"></xsl:value-of>
	</B1User>
</B1Result>


Редагування atom4:

edddc10363800e4e4299d.png


 atom0:

<xsl:variable name="msgB1" select="/vpf:Msg/vpf:Body/vpf:Payload[./@id=&apos;atom2&apos;]"></xsl:variable>
<xsl:variable name="Status" select="$msgB1/@DIresult"></xsl:variable>
<xsl:variable name="Entry" select="$msgB1/@DImsg"></xsl:variable>
<Msg>
	<xsl:value-of select="concat(&apos;Message: &apos;,$Status, &apos;, DocEntry: &apos;,$Entry)"></xsl:value-of>
</Msg> 


Встановлення вхідних та вихідних даних для B2bPO2SO

49bb9773debe5c20ced88.png

757ccc1dfd9580a92a850.png

Вихідні дані (Outbound)ec281cf0cb791cd84b022.png


Крок B2BB1Msg

1. Створення кроку який буде надсилати повідомлення про стан процесу

13e06bdac4880b35956bb.png

2. По кнопці Processing створюється саме тіло та обробки процесу. Додати атом можна по кнопці ▶️

Взаємодія з атомами для додавання ще атомівdb44b74a732ce88ef8ca5.png

Структура процесу B2BB1Msge821240eeffa020ce0f3a.png

3. Редагування атому path:

21359d410a9431ce75681.png

XPath Expression: /*[/vpf:Msg/vpf:Body/vpf:Payload[./@Role='S']/B1Result/Result = 'success']


4. Редагування атомів повідомлення

eacaf7d8af5140b53b04e.png

User Code: /vpf:Msg/vpf:Body/vpf:Payload[./@Role='S']/B1Result/B1User 


5. Фінальний атом

9e3dc1ac116a5c026222c.png

Встановлення вхідних та вихідних даних для B2BB1Msg

Inboundaa14759e4255b8af5aff7.png

Outbound0d8c9c0e66e32c7a02ecf.png


У двох кроках потрібно поставити галочку SAP Business One DI Single Transaction

a5edf1c6d2021758d470a.png

 




Запуск та тестування

Необхідна умоваb3fb594e703c2e23e1869.png


Для кращого перегляду та можливості пошуку ми визначимо ключ пошуку для монітора повідомлень

b6cadd05edc05f6dda3bc.png


У меню Setup - Sender потрібно вибрати бази з яких буде відпрацьовувати Purchase Order

ded55d785077a28e43e86.png

aa87def5f2b98da087d0f.png


Механізм фільтру на відпрацювання сценарію по Vendor

8dfed35966d8f407b70e9.png

$msg/BOM/BO/Documents/row/CardCode='V00003'


Активація кроків сценарію

1ea9e498ee9e6b89b5b34.png


Активація сценарію

a4a728df86cf43d52f841.png


Якщо все правильно налаштовано — після створення Purchase Order у Message Log буде повідомлення з результатом

c4ebb63e987acacb69298.png


Курс по основах розробки сценаріїв у Integration Framework https://open.sap.com/courses/ifb1 (на Week 4 є розробка даного процесу)