Unternehmensintegration mit SAP CPI (Teil 4 von 4)

Von Ankit Vimal

Unternehmensintegration mit SAP CPI (Teil 4 von 4)

Von Ankit Vimal

Hallo Technologietramper!

Willkommen zum letzten Teil von Enterprise Integration mit SAP CPI. In den ersten drei Teilen ( 1, 2 & 3 ) haben wir unser Integrationsszenario festgelegt, den Ansatz in 7 Schritte unterteilt und die ersten 4 Schritte der Lösung besprochen. Wir haben gelernt über Nachrichtliche Ereignisse, Startzeitgeber und einige Terminplanung Optionen, Anfrage Antwortform, Groovy Script FormAllgemein und iterativ Splitter, Inhaltliche Bereicherung und Inhalt Modifikator bei der Erstellung unseres Integrationsflusses.

In diesem Teil werden wir die restlichen Schritte besprechen:

  1. Konfigurieren Sie die Integration so, dass sie jeden Tag ausgeführt wird.
  2. Erhalten Sie die Liste der Produkte
  3. Ermitteln Sie für jedes Produkt in der Liste, ob eine Nachbestellung erforderlich ist.
  4. Wenn das Produkt nachbestellt werden muss, Informationen über den Lieferanten einholen
  5. Erstellen Sie eine Liste der nachzubestellenden Produkte zusammen mit Lieferanteninformationen
  6. Liste in CSV-Format umwandeln
  7. Liste per E-Mail an den Manager senden

5. Erstellen Sie eine Liste der nachzubestellenden Produkte zusammen mit Lieferanteninformationen

(Verwendete technische Begriffe: Content Modifier)

Bis jetzt haben wir die Details der Produkte, die nachbestellt werden müssen, zusammen mit den Lieferanteninformationen für diese Produkte gesammelt. Die resultierenden Daten sehen wie folgt aus:

Als Erstes müssen wir dieser Liste Tags hinzufügen, damit sie in einem gültigen XML-Format vorliegt und in CSV umgewandelt werden kann. Dazu verwenden wir einen Inhaltsmodifikator. Fügen Sie einen Inhaltsmodifikator zwischen der Form "Gather" und der Form "End Message" ein.

Um umschließende Tags hinzuzufügen, setzen Sie einfach den Nachrichtentext in diesem Inhaltsmodifikator wie unten gezeigt:

Nach dem Durchlaufen dieser Form sieht der Nachrichtentext wie folgt aus:

8
		falsch
		25.8900
		Nord-Ost Matjeshering
		10 - 200 g Gläser
		0
		30
		15
		10
		13
		Sven Petersen
		Koordinator Auslandsmärkte
		Nord-Ost-Fisch Handelsgesellschaft mbH
		Frahmredder 112a
		(04721) 8713
		27478
		Deutschland
	
	
		:
		:
		:

6. Liste in CSV-Format umwandeln

(Verwendete technische Konzepte: Message Transformer - XML zu CSV Konverter)

Um diese Liste in das CSV-Format zu konvertieren, verwenden wir ein Nachrichtentransformator vom Typ XML zu CSV Konverter. SAP CPI bietet verschiedene Konverter für die Umwandlung von XML in JSON, XML in CSV und umgekehrt. Lesen Sie mehr über Message Transformers und verschiedene Konverter hier.

Fügen Sie einen XML-zu-CSV-Konverter zwischen dem im vorherigen Schritt hinzugefügten Inhaltsmodifikator und der Endnachrichtenform hinzu.

Konfigurieren Sie den Konverter wie unten gezeigt. Geben Sie den Pfad zu den Daten an, die konvertiert werden sollen, in unserem Fall sind es Produkt- und Lieferantendetails unter /ReorderList/Produkt. Wir werden Semikolon als Feldtrennzeichen verwenden und wollen Feldnamen als Überschriften in die CSV-Liste aufnehmen.

Tipp: Das Semikolon ist im Allgemeinen ein bevorzugtes Trennzeichen, da es unerwartetes Verhalten bei der Eingabe von Währungen und bei der Gruppierung von Ziffern verhindert und in Texten nicht oft vorkommt.

Nach dem Durchlaufen dieser Form wird die Produktliste in das CSV-Format umgewandelt und enthält in der ersten Zeile Kopfzeilen.

7. Liste per E-Mail an den Manager senden

(Verwendete technische Begriffe: Mail-Adapter, Sicherheitsmaterial)

Nun, da wir die Liste in das CSV-Format konvertiert haben, werden wir sie per E-Mail an den Filialleiter senden. Zu diesem Zweck verwenden wir einen Mail-Adapter.

Bevor Sie einen Mail-Adapter hinzufügen, fügen Sie dem Integrationsfluss einen Empfänger hinzu und platzieren ihn neben dem End-Message-Shape:

Um einen Mailadapter hinzuzufügen, klicken Sie auf die Form der Endnachricht und verbinden Sie sie mit dem Empfänger, den wir im vorherigen Schritt hinzugefügt haben.

Wählen Sie als Adaptertyp "Mail".

Bevor wir diesen Adapter konfigurieren, fügen wir die Credentials der zu verwendenden E-Mail Id zu SAP CPI Sicherheitsmaterialien.

Speichern Sie den Integrationsablauf und klicken Sie auf das Augensymbol auf der linken Seite, um zur Betriebsansicht zu gelangen. Klicken Sie auf die Kachel "Sicherheitsmaterial" unter "Sicherheit verwalten" und dann auf die Schaltfläche "Hinzufügen" oben rechts auf dem Bildschirm. Wählen Sie User Credentials.

Geben Sie in das Feld Benutzer die E-Mail-Adresse ein, die für das Versenden von E-Mails verwendet werden soll, ein Passwort für die E-Mail-Adresse und einen Namen für die Zugangsdaten, mit dem wir später darauf zugreifen können. Stellen Sie die Anmeldeinformationen bereit. Vergewissern Sie sich, dass die E-Mail-ID für den API-Zugang freigeschaltet ist, da wir sonst keine E-Mails über unseren Integrationsablauf versenden können.

Gehen wir nun zurück zu unserem Integrationsfluss und öffnen ihn im Bearbeitungsmodus. Klicken Sie auf den Mail-Adapter und gehen Sie auf den Reiter Verbindung:

In der Adresse geben Sie die Adresse des SMTP-Servers und die Nummer des zu verwendenden Ports an. Wenn Sie z. B. eine Gmail-ID verwenden, können Sie hier smtp.gmail.com:587 eingeben. Wenn Sie eine Microsoft Outlook-ID verwenden, können Sie smtp.office365.com:587 in dieses Feld eingeben.

Geben Sie die Werte für Proxy-Typ, Zeitüberschreitung und Schutz entsprechend Ihrem Anwendungsfall an. Wählen Sie Authentifizierung als Plain User/Password eingeben und unter Name der Bescheinigunggeben Sie den Namen der Anmeldeinformationen an, die wir vor diesem Schritt gespeichert haben.

Gehen Sie dann auf die Registerkarte "Verarbeitung" und geben Sie die Details für die zu versendende E-Mail an, z. B. die E-Mail-Adresse, von der aus sie versendet werden soll. Bitte beachten Sie, dass es sich dabei um dieselbe E-Mail-Adresse handelt, die wir beim Speichern der Anmeldedaten auf CPI angegeben haben. Geben Sie unter Mail Body die Adresse an, an die die E-Mail gesendet werden soll, sowie den Inhalt der E-Mail.

Da wir auch die Liste der nachzubestellenden Produkte senden müssen, fügen wir sie als Anhang hinzu. Geben Sie für den Anhang eine Name der anzuhängenden Datei, hängen Sie .csv an das Ende dieses Namens an, um sicherzustellen, dass eine CSV-Datei an den Manager gesendet wird. Geben Sie die Mime-Type als Text/CSV. Wir hatten die Liste der neu zu bestellenden Produkte im CSV-Format im Nachrichtentext, daher werden wir die Quelle als Body. Wir hätten auch einen Mail-Anhang aus den Kopfzeilen der Nachricht erstellen können. Dazu hätten wir die Quelle als Header angegeben und den Namen der Kopfzeile spezifiziert. Sie können über Mailadapter im Detail lesen hier.

Nachdem wir nun auch den Mail-Adapter konfiguriert haben, können wir speichern und bereitstellen diesen Integrationsablauf. Nach der Bereitstellung wird der Integrationsfluss gemäß dem definierten Zeitplan ausgeführt, bestimmt, welche Produkte nachbestellt werden müssen, und sendet die Liste im CSV-Format an den Filialleiter. Damit haben wir das, was ursprünglich ein generischer OData-Dienst war, in einen kundenspezifischen Bericht umgewandelt, der mit SAP CPI verarbeitet und bereitgestellt wird.

In dieser Blogserie haben wir verschiedene Formen in SAP CPI beim Aufbau eines Integrationsflusses kennengelernt. Die besprochenen Schritte stellen jedoch nur eine der vielen Lösungen für diesen Anwendungsfall dar. Anstatt als Eingangsformat Klartext anzugeben, hätten wir zum Beispiel auch XML-Format verwenden können. In diesem Fall hätten wir eine Multimap-Nachricht erstellt, und bei der Konvertierung von XML nach CSV wäre der Pfad zum Quellelement etwas anders verlaufen.

Anstatt nach dem Schritt der Inhaltsanreicherung ein Skript zu verwenden, um den XML-Body mit allen Daten auf derselben hierarchischen Ebene zu bilden, hätten wir auch Message Mapping verwenden können. Eine andere Lösung für denselben Schritt war die Extraktion aller relevanten Daten in die Nachrichteneigenschaften mit Hilfe eines Content Modifier und die Bildung des Nachrichtenkörpers im gewünschten Format mit Hilfe eines weiteren Content Modifier. Es sind also mehrere Lösungen für einen Anwendungsfall möglich, und in diesem Fall müssen wir die Vor- und Nachteile der einzelnen Lösungen abwägen, um die für uns günstigste auszuwählen.

Nun ist es an der Zeit, uns zu verabschieden. Es war eine interessante Reise, und ich bin sicher, dass Sie sich bei der Integration mit SAP CPI viel wohler fühlen werden als zuvor. Wir werden uns bald mit weiteren Beiträgen zur Unternehmensintegration zurückmelden. Bis dahin, auf Wiedersehen und viel Spaß beim Lernen!

Je effizienter die Digitalisierung und der Datenfluss sind, desto höher sind der Unternehmenswert und die Wettbewerbsfähigkeit.

Möchten Sie ein INTEGRTR werden?

DE