{"id":4679,"date":"2020-06-02T12:19:00","date_gmt":"2020-06-02T10:19:00","guid":{"rendered":"https:\/\/integrtr.com\/?p=2429"},"modified":"2022-05-21T13:39:44","modified_gmt":"2022-05-21T08:09:44","slug":"unternehmensintegration-mit-sap-cpi-teil-2-von-4","status":"publish","type":"post","link":"https:\/\/integrtr.com\/de\/enterprise-integration-with-sap-cpi-part-2-of-4\/","title":{"rendered":"Unternehmensintegration mit SAP CPI (Teil 2 von 4)"},"content":{"rendered":"<h4 class=\"wp-block-heading\">In diesem Teil werden wir etwas \u00fcber Splitter, Groovy-Skript, Message Body, Header und Exchange-Eigenschaften lernen, w\u00e4hrend wir einen Integrationsfluss f\u00fcr die Verwaltung von Reorder Point (ROP) entwickeln.<\/h4>\n\n\n\n<p>Hallo Technologietramper!<\/p>\n\n\n\n<p>Willkommen zum zweiten Teil von Enterprise Integration mit SAP CPI. Im ersten Teil&nbsp;<a href=\"https:\/\/blogs.integrtr.com\/enterprise-integration-with-cpi-1\/\">(lesen Sie hier, falls Sie es noch nicht getan haben)<\/a>&nbsp;hatten wir unser Integrationsszenario festgelegt, den Ansatz in 7 Schritte unterteilt und auch die ersten beiden Schritte der L\u00f6sung diskutiert.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Konfigurieren Sie die Integration so, dass sie jeden Tag ausgef\u00fchrt wird.<\/li><li>Erhalten Sie die Liste der Produkte<\/li><li><strong>Ermitteln Sie f\u00fcr jedes Produkt in der Liste, ob eine Nachbestellung erforderlich ist.<\/strong><\/li><li>Wenn das Produkt nachbestellt werden muss, Informationen \u00fcber den Lieferanten einholen<\/li><li>Erstellen Sie eine Liste der nachzubestellenden Produkte zusammen mit Lieferanteninformationen<\/li><li>Liste in csv-Format umwandeln<\/li><li>Liste per E-Mail an den Manager senden<\/li><\/ol>\n\n\n\n<p>Au\u00dferdem lernten wir die Formen \"Start Timer\" und \"Request Reply\" kennen, da wir sie in unserem Integrationsablauf verwendeten.<\/p>\n\n\n\n<p>In diesem Stadium haben wir die Liste der Produkte, f\u00fcr die noch keine Bestellung aufgegeben wurde. Wir m\u00fcssen die Bestandseinheiten und den Meldebestand f\u00fcr die Produkte pr\u00fcfen, um festzustellen, ob sie nachbestellt werden m\u00fcssen. Anstatt zu versuchen, die gesamte Produktliste in einem Durchgang zu bearbeiten, werden wir die Liste in einzelne Produkte aufteilen und dann die Bewertung f\u00fcr ein Produkt nach dem anderen vornehmen.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/ds3k0vm1e5mvs.cloudfront.net\/2020\/05\/drake-1.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>Dieser Schritt kann in 2 Teile untergliedert werden:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>W\u00e4hlen Sie ein einzelnes Produkt aus der Liste der erhaltenen Produkte<\/li><li>Feststellen, ob das Produkt nachbestellt werden muss<\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"pick-a-single-product-from-the-list-of-products-obtained\">W\u00e4hlen Sie ein einzelnes Produkt aus der Liste der erhaltenen Produkte<\/h3>\n\n\n\n<p><em>(Verwendete technische Begriffe:&nbsp;<a href=\"https:\/\/help.sap.com\/viewer\/368c481cd6954bdfa5d0435479fd4eaf\/Cloud\/en-US\/dabea9d571a14bf2ac5366bb7841f046.html\">Splitter<\/a>)<\/em><\/p>\n\n\n\n<p>Um die Liste f\u00fcr die Bewertung in einzelne Produkte aufzuteilen, verwenden wir einen Splitter.<\/p>\n\n\n\n<p><strong><a href=\"https:\/\/help.sap.com\/viewer\/368c481cd6954bdfa5d0435479fd4eaf\/Cloud\/en-US\/dabea9d571a14bf2ac5366bb7841f046.html\">Splitter&nbsp;<\/a><\/strong>ist eine Gruppe von Formen, die dazu dienen, eine zusammengesetzte Nachricht in einzelne Nachrichten aufzuteilen. Es gibt verschiedene Arten von Splittern in SAP CPI, wie z. B. Iterating Splitter, General Splitter, EDI Splitter usw. Die am h\u00e4ufigsten verwendeten Splitter sind der allgemeine und der iterative Splitter, die beide dazu dienen, ein allgemeines Dokument in seine einzelnen Elemente aufzuteilen. Der Unterschied zwischen den beiden besteht darin, dass der allgemeine Splitter die umschlie\u00dfenden Tags in die einzelnen Nachrichten einbezieht, w\u00e4hrend der Iterating Splitter dies nicht tut. Um diesen Unterschied zu verdeutlichen, nehmen wir ein Beispiel.<\/p>\n\n\n\n<p>Angenommen, die Liste der Produkte wird wie folgt gepflegt:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>1\n        Biskuit\n    \n    \n        2\n        Tee\n    \n    \n        3\n        Kaffee<\/code><\/pre>\n\n\n\n<p>Liste der Produkte<\/p>\n\n\n\n<p>Wir k\u00f6nnen diese Liste entweder mit dem allgemeinen oder dem iterativen Splitter in einzelne Produkte aufteilen. Schauen wir uns die von beiden erhaltenen Ergebnisse an, um den Unterschied besser zu verstehen.<\/p>\n\n\n\n<p>Wenn wir einen allgemeinen Splitter verwenden und nach Produkt aufteilen, erhalten wir das einzelne Produkt als:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>1\n        Biskuit<\/code><\/pre>\n\n\n\n<p>Ergebnis: Bei Verwendung von General Splitter<\/p>\n\n\n\n<p>Wie Sie sehen k\u00f6nnen, ist der umschlie\u00dfende -Tag auch nach der Aufteilung noch vorhanden.<\/p>\n\n\n\n<p>Wenn wir einen iterativen Splitter verwenden und nach Produkt aufteilen, erhalten wir das folgende Ergebnis. Beachten Sie, dass der umschlie\u00dfende -Tag hier fehlt.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>1\n    Biskuit<\/code><\/pre>\n\n\n\n<p>Ergebnis: Zur Verwendung des Iterativen Splitters<\/p>\n\n\n\n<p>In einem komplexeren Szenario, in dem die Verschachtelung von Tags tiefer geht, wird der Unterschied viel deutlicher, und Sie m\u00fcssen entscheiden, welchen Splitter Sie verwenden m\u00fcssen, je nachdem, ob Sie die umschlie\u00dfenden Tags beibehalten wollen oder nicht.<\/p>\n\n\n\n<p>Nachdem wir nun die Grundlagen von Splittern er\u00f6rtert haben, wollen wir uns nun mit der Konfiguration des in unserem Szenario zu verwendenden Splitters befassen.<\/p>\n\n\n\n<p>Klicken Sie auf Routing -&gt;Splitter-&gt;Allgemeiner Splitter.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/ds3k0vm1e5mvs.cloudfront.net\/2020\/05\/img3-1.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>Lassen Sie den Splitter Shape zwischen Request Reply Shape und End Message Shape fallen:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/ds3k0vm1e5mvs.cloudfront.net\/2020\/05\/img2-2.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>Wir h\u00e4tten hier auch einen iterativen Splitter verwenden k\u00f6nnen, aber unser Szenario ist so einfach, dass es keinen gro\u00dfen Unterschied macht. Es folgt die Konfiguration des Splitters:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/ds3k0vm1e5mvs.cloudfront.net\/2020\/05\/img4-1.png\" alt=\"\"\/><figcaption>Konfiguration f\u00fcr Splitter<\/figcaption><\/figure>\n\n\n\n<p>Wir wollen die Liste in einzelne Produkte aufschl\u00fcsseln, und da die Liste im XML-Format vorliegt, k\u00f6nnen wir dazu einen XPath-Ausdruck verwenden.&nbsp;<strong>Ausdrucksart<\/strong>&nbsp;zu Xpath. Die Produktdetails sind eingeschlossen in&nbsp;<code>&lt;Product&gt;<\/code>&nbsp;Tag und alle Produkte sind eingeschlossen in&nbsp;<code>&lt;Products&gt;<\/code>. Daher ist die&nbsp;<strong>XPath-Ausdruck<\/strong>&nbsp;die wir verwenden, ist:&nbsp;<code>\/Produkte\/Produkt<\/code>. Au\u00dferdem wollen wir uns nur mit den Details eines Produkts auf einmal befassen, daher setzen wir die&nbsp;<strong>Gruppierung<\/strong>&nbsp;Parameter auf 1. Wenn wir aktivieren&nbsp;<strong>Streaming<\/strong>Der Splitter wartet nicht, bis der gesamte Datensatz geladen ist, bevor er mit der Aufteilung beginnen kann. Sobald die Daten in kleinere Teile aufgeteilt sind, werden diese Teile sequentiell verarbeitet. Wenn zwischen diesen Teilen keine Korrelation besteht, k\u00f6nnen wir die&nbsp;<strong>Parallele Verarbeitung<\/strong>. In unserem Szenario erm\u00f6glichen wir eine parallele Verarbeitung, da die Daten f\u00fcr jedes Produkt unabh\u00e4ngig voneinander analysiert werden, um zu pr\u00fcfen, ob eine Neuordnung erforderlich ist. Wir behalten die&nbsp;<strong>Anzahl der gleichzeitigen Prozesse<\/strong>&nbsp;und&nbsp;<strong>Zeit\u00fcberschreitung<\/strong>&nbsp;Parameter auf den Standardwert gesetzt. Es kann vorkommen, dass bei einem dieser Teile eine Ausnahme auftritt. Durch die Aktivierung von&nbsp;<strong>Bei Ausnahme anhalten<\/strong>Wir stellen sicher, dass wir den Rest der Teile nicht verarbeiten.<\/p>\n\n\n\n<p>Nachdem wir nun den Splitter konfiguriert haben, wird die in den vorherigen Schritten erhaltene Produktliste in einzelne Produkte aufgeteilt. Der n\u00e4chste Schritt besteht darin, zu pr\u00fcfen, ob das Produkt neu sortiert werden muss. Zu diesem Zweck werden wir ein Groovy-Skript verwenden.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"identify-if-that-product-requires-reordering\">Feststellen, ob das Produkt nachbestellt werden muss<\/h3>\n\n\n\n<p><em>(Verwendete technische Konzepte: Groovy Script)<\/em><\/p>\n\n\n\n<p>Die Skripterstellung ist eine der leistungsf\u00e4higsten Funktionen von SAP CPI. Wenn keines der vorhandenen Shapes so konfiguriert werden kann, dass es Daten gem\u00e4\u00df unseren Anforderungen verarbeitet, k\u00f6nnen wir ein Skript entwickeln, das unsere Logik implementiert.<\/p>\n\n\n\n<p>In unserem Szenario werden wir ein Groovy-Skript verwenden, um festzustellen, ob ein Produkt nachbestellt werden muss. Um ein Groovy-Skript zu Ihrem Integrationsfluss hinzuzuf\u00fcgen, klicken Sie auf Message Transformers-&gt;Script-&gt;Groovy Script<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/ds3k0vm1e5mvs.cloudfront.net\/2020\/05\/img5-1.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>Legen Sie die Form zwischen dem allgemeinen Splitter und der Endnachrichtenform ab.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/ds3k0vm1e5mvs.cloudfront.net\/2020\/05\/img51.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>Zu diesem Zeitpunkt haben wir die Form in unseren Integrationsfluss eingef\u00fcgt, aber es wurde kein Skript zur Groovy-Skript-Form hinzugef\u00fcgt. Um ein Skript hinzuzuf\u00fcgen, klicken Sie auf die Form und dann auf das + Symbol auf der rechten Seite.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/ds3k0vm1e5mvs.cloudfront.net\/2020\/05\/img6-1.png\" alt=\"\"\/><figcaption>unser iFlow mit Splitter und Groovy-Skript<\/figcaption><\/figure>\n\n\n\n<p>Wenn Sie auf die Schaltfl\u00e4che + klicken, wird der Form ein neues Skript hinzugef\u00fcgt:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/ds3k0vm1e5mvs.cloudfront.net\/2020\/05\/img7-1.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>Wie Sie sehen k\u00f6nnen, enth\u00e4lt dieses Skript eine Methode mit dem Namen \"processData\", die eine eingehende Nachricht als Argument annimmt und die Nachricht nach der Verarbeitung zur\u00fcckgibt. Au\u00dferdem ist die Methode in 3 Abschnitte unterteilt: Body, Headers und Properties. Jede Nachricht im Integrationsfluss hat eine&nbsp;<em>K\u00f6rper<\/em>,&nbsp;<em>Nachrichtenkopfzeilen<\/em>&nbsp;und&nbsp;<em>Eigenschaften des Nachrichtenaustauschs<\/em>u.a.. Der Nachrichtentext enth\u00e4lt die Nutzlast. In unserem Szenario enth\u00e4lt er die Produktdaten, die wir in einem fr\u00fcheren Schritt mit Request Reply shape erhalten haben.<\/p>\n\n\n\n<p>Nachrichtenk\u00f6pfe enthalten in der Regel Metadaten und k\u00f6nnen zusammen mit den Eigenschaften des Nachrichtenaustauschs zum Speichern von Daten verwendet werden, die nicht Teil des Textes sind, aber f\u00fcr die Verarbeitung ben\u00f6tigt werden. Zum Beispiel k\u00f6nnen wir nach der Bewertung von Produktdetails einen Parameter in Headers\/Properties speichern, der angibt, ob eine Nachbestellung erforderlich ist.<\/p>\n\n\n\n<p>Der Unterschied zwischen den in Header und Property gespeicherten Daten ist der Umfang. Daten werden in Property nur so lange gespeichert, bis sich die Nachricht in der Middleware befindet, und werden nicht an den Empf\u00e4nger weitergegeben, w\u00e4hrend in Header gespeicherte Daten an den Empf\u00e4nger weitergegeben werden.<\/p>\n\n\n\n<p>Nachfolgend finden Sie das Skript, das wir verwenden werden:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import com.sap.gateway.ip.core.customdev.util.Message;\nimport groovy.util.XmlSlurper ;\nimport java.util.HashMap;\nimport groovy.xml.XmlUtil;\n\ndef Message processData(Message message) {\n       def body = message.getBody(java.lang.String) as String;\n       def reorderLevel;\n       def unitsInStock;\n       def product= new XmlSlurper().parseText(body);\n       reorderLevel=product.Product.ReorderLevel.text().toInteger();\n       unitsInStock=product.Product.UnitsInStock.text().toInteger();\n       if(unitsInStock&lt;=reorderLevel){\n          message.setProperty(&quot;needsReorder&quot;, &quot;true&quot;);\n       }\n       sonst{\n           message.setProperty(&quot;needsReorder&quot;, &quot;false&quot;);\n       }\n       return message;\n}\n<\/code><\/pre>\n\n\n\n<p>In diesem Skript erhalten wir zun\u00e4chst den Nachrichtentext, der die Produktdaten als String enth\u00e4lt. Beachten Sie, dass die Skriptform nach dem Splitter platziert wurde, so dass der Nachrichtentext Details eines einzelnen Produkts auf einmal enth\u00e4lt und mehrere solcher Segmente parallel verarbeitet werden.<\/p>\n\n\n\n<p>Wir konvertieren den String-Body in einen XML-Knoten mit&nbsp;<a href=\"https:\/\/docs.groovy-lang.org\/latest\/html\/api\/groovy\/util\/XmlSlurper.html\">XML-Schl\u00fcrfer<\/a>. XML Slurper wandelt die Zeichenfolge in einen Dokumentenbaum um, der \u00e4hnlich wie XPath-Ausdr\u00fccke durchlaufen werden kann.<\/p>\n\n\n\n<p>Wir ermitteln den Meldebestand und die Bestandseinheiten der Produkte und vergleichen sie. Wenn der Lagerbestand kleiner oder gleich dem Meldebestand ist, der hier als Schwellenwert dient, setzen wir eine Nachrichtenaustausch-Eigenschaft&nbsp;<code>needsReorder<\/code>&nbsp;zu&nbsp;<code>wahr<\/code>. Andernfalls setzen wir ihn auf&nbsp;<code>falsch<\/code>. Mit diesem Skript k\u00f6nnen wir also feststellen, ob ein Produkt nachbestellt werden muss oder nicht.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Still, keine Eile! -Portia, Der Kaufmann von Venedig<\/p><\/blockquote>\n\n\n\n<p>Da wir uns an die Tugend des langsamen und stetigen Vorgehens erinnern, werden wir hier eine Pause einlegen. In diesem Blogbeitrag haben wir etwas \u00fcber Splitter gelernt und auch \u00fcber die Unterschiede zwischen allgemeinen und iterativen Splittern. Au\u00dferdem haben wir bei der Entwicklung unseres Integrationsablaufs etwas \u00fcber Groovy-Skript, Nachrichtenkopfzeilen und Austauscheigenschaften gelernt. Im n\u00e4chsten Blogbeitrag werden wir unsere Reise der Unternehmensintegration mit SAP CPI fortsetzen. Bis dahin, auf Wiedersehen und viel Spa\u00df beim Lernen!<\/p>","protected":false},"excerpt":{"rendered":"<p>In this part, we are going to learn about Splitters, Groovy Script, Message Body, Headers and Exchange properties while developing an integration flow for managing Reorder Point(ROP). Hello technology hitchhikers! Welcome to the second part of Enterprise Integration with SAP CPI. In the first part&nbsp;(read here if you haven&#8217;t)&nbsp;we had established our integration scenario, divided [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":4767,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[31,34],"tags":[36,40,41,42],"class_list":["post-4679","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-integration","category-quick-tips","tag-cpi","tag-enterprise-integration","tag-sap-hxm","tag-successfactors"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Enterprise Integration with SAP CPI (Part 2 of 4) - INTEGRTR<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/integrtr.com\/de\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Enterprise Integration with SAP CPI (Part 2 of 4) - INTEGRTR\" \/>\n<meta property=\"og:description\" content=\"In this part, we are going to learn about Splitters, Groovy Script, Message Body, Headers and Exchange properties while developing an integration flow for managing Reorder Point(ROP). Hello technology hitchhikers! Welcome to the second part of Enterprise Integration with SAP CPI. In the first part&nbsp;(read here if you haven&#8217;t)&nbsp;we had established our integration scenario, divided [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/integrtr.com\/de\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\/\" \/>\n<meta property=\"og:site_name\" content=\"INTEGRTR\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/integrtr\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-06-02T10:19:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-05-21T08:09:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/integrtr.com\/wp-content\/uploads\/2020\/10\/Cover-1200x600-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ankit Vimal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@integrtr\" \/>\n<meta name=\"twitter:site\" content=\"@integrtr\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ankit Vimal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"8\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/integrtr.com\\\/de\\\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/integrtr.com\\\/de\\\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\\\/\"},\"author\":{\"name\":\"Ankit Vimal\",\"@id\":\"https:\\\/\\\/integrtr.com\\\/#\\\/schema\\\/person\\\/c857f557e27df690961fcdf265dd00a2\"},\"headline\":\"Enterprise Integration with SAP CPI (Part 2 of 4)\",\"datePublished\":\"2020-06-02T10:19:00+00:00\",\"dateModified\":\"2022-05-21T08:09:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/integrtr.com\\\/de\\\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\\\/\"},\"wordCount\":1439,\"publisher\":{\"@id\":\"https:\\\/\\\/integrtr.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/integrtr.com\\\/de\\\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/integrtr.com\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/Cover-1200x600-1.png\",\"keywords\":[\"CPI\",\"Enterprise Integration\",\"SAP HXM\",\"Successfactors\"],\"articleSection\":[\"INTEGRATION\",\"Quick Tips\"],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/integrtr.com\\\/de\\\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\\\/\",\"url\":\"https:\\\/\\\/integrtr.com\\\/de\\\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\\\/\",\"name\":\"Enterprise Integration with SAP CPI (Part 2 of 4) - INTEGRTR\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/integrtr.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/integrtr.com\\\/de\\\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/integrtr.com\\\/de\\\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/integrtr.com\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/Cover-1200x600-1.png\",\"datePublished\":\"2020-06-02T10:19:00+00:00\",\"dateModified\":\"2022-05-21T08:09:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/integrtr.com\\\/de\\\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/integrtr.com\\\/de\\\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/integrtr.com\\\/de\\\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\\\/#primaryimage\",\"url\":\"https:\\\/\\\/integrtr.com\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/Cover-1200x600-1.png\",\"contentUrl\":\"https:\\\/\\\/integrtr.com\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/Cover-1200x600-1.png\",\"width\":1200,\"height\":600},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/integrtr.com\\\/de\\\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/integrtr.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Enterprise Integration with SAP CPI (Part 2 of 4)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/integrtr.com\\\/#website\",\"url\":\"https:\\\/\\\/integrtr.com\\\/\",\"name\":\"INTEGRTR\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/integrtr.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/integrtr.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/integrtr.com\\\/#organization\",\"name\":\"INTEGRTR GmbH\",\"url\":\"https:\\\/\\\/integrtr.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/integrtr.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/integrtr.com\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/integrtr-logo.png\",\"contentUrl\":\"https:\\\/\\\/integrtr.com\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/integrtr-logo.png\",\"width\":364,\"height\":96,\"caption\":\"INTEGRTR GmbH\"},\"image\":{\"@id\":\"https:\\\/\\\/integrtr.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/integrtr\\\/\",\"https:\\\/\\\/x.com\\\/integrtr\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/integrtr\\\/\",\"https:\\\/\\\/www.instagram.com\\\/integrtr\\\/\",\"https:\\\/\\\/www.youtube.com\\\/@integrtr9894\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/integrtr.com\\\/#\\\/schema\\\/person\\\/c857f557e27df690961fcdf265dd00a2\",\"name\":\"Ankit Vimal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/92fec326d185b0ff294d557bb363862dfcd029cf67ecc212af61e4b61a68755f?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/92fec326d185b0ff294d557bb363862dfcd029cf67ecc212af61e4b61a68755f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/92fec326d185b0ff294d557bb363862dfcd029cf67ecc212af61e4b61a68755f?s=96&d=mm&r=g\",\"caption\":\"Ankit Vimal\"},\"url\":\"https:\\\/\\\/integrtr.com\\\/de\\\/author\\\/ankit\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Unternehmensintegration mit SAP CPI (Teil 2 von 4) - INTEGRTR","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/integrtr.com\/de\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\/","og_locale":"de_DE","og_type":"article","og_title":"Enterprise Integration with SAP CPI (Part 2 of 4) - INTEGRTR","og_description":"In this part, we are going to learn about Splitters, Groovy Script, Message Body, Headers and Exchange properties while developing an integration flow for managing Reorder Point(ROP). Hello technology hitchhikers! Welcome to the second part of Enterprise Integration with SAP CPI. In the first part&nbsp;(read here if you haven&#8217;t)&nbsp;we had established our integration scenario, divided [&hellip;]","og_url":"https:\/\/integrtr.com\/de\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\/","og_site_name":"INTEGRTR","article_publisher":"https:\/\/www.facebook.com\/integrtr\/","article_published_time":"2020-06-02T10:19:00+00:00","article_modified_time":"2022-05-21T08:09:44+00:00","og_image":[{"width":1200,"height":600,"url":"https:\/\/integrtr.com\/wp-content\/uploads\/2020\/10\/Cover-1200x600-1.png","type":"image\/png"}],"author":"Ankit Vimal","twitter_card":"summary_large_image","twitter_creator":"@integrtr","twitter_site":"@integrtr","twitter_misc":{"Verfasst von":"Ankit Vimal","Gesch\u00e4tzte Lesezeit":"8\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/integrtr.com\/de\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\/#article","isPartOf":{"@id":"https:\/\/integrtr.com\/de\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\/"},"author":{"name":"Ankit Vimal","@id":"https:\/\/integrtr.com\/#\/schema\/person\/c857f557e27df690961fcdf265dd00a2"},"headline":"Enterprise Integration with SAP CPI (Part 2 of 4)","datePublished":"2020-06-02T10:19:00+00:00","dateModified":"2022-05-21T08:09:44+00:00","mainEntityOfPage":{"@id":"https:\/\/integrtr.com\/de\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\/"},"wordCount":1439,"publisher":{"@id":"https:\/\/integrtr.com\/#organization"},"image":{"@id":"https:\/\/integrtr.com\/de\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\/#primaryimage"},"thumbnailUrl":"https:\/\/integrtr.com\/wp-content\/uploads\/2020\/10\/Cover-1200x600-1.png","keywords":["CPI","Enterprise Integration","SAP HXM","Successfactors"],"articleSection":["INTEGRATION","Quick Tips"],"inLanguage":"de"},{"@type":"WebPage","@id":"https:\/\/integrtr.com\/de\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\/","url":"https:\/\/integrtr.com\/de\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\/","name":"Unternehmensintegration mit SAP CPI (Teil 2 von 4) - INTEGRTR","isPartOf":{"@id":"https:\/\/integrtr.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/integrtr.com\/de\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\/#primaryimage"},"image":{"@id":"https:\/\/integrtr.com\/de\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\/#primaryimage"},"thumbnailUrl":"https:\/\/integrtr.com\/wp-content\/uploads\/2020\/10\/Cover-1200x600-1.png","datePublished":"2020-06-02T10:19:00+00:00","dateModified":"2022-05-21T08:09:44+00:00","breadcrumb":{"@id":"https:\/\/integrtr.com\/de\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/integrtr.com\/de\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/integrtr.com\/de\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\/#primaryimage","url":"https:\/\/integrtr.com\/wp-content\/uploads\/2020\/10\/Cover-1200x600-1.png","contentUrl":"https:\/\/integrtr.com\/wp-content\/uploads\/2020\/10\/Cover-1200x600-1.png","width":1200,"height":600},{"@type":"BreadcrumbList","@id":"https:\/\/integrtr.com\/de\/unternehmensintegration-mit-sap-cpi-teil-2-von-4\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/integrtr.com\/"},{"@type":"ListItem","position":2,"name":"Enterprise Integration with SAP CPI (Part 2 of 4)"}]},{"@type":"WebSite","@id":"https:\/\/integrtr.com\/#website","url":"https:\/\/integrtr.com\/","name":"INTEGRTR","description":"","publisher":{"@id":"https:\/\/integrtr.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/integrtr.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/integrtr.com\/#organization","name":"INTEGRTR GmbH","url":"https:\/\/integrtr.com\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/integrtr.com\/#\/schema\/logo\/image\/","url":"https:\/\/integrtr.com\/wp-content\/uploads\/2022\/05\/integrtr-logo.png","contentUrl":"https:\/\/integrtr.com\/wp-content\/uploads\/2022\/05\/integrtr-logo.png","width":364,"height":96,"caption":"INTEGRTR GmbH"},"image":{"@id":"https:\/\/integrtr.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/integrtr\/","https:\/\/x.com\/integrtr","https:\/\/www.linkedin.com\/company\/integrtr\/","https:\/\/www.instagram.com\/integrtr\/","https:\/\/www.youtube.com\/@integrtr9894"]},{"@type":"Person","@id":"https:\/\/integrtr.com\/#\/schema\/person\/c857f557e27df690961fcdf265dd00a2","name":"Ankit Vimal","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/92fec326d185b0ff294d557bb363862dfcd029cf67ecc212af61e4b61a68755f?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/92fec326d185b0ff294d557bb363862dfcd029cf67ecc212af61e4b61a68755f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/92fec326d185b0ff294d557bb363862dfcd029cf67ecc212af61e4b61a68755f?s=96&d=mm&r=g","caption":"Ankit Vimal"},"url":"https:\/\/integrtr.com\/de\/author\/ankit\/"}]}},"_links":{"self":[{"href":"https:\/\/integrtr.com\/de\/wp-json\/wp\/v2\/posts\/4679","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/integrtr.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/integrtr.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/integrtr.com\/de\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/integrtr.com\/de\/wp-json\/wp\/v2\/comments?post=4679"}],"version-history":[{"count":0,"href":"https:\/\/integrtr.com\/de\/wp-json\/wp\/v2\/posts\/4679\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/integrtr.com\/de\/wp-json\/wp\/v2\/media\/4767"}],"wp:attachment":[{"href":"https:\/\/integrtr.com\/de\/wp-json\/wp\/v2\/media?parent=4679"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/integrtr.com\/de\/wp-json\/wp\/v2\/categories?post=4679"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/integrtr.com\/de\/wp-json\/wp\/v2\/tags?post=4679"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}