150
Bonn Boston Valentin Nicolescu, Burkhardt Funk, Peter Niemeyer, Matthias Heiler, Holger Wittges, Thomas Morandell, Florian Visintin, Benedikt Kleine Stegemann, Harald Kienegger Praxishandbuch SAP NetWeaver ® PI – Entwicklung

Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

Embed Size (px)

Citation preview

Page 1: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

Bonn � Boston

Valentin Nicolescu, Burkhardt Funk, Peter Niemeyer, Matthias Heiler, Holger Wittges, Thomas Morandell, Florian Visintin, Benedikt Kleine Stegemann, Harald Kienegger

Praxishandbuch SAP NetWeaver® PI – Entwicklung

1440.book Seite 3 Montag, 10. August 2009 1:55 13

Page 2: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

Auf einen Blick

Teil I Grundlagen

1 Integration von betrieblichen Informationssystemen ... 25

2 SAP NetWeaver Process Integration ............................ 57

Teil II Anwendungen und Übungen

3 Grundlegende Systemkonfiguration ............................. 135

4 Technische Einzelübungen .......................................... 187

5 SARIDIS-Fallstudie im Vertrieb .................................... 317

6 Erweiterungen und Ausblick ........................................ 427

Anhang

A Übungsmaterial ........................................................... 467

B Literaturverzeichnis ..................................................... 485

C Die Autoren ................................................................ 489

1440.book Seite 5 Montag, 10. August 2009 1:55 13

Page 3: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

7

Inhalt

Geleitwort ................................................................................... 13Vorwort ...................................................................................... 17

Teil I Grundlagen

1 Integration von betrieblichen Informationssystemen 25

1.1 Grundlagen ................................................................ 251.1.1 Historische Entwicklung ................................. 261.1.2 Gründe und Ziele für die Integration von

IT-Systemen ................................................... 281.1.3 Merkmale der Integration .............................. 29

1.2 Praktisches Integrationsbeispiel .................................. 311.3 Integrationskonzepte und -technologien ..................... 36

1.3.1 Architekturen ................................................. 361.3.2 Integrationsansätze ........................................ 381.3.3 Technologien ................................................. 42

1.4 EAI-Plattformen und ihre Bedeutung im Unternehmen ............................................................. 45

1.5 Grundlagen des Business Process Managements ......... 481.6 Nutzung von ARIS Business Architect und

SAP Solution Manager ................................................ 521.6.1 Konzept ......................................................... 521.6.2 Bidirektionale Integration .............................. 55

2 SAP NetWeaver Process Integration ....................... 57

2.1 SAP NetWeaver Process Integration als Teil von SAP NetWeaver .......................................................... 582.1.1 Anwendungsfelder bei der

Prozessintegration .......................................... 582.1.2 SAP NetWeaver ............................................. 642.1.3 SAP NetWeaver Process Integration als

zentrale Infrastruktur für serviceorientierte Architekturen ................................................. 65

2.1.4 IT-Practices .................................................... 662.2 Funktionsweise von SAP NetWeaver Process

Integration ................................................................. 69

1440.book Seite 7 Montag, 10. August 2009 1:55 13

Page 4: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

Inhalt

8

2.2.1 Adressbeispiel ............................................... 702.2.2 Klassifikation von Nachrichten ....................... 712.2.3 Schritte zur Implementierung eines

Nachrichtenflusses ......................................... 762.3 Komponenten ............................................................ 77

2.3.1 System Landscape Directory .......................... 782.3.2 Enterprise Services Repository und Services

Registry ......................................................... 802.3.3 Integration Directory ..................................... 832.3.4 Runtime Workbench ..................................... 842.3.5 SAP NetWeaver Administrator ...................... 852.3.6 Integration Server .......................................... 87

2.4 Objekte ..................................................................... 952.4.1 Softwareprodukte im Enterprise Services

Repository ..................................................... 952.4.2 Service-Interfaces und Mapping-Objekte im

Enterprise Services Repository ....................... 962.4.3 Konfigurationsobjekte im Integration

Directory ....................................................... 1002.5 Weiterführende Konzepte .......................................... 102

2.5.1 Outside-In vs. Inside-Out .............................. 1022.5.2 Kommunikationskomponenten ...................... 1032.5.3 SAP NetWeaver Process Integration

Connectivity .................................................. 1042.5.4 Adapter ......................................................... 1062.5.5 Quality of Service .......................................... 1112.5.6 Nachrichten-Queues ..................................... 1122.5.7 Mappings ...................................................... 114

2.6 Neue Konzepte in SAP NetWeaver Process Integration 7.1 ........................................................... 1162.6.1 Lokale Verarbeitung auf der Advanced

Adapter Engine ............................................. 1172.6.2 Integrierte Konfiguration ............................... 1182.6.3 Erweiterte (dynamische)

Empfängerermittlung ..................................... 1202.6.4 XML-Validierung ........................................... 1202.6.5 Interface-Pattern – Kommunikationsformen

zwischen Sender und Empfänger ................... 1232.6.6 Direct Communication .................................. 1252.6.7 Web Service Reliable Messaging .................... 1262.6.8 Message Packaging ....................................... 1282.6.9 Mapping-Lookups ......................................... 129

1440.book Seite 8 Montag, 10. August 2009 1:55 13

Page 5: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

Inhalt

9

Teil II Anwendungen und Übungen

3 Grundlegende Systemkonfiguration ........................ 135

3.1 Voraussetzungen ........................................................ 1353.2 Definition der angebundenen Systeme im System

Landscape Directory ................................................... 1383.2.1 Anlegen der Systeme – Technische

Systeme ......................................................... 1383.2.2 Anlegen der Systeme – Business-Systeme ....... 144

3.3 Anbindung der SAP-Systeme an das System Landscape Directory ................................................... 1463.3.1 Anlegen der RFC-Verbindungen ..................... 1463.3.2 Einstellung der SLD-Anbindung ..................... 149

3.4 Konfiguration der lokalen Integration Engine .............. 1523.4.1 Festlegung der Rolle des Business-Systems ..... 1533.4.2 Definition und Aktivierung von Message-

Queues .......................................................... 1563.4.3 Aktivierung des XI-Service ............................. 1573.4.4 Herstellung der Verbindung zum Integration

Builder und zur Runtime Workbench ............. 1583.5 Adapterspezifische Systemeinstellungen ..................... 163

3.5.1 Überprüfung der ABAP-Proxy-Anbindung ...... 1633.5.2 Einstellungen für die Verwendung des RFC-

Adapters ........................................................ 1643.5.3 Einstellungen für die Verwendung des

IDoc-Adapters ............................................... 1663.5.4 Erweiterung der verfügbaren Mappings um

ABAP-Mappings (optional) ............................ 1703.5.5 Vorbereitung zur Nutzung des Alert

Monitorings (optional) ................................... 1723.6 Kursspezifische Vorbereitungen .................................. 173

3.6.1 Anlegen und Zuordnen des Softwareproduktes ......................................... 175

3.6.2 Import und Einrichtung des Software-produktes im Enterprise Services Repository ... 180

4 Technische Einzelübungen ....................................... 187

4.1 Erste Übung: RFC-to-File ............................................ 1894.1.1 Grundlagen .................................................... 1904.1.2 Design ........................................................... 192

1440.book Seite 9 Montag, 10. August 2009 1:55 13

Page 6: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

Inhalt

10

4.1.3 Konfiguration ................................................ 2064.1.4 Ablauf und Monitoring .................................. 2154.1.5 Alternatives ABAP-Mapping (optional) .......... 219

4.2 Zweite Übung: File-to-IDoc ....................................... 2244.2.1 Grundlagen ................................................... 2254.2.2 Design ........................................................... 2274.2.3 Konfiguration ................................................ 2324.2.4 Ablauf und Monitoring .................................. 239

4.3 Dritte Übung: ABAP-Proxy-to-SOAP .......................... 2424.3.1 Grundlagen ................................................... 2434.3.2 Design ........................................................... 2454.3.3 Konfiguration ................................................ 2554.3.4 Ablauf und Monitoring .................................. 258

4.4 Vierte Übung: Business Process Management ............ 2594.4.1 Grundlagen ................................................... 2604.4.2 Design ........................................................... 2614.4.3 Konfiguration ................................................ 2794.4.4 Ablauf und Monitoring .................................. 2844.4.5 Ergänzung der Übung um Alert Monitoring

(optional) ...................................................... 2894.5 Fünfte Übung: File-to-JDBC ....................................... 296

4.5.1 Grundlagen ................................................... 2964.5.2 Design ........................................................... 2974.5.3 Konfiguration ................................................ 3014.5.4 Ablauf und Monitoring .................................. 3054.5.5 Alternatives Java-Mapping (optional) ............ 306

4.6 Weitere Adapter ........................................................ 3124.6.1 JMS-Adapter ................................................. 3124.6.2 SAP Business Connector-Adapter .................. 3134.6.3 Plain-HTTP-Adapter ...................................... 3144.6.4 Java-Proxy-Generierung ................................. 3144.6.5 RNIF-Adapter ................................................ 3154.6.6 CIDX-Adapter ............................................... 315

5 SARIDIS-Fallstudie im Vertrieb ............................... 317

5.1 Erstellung einer Anfrage ............................................. 3205.1.1 Grundlagen ................................................... 3205.1.2 Design ........................................................... 3235.1.3 Konfiguration ................................................ 333

1440.book Seite 10 Montag, 10. August 2009 1:55 13

Page 7: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

Inhalt

11

5.1.4 Ablauf und Monitoring .................................. 3385.2 Abgabe der Angebote ................................................. 339

5.2.1 Grundlagen .................................................... 3405.2.2 Design ........................................................... 3435.2.3 Konfiguration ................................................. 3635.2.4 Ablauf und Monitoring .................................. 373

5.3 Erfassung eines Kundenauftrags .................................. 3765.3.1 Grundlagen .................................................... 3775.3.2 Design ........................................................... 3785.3.3 Konfiguration ................................................. 3905.3.4 Ablauf und Monitoring .................................. 393

5.4 Zustellung der Rechnung ............................................ 3975.4.1 Grundlagen .................................................... 3985.4.2 Design ........................................................... 4005.4.3 Konfiguration ................................................. 4025.4.4 Ablauf und Monitoring .................................. 406

5.5 Manuelle Entscheidung von Anfragen ......................... 4105.5.1 Grundlagen .................................................... 4115.5.2 Design ........................................................... 4125.5.3 Konfiguration ................................................. 4185.5.4 Ablauf und Monitoring .................................. 424

6 Erweiterungen und Ausblick .................................... 427

6.1 Ergänzungsmöglichkeiten der Fallstudie ...................... 4276.1.1 Erweiterung in die Breite ............................... 4276.1.2 Erweiterung in die Tiefe ................................. 432

6.2 Beer Distribution Game .............................................. 4346.2.1 Vorbereitete Softwarekomponenten .............. 4366.2.2 Entwurf und Realisierung ............................... 4376.2.3 Erweiterungsmöglichkeiten ............................ 438

6.3 SAP NetWeaver Process Integration und SOA ............. 4396.4 Weiterentwicklung von SAP NetWeaver Process

Integration ................................................................. 4406.4.1 Entwicklung von SAP NetWeaver Process

Integration ..................................................... 4426.4.2 Roadmap der SOA-Middleware ..................... 443

6.5 Zusammenfassung ...................................................... 463

Anhang 465

1440.book Seite 11 Montag, 10. August 2009 1:55 13

Page 8: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

Inhalt

12

Anhang ........................................................................... 465

A Übungsmaterial .................................................................... 467B Literaturverzeichnis .............................................................. 485C Die Autoren ......................................................................... 489

Index .......................................................................................... 493

1440.book Seite 12 Montag, 10. August 2009 1:55 13

Page 9: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

187

Die Einzelübungen in diesem Kapitel zeigen in inhaltlich zusammenhängenden, aber technisch unabhängigen Szenarien den praktischen Umgang mit den Komponenten von SAP Net-Weaver Process Integration, um Sie so auf die Fallstudie im fol-genden Kapitel vorzubereiten.

4 Technische Einzelübungen

Der Umgang mit den verfügbaren Konzepten und Adaptern von SAPNetWeaver Process Integration stellt die Grundlage für die Umset-zung komplexer Integrationsszenarien dar. Im Folgenden werden Sielernen, Adapter zu konfigurieren, Mappings zu erstellen und den Ab-lauf von Szenarien zu überwachen. Die einzelnen Übungen bauen auf-einander auf und nehmen an Komplexität zu, sodass Sie die notwen-digen Kenntnisse erlangen, um die Fallstudie in Kapitel 5 umzusetzen.

Trotz der Abhängigkeit der einzelnen Übungen untereinander, kön-nen Sie mithilfe der Listen zu jeder Übung nachvollziehen, welchebestehenden Objekte wiederverwendet werden und somit auchdirekt mit einer fortgeschritteneren Lektion beginnen. Bei keinerÜbung werden vorgefertigte Objekte benutzt, sodass Sie jederzeit diegesamten Schritte zur Fertigstellung des Integrationsszenarios nach-vollziehen können.

Eignung für mehrere Übungs-teilnehmer

Die gesamten Übungen sind so konzipiert worden, dass sie mit einerGruppe von Teilnehmern gleichzeitig durchgearbeitet werden kön-nen. Trotzdem können einige Schritte nur einmal ausgeführt werden.An den entsprechenden Stellen werden Sie explizit darauf hingewie-sen, dass diese Schritte vom Dozenten entweder im Vorfeld des Kur-ses oder während des Kurses durchgeführt werden sollen.

Hinweis

Die Eignung für Übungsgruppen hindert Sie jedoch nicht daran, die Übun-gen auch allein zu bearbeiten. Führen Sie dazu auch die Schritte durch, dievom Dozenten umgesetzt werden sollen.

1440.book Seite 187 Montag, 10. August 2009 1:55 13

Page 10: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

188

Technische Einzelübungen4

Möglichkeit füreigene

Entwicklungen

Die meisten Übungen werden Sie als Development Consultant durch-führen, wobei Sie insbesondere zu Beginn des Übungsblocks auch indie Rolle des Systemadministrators bzw. Entwicklungsleiters schlüp-fen werden. An einigen Stellen haben Sie die Möglichkeit, selbst klei-nere Anwendungen in ABAP oder Java zu entwickeln. Dabei benöti-gen Sie jedoch kaum Vorkenntnisse, zumal Sie die Beispiel-Listings inAnhang A sowie in digitaler Form auf der Webseite zum Buch unterhttp://www.sap-press.de/2159 finden.

Einzelübungen alsVorstufe zur

Fallstudie

Sie werden sich in den Übungen mit ausgewählten Adaptern undAspekten des PI-Umfeldes beschäftigen. Bei der Auswahl der Integra-tionsszenarien haben verschiedene Elemente eine Rolle gespielt. Zumeinen werden Adapter behandelt, die es vereinfachen, reproduzier-bare Übungen zu präsentieren. Zum anderen werden Aspekte aufge-zeigt, die für die spätere Umsetzung der Fallstudie notwendig sind.Sie werden in voneinander unabhängig bearbeitbaren Übungen dieElemente von SAP NetWeaver PI im praktischen Einsatz kennenler-nen.

Auch wenn die einzelnen Übungen nicht zwingend in der vorgestell-ten Reigenfolge abgearbeitet werden müssen, verbirgt sich hinterdieser Reihenfolge ein Sinn: Sie werden in diesem Kapitel Integrati-onsszenarien umsetzen, die als Vorstufe zu Kapitel 5, »SARIDIS-Fall-studie im Vertrieb«, gesehen werden können. Sie werden dabei überPI-Nachrichten ein Material in einem anderen System anlegen undden Erfolg überprüfen. Das Anlegen der Materialstammdaten wird ineinem letzten Schritt an den Materialgesamtverantwortlichen gemel-det. Dabei sorgt ein definierter Geschäftsprozess dafür, dass dieseMeldungen nach Bearbeitern gebündelt zugestellt werden.

Ablauf derEinzelübungen

Zunächst werden Sie in einem eigens erstellten ABAP-Programm inSystem A die Daten eines neu zu erstellenden Materials aufnehmenund mithilfe des RFC-Adapters dem PI-System übermitteln (sieheAbschnitt 4.1, »Erste Übung: RFC-to-File«). Dort wird der Material-stammsatz durch den File-Adapter in eine Datei im PI-Format umge-wandelt. Diese Datei wird in der nächsten Übung wiederum über den

Bei der autodidaktischen Bearbeitung der Inhalte ist trotzdem die Verwen-dung einer Teilnehmernummer zu empfehlen: Dies erleichtert Ihnen denVergleich Ihrer Arbeit mit dem beschriebenen Vorgehen. Es bietet sich indiesem Fall an, die Teilnehmernummer 00 des Dozenten zu verwenden.

1440.book Seite 188 Montag, 10. August 2009 1:55 13

Page 11: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

189

Erste Übung: RFC-to-File 4.1

File-Adapter eingelesen und in ein IDoc umgewandelt, das an SystemB übermittelt und dort direkt verarbeitet wird (siehe Abschnitt 4.2,»Zweite Übung: File-to-IDoc«).

Um sicherzustellen, dass das Material erfolgreich angelegt wurde,werden Sie dies im dritten Integrationsszenario überprüfen, indemSie auf der Basis eines ABAP-Proxys einen Aufruf an das PI-Systemsenden. Diese Anfrage wird in den Aufruf eines Webservice umge-wandelt, der von System B bereitgestellt wird. Die Antwort dieserKontrolle wird synchron wieder an das aufrufende System A zurück-gegeben (siehe Abschnitt 4.3, »Dritte Übung: ABAP-Proxy-to-SOAP«).Daraufhin meldet der Bearbeiter über ein ABAP-Programm daserfolgreiche Anlegen der Materialstammsätze mithilfe einesGeschäftsprozesses (siehe Abschnitt 4.4, »Vierte Übung: BusinessProcess Management«). Als Alternative zum Aufbau der zweitenÜbung wird in einem fünften Szenario das Beispiel aus dem zweitenSzenario aufgegriffen und der empfangende IDoc-Adapter durch eineJDBC-Datenbank ersetzt (siehe Abschnitt 4.5, »Fünfte Übung: File-to-JDBC«).

Auch wenn die einzelnen Übungen inhaltlich aufeinander aufbauen,können Sie aus technischer Sicht und unter Verwendung entspre-chender Vorlagen mit jeder der Übungen beginnen.

4.1 Erste Übung: RFC-to-File

Ablauf der ersten Übung

In der ersten Übung werden Sie aus einem eigenen ABAP-Programmheraus einen remotefähigen Funktionsbaustein aufrufen, der die ein-gegebenen Materialstammdaten über den RFC-Adapter an das PI-Sys-tem übermittelt. Dort werden die Daten in das PI-XML-Format kon-vertiert und als Datei abgelegt. Die Datei wird der Einfachheit halberdirekt im Dateisystem des PI-Servers angelegt.

Obwohl die Datei damit technisch gesehen im PI-System bleibt, wer-den Sie den empfangenden File-Adapter aus logischer Sicht für dasSystem B konfigurieren. Bei diesem Integrationsszenario liegt eineasynchrone Kommunikation vor, da nach der Versendung der Mate-rialdaten keine betriebswirtschaftliche Antwort zurückgesendetwird. Die Rolle von System A und B sowie die verwendeten Adapterdieser Übung sind schematisch in Abbildung 4.1 dargestellt.

1440.book Seite 189 Montag, 10. August 2009 1:55 13

Page 12: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

190

Technische Einzelübungen4

4.1.1 Grundlagen

Neue ABAP-Komponenten

Da in diesem Buch der Fokus nicht auf der Entwicklung von ABAP-Programmen und remotefähigen Funktionsbausteinen liegt, werdendas verwendete Programm und der Funktionsbaustein nur grundle-gend erklärt. Sie können einen adäquaten Transport mit dem Funkti-onsbaustein, dem Programm für 20 Schulungsteilnehmer sowieeinem Dozenten von der Webseite zu diesem Buch beziehen (http://www.sap-press.de/2159) und in Ihr System A einspielen. KonsultierenSie zum Einspielen des Transportes bei Bedarf Ihren Landschaftsad-ministrator.

Für den Fall, dass Sie die Erstellung des Programms und des Funkti-onsbausteins selbst durchführen möchten, finden Sie in Anhang Adie entsprechenden Quellcodes als Muster.

Aufbau desFunktions-bausteins

Melden Sie sich zunächst am Mandanten des Systems A mit demBenutzer SYS_A-## an. Sie können dort den remotefähigen Funkti-onsbaustein mit dem Function Builder in Transaktion SE37 betrach-ten. Wählen Sie dazu den Funktionsbaustein Z_RFM_MATERIALINPUT_## aus, wobei ## für Ihre Teilnehmernummer steht.

Sie sehen, dass aus Sicht des Funktionsbausteins die Parameter nurimportiert werden, aber kein Wert zurückgegeben wird. Dies ist eineder beiden Voraussetzungen für eine asynchrone Kommunikationüber einen sendenden RFC-Adapter.

Außer der Schnittstellendefinition befindet sich keinerlei ABAP-Codeim Funktionsbaustein. Dies bedeutet, dass der Funktionsbaustein alseine Art Dummy verwendet wird, der einerseits die übermitteltenDaten an SAP NetWeaver PI weiterleitet und andererseits als Defini-tion einer Schnittstelle dient. Das Wissen darüber, wohin die demFunktionsbaustein übermittelten Daten weitergeleitet werden sollen,liegt im aufrufenden Programm.

Abbildung 4.1 Schema der ersten Übung – RFC-to-File

PI-System

System ARFC-

AdapterFile-

Adapter System B

1440.book Seite 190 Montag, 10. August 2009 1:55 13

Page 13: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

191

Erste Übung: RFC-to-File 4.1

Funktion des ABAP-Programms

Das Programm Z_PROG_MATERIALINPUT_##, das Sie zusammen mitdem Funktionsbaustein im selben Transportauftrag finden und inTransaktion SE38 betrachten können, hat zwei Aufgaben: Zum einennimmt es die grundlegenden Materialstammdaten entgegen, mitdenen ein neues Material in System B angelegt werden soll. Zumanderen ruft es den beschriebenen Funktionsbaustein mit den inTabelle 4.1 dargestellten Parametern auf. Die Benennung dieser Para-meter wird in der zweiten Übung in Abschnitt 4.2, »Zweite Übung:File-to-IDoc«, erklärt.

Bei diesem Aufruf sind wiederum zwei Dinge besonders zu beachten:Zum einen wird der remotefähige Funktionsbaustein in einerbestimmten Destination aufgerufen, das heißt in dem System, dassich hinter dieser RFC-Verbindung verbirgt. Im Falle der DestinationSystemA_Sender-## verbirgt sich das PI-System dahinter, sodass diean den Funktionsbaustein übermittelten Werte dorthin weitergelei-tet werden. Die zweite Besonderheit ist der Aufruf im Hintergrund,der dazu führt, dass eine asynchrone Kommunikation erfolgt.

Übergebene Daten Beschreibung

MATNR Materialnummer

MAKTX Materialkurztext

ERSDA Erstellungsdatum (automatisch ermittelt)

ERNAM Name des Erstellers (automatisch ermittelt)

MTART Materialart

MBRSH Branche

MATKL Warengruppe

MEINS Basismengeneinheit

BRGEW Bruttogewicht

GEWEI Gewichtseinheit

MTPOS_MARA Positionstypengruppe

Tabelle 4.1 An den Funktionsbaustein Z_RFM_MATERIALINPUT_## übergebene Daten

1440.book Seite 191 Montag, 10. August 2009 1:55 13

Page 14: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

192

Technische Einzelübungen4

4.1.2 Design

Erstellung derDesignobjekte im

Enterprise ServicesRepository

Zunächst müssen Sie die verschiedenen Daten- und Message-Typensowie Service-Interfaces mit den notwendigen Mappings im Enter-prise Services Repository anlegen. Diese Elemente werden Sie in derspäteren Phase der Konfiguration in Verbindung mit den angeschlos-senen Business-Systemen System A und System B setzen.

Erste Schritte Rufen Sie zu diesem Zweck Transaktion SXMB_IFR aus einem derangeschlossenen Systeme oder dem PI-System heraus auf. Daraufhinerscheint das Menü der PI-Tools in Ihrem Webbrowser, das Ihnenbekannt vorkommen wird, wenn Sie bereits die Vorbereitung derÜbungen durchgeführt haben (siehe Kapitel 3, »Grundlegende Sys-temkonfiguration«). Wählen Sie links oben den Einstieg in das Enter-

prise Services Repository.

Nachdem die Java-Web-Start-Anwendung aktualisiert wurde und Siesich mit Ihrem Benutzer im PI-System eingeloggt haben, erscheint dieBenutzerschnittstelle zum Enterprise Services Repository. Achten Siedabei darauf, dass Sie sich nicht mit dem Initialpasswort anmelden,sondern es gegebenenfalls zuvor bei der Anmeldung mit dem SAPGUI ändern.

Sie finden auf der linken Seite die Softwarekomponenten, die bereitsdeklariert wurden. Darunter ist auch die Softwarekomponente SC_Training_PI_## mit dem Namensraum http://www.sap-press.com/pi/training/## aufgelistet, in dem Sie Ihre Elemente innerhalb desEnterprise Services Repository ablegen werden.

Zur besseren Übersichtlichkeit bietet es sich an, die Ansicht auf IhreSoftwarekomponente zu beschränken, indem Sie diese in der Baum-struktur anklicken und oberhalb des Baums auf das Icon Only dis-

play selected subtree klicken. Die Darstellung des Enterprise Ser-vices Repository sollte danach Abbildung 4.2 entsprechen.

Mit SAP NetWeaver Process Integration 7.1 wurden sogenannte Fol-der (Ordner) eingeführt. Diese können optional verwendet werdenund dienen der organisatorischen Einteilung von Design- und Konfi-gurationselementen. Folder können sowohl im Enterprise ServicesRepository als auch im Integration Builder benutzt werden. Im Enter-prise Services Repository werden Folder über das Kontextmenü einesNamespace angelegt. Es besteht die Möglichkeit, Designelementedirekt bei deren Anlage einem Folder zuzuweisen. Folder sind logisch

1440.book Seite 192 Montag, 10. August 2009 1:55 13

Page 15: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

193

Erste Übung: RFC-to-File 4.1

einem Namespace zugeordnet. In Abbildung 4.3 sehen Sie im Aus-wahlfenster den Namespace http://www.sap-press.com/pi/

training/00 und den direkt darunterliegenden Folder testfolder. Die-sem Folder ist wiederum der Unterordner subfolder zugeordnet. ImAuswahlfenster können Sie sich nun für den über- bzw. untergeord-neten Folder nach Belieben entscheiden.

Abbildung 4.2 Einstieg in das Enterprise Services Repository

Abbildung 4.3 Anlegen eines Folders im Enterprise Services Repository

1440.book Seite 193 Montag, 10. August 2009 1:55 13

Page 16: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

194

Technische Einzelübungen4

Entscheiden Sie sich über die verwendete Struktur hinaus, die Ent-wicklung weiter zu detaillieren, können Sie bereits existierende Ele-mente per Drag & Drop einem Folder zuweisen. Für jeden der Folderist es möglich, eine Unterstruktur in Form von Subfolders anzulegen.Diese sind von der Anzahl her nicht beschränkt.

Ein weiterer Vorteil dieses Konzeptes ist die Rechteverwaltung. Siekönnen den Foldern auf Gruppen-, Rollen- und BenutzerebeneRechte zuordnen. Da die Rechteverwaltung nicht Thema dieser Aus-führungen ist, wird hier jedoch nicht näher darauf eingegangen.

Einen Überblick über die Elemente, die für diese Übung benötigtwerden, sehen Sie in Tabelle 4.2. Die Rolle der einzelnen Elementeund ihre Zusammenhänge wurden bereits in Kapitel 2, »SAP NetWea-ver Process Integration«, erklärt.

Abhilfe beiVerbindungs-

abbruch

Anlegen der Elemente für das sendende System

Designobjekte aufSenderseite

In diesem Szenario ergibt sich durch die Verwendung eines RFC-Adapters eine Besonderheit: Zum einen werden alle Elemente auf derSenderseite durch die Schnittstellendefinition des RFC-Bausteinsersetzt, und zum anderen wird diese Schnittstelle nicht im EnterpriseServices Repository erstellt, sondern aus System A importiert. Diesbeschleunigt die Arbeit und reduziert die Fehleranfälligkeit.

Art des Objektes Senderseite Empfängerseite

Service-Interface Z_RFM_MATERIALINPUT_## SI_Material_Asnyc_In

Message-Typ MT_Material

Datentyp DT_Material

Operation Mapping

OM_Z_RFM_MATERIALINPUT_##_to_SI_Material_Async_In

Message Mapping MM_Z_RFM_MATERIALINPUT_##_to_MT_Material

Tabelle 4.2 Elemente im Enterprise Services Repository für die erste Übung

Hinweis

Sollte die Verbindung zum Enterprise Services Repository während derBearbeitung eines Objektes abbrechen, können Sie in den PI-Tools rechtsoben auf den Eintrag Administration klicken und dort im Bereich Lock

Overview das gesperrte Objekt für eine erneute Bearbeitung freigeben.

1440.book Seite 194 Montag, 10. August 2009 1:55 13

Page 17: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

195

Erste Übung: RFC-to-File 4.1

Zum Import der RFC-Schnittstelle klappen Sie das unterste Verzeich-nis Imported Objects auf und öffnen mit der rechten Maustaste dasKontextmenü, um die Funktion Import of SAP-Objects zu erreichen.Wählen Sie im folgenden Fenster die Option According to Soft-

ware Component Version im Bereich Connection Data aus, da dieSystemdaten bereits hinterlegt wurden (siehe Abbildung 4.4). Solltediese Option nicht wählbar sein, pflegen Sie den Hostnamen und dieSystemnummer von System A ein. Tragen Sie Ihren Benutzer SYS_A-##und das entsprechende Passwort ein, bevor Sie mit dem nächstenSchritt fortfahren.

Import der RFC-Schnittstelle

Beim nächsten Schritt haben Sie die Auswahl zwischen RFC- undIDoc-Schnittstellen, von denen Sie die RFC-Option erweitern. Dar-aufhin werden alle remotefähigen Funktionsbausteine in System Aermittelt und angezeigt. Da diese Datensammlung einige Zeit dauernkann, besteht bei der Durchführung in einer Gruppe die Möglichkeit,alle Schnittstellen bereits vor der Übung zu importieren. Wählen Sieaus der Auflistung Ihren Funktionsbaustein Z_RFM_MATERIALINPUT_##aus (siehe Abbildung 4.5), und fahren Sie mit dem Import fort.

Überprüfen Sie beim letzten Schritt des Imports schließlich diegetroffene Auswahl, und stellen Sie diesen fertig. Nach erfolgreichemImport können Sie in Ihrer Softwarekomponentenversion im Ver-zeichnis Imported Objects � RFC Ihre neu importierte Schnittstelle

Abbildung 4.4 Import von RFC-Schnittstellen – Anmeldung

1440.book Seite 195 Montag, 10. August 2009 1:55 13

Page 18: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

196

Technische Einzelübungen4

sehen. Sie ist mit einem gesonderten Symbol versehen, das besagt,dass dieses Element noch nicht aktiviert wurde.

Anlegen der Elemente für das empfangende System

Designobjekte aufEmpfängerseite

Während mit dem Import der RFC-Schnittstelle auf der Seite dessendenden Systems alle Elemente angelegt sind, werden Sie für dasempfangende System einen Datentyp, einen Message-Typ und einService-Interface einrichten. Es ist empfehlenswert, mit den unab-hängigen Elementen, das heißt mit denjenigen auf der untersten Hie-rarchieebene zu beginnen, was in diesem Fall der Datentyp ist.

Anlegen einesDatentyps

Erweitern Sie innerhalb Ihres Namensraums das Verzeichnis Data

types, und starten Sie über den Eintrag New im Kontextmenü denErstellungsdialog. In diesem Fenster haben Sie die Möglichkeit, denNamen des neuen Objektes und eine sprechende Beschreibung ein-zugeben (siehe Abbildung 4.6).

Der Namensraum und die Softwarekomponentenversion werden au-tomatisch vervollständigt, da Sie den Dialog im entsprechenden Kon-text aufgerufen haben. Besonders zu beachten ist zudem der linke Be-reich dieses Bildschirms, der alle Elemente auflistet, die innerhalb desEnterprise Services Repository angelegt werden können. Sie habensomit jederzeit die Möglichkeit zu ändern, welche Art von ElementSie anlegen möchten. Einen analogen Aufbau werden Sie später auchbeim Arbeiten im Integration Directory beobachten können.

Abbildung 4.5 Import von RFC-Schnittstellen – Auswahl

1440.book Seite 196 Montag, 10. August 2009 1:55 13

Page 19: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

197

Erste Übung: RFC-to-File 4.1

Benennen Sie den neuen Datentyp mit DT_Material, und klicken Sieauf Create, wodurch sich auf der rechten Seite das Detailfenster einesneuen Datentyps öffnet. Da der Aufbau dieses Fensters typisch füralle Detailansichten im Integration Builder ist, sollen daran einigeFunktionen erläutert werden.

Sie haben neben der Menüzeile des Enterprise Services Repositoryein gesondertes Detailmenü, dessen wichtigste Funktionen auch alsSymbole rechts davon dargestellt sind. Neben den Symbolen zumWechsel zwischen Anzeige- und Änderungsmodus, zum Speichernund zum Erstellen einer Kopie finden Sie beispielsweise auch ein Iconfür den Verwendungsnachweis dieses Elementes. Die Symbolgruppeam rechten Rand erlaubt Ihnen die Steuerung der Ansicht. So könnenSie zum Beispiel die Kopfdaten ausblenden oder das Detailfenster alsunabhängiges Element herauslösen.

Aufbau des Datentyps DT_Material

Im Falle Ihres Datentyps befindet sich im unteren Bereich des Detail-fensters eine Auflistung aller Elemente dieses Datentyps. Sie könnenmit den entsprechenden Symbolen direkt oberhalb der Tabelle neueZeilen hinzufügen und die Elemente aus Abbildung 4.7 eintragen.Achten Sie dabei darauf, dass es sich um den Typ xsd:string handelt.Lediglich das Element BRGEW hat den Typ xsd:decimal, da Sie mit die-sem Wert später eine Berechnung anstellen werden. Fügen Sie zudemdas fehlende Element NTGEW vom Typ xsd:decimal hinzu. Sie werdendieses Element, das das Nettogewicht des Materials angibt, auf Basisdes Bruttogewichts im Message Mapping errechnen. Wenn Sie alleElemente eingefügt haben, speichern Sie den Datentyp.

Abbildung 4.6 Dialog zum Anlegen eines Objektes im Enterprise Services Repository

1440.book Seite 197 Montag, 10. August 2009 1:55 13

Page 20: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

198

Technische Einzelübungen4

Erstellung einesMessage-Typs

Da die Datentypen im PI-Umfeld lediglich zur Modularisierung vonDatenformaten verwendet werden und nicht selbst in einem Map-ping oder Interface erscheinen können, werden sie in Message-Typeneingebettet. Während die Zuordnung von Datentypen zu Message-Typen nur im Verhältnis 1:1 stattfinden kann, können Datentypenuntereinander in beliebigen Verhältnissen kombiniert werden.

Um einen Message-Typ anzulegen, öffnen Sie das entsprechendeKontextmenü durch einen Rechtsklick auf das Verzeichnis Message

Types. Wählen Sie darin die Option New aus, wodurch der inzwi-schen bekannte Erstellungsdialog – diesmal für einen Message-Typ –erscheint. Benennen Sie das neue Objekt als MT_Material, und pfle-gen Sie eine Beschreibung ein. Gehen Sie durch einen Klick aufCreate weiter zur Detailansicht. Richten Sie hier Ihr Augenmerk aufden Bereich Data Type Used in der Mitte, wo Sie Ihren eben erstell-ten Datentyp einpflegen sollen. Sie haben hierzu drei verschiedeneMöglichkeiten:

Methoden zurAuswahl des

Datentyps

� Die offensichtlichste Methode ist die Eingabe des Namens und desNamensraums, was jedoch die Gefahr von Schreibfehlern birgt.

� Die zweite Möglichkeit besteht darin, analog zur Wertehilfe ineinem ABAP-basierten SAP-System das Objekt auszuwählen. Dazuklicken Sie auf das Symbol mit der Hand und dem Fragezeichenrechts vom Namensraumfeld. Es öffnet sich ein Fenster mit allenbereits angelegten Datentypen in Ihrer Softwarekomponentenver-sion, aus der Sie auswählen können. Die beiden Felder Name undNamespace werden daraufhin ausgefüllt.

Abbildung 4.7 Bearbeiten eines Datentyps

1440.book Seite 198 Montag, 10. August 2009 1:55 13

Page 21: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

199

Erste Übung: RFC-to-File 4.1

� Die dritte Möglichkeit der Auswahl per Drag & Drop ist besondersgeeignet, wenn in Ihrer Softwarekomponentenversion sehr vieleDatentypen bestehen, deren Menge in Ihrem Namensraum jedochüberschaubar ist. Sie können zu diesem Zweck aus der linken Ver-zeichnisstruktur den Datentyp aufnehmen und ihn auf die Handneben dem Namensraumfeld fallen lassen. Nur das Loslassen überder Hand stellt die korrekte Datenübernahme sicher.

Wie Sie feststellen können, funktionieren alle drei Methoden auchohne die Aktivierung des Datentyps.

Nach der Auswahl des passenden Datentyps erscheint im unterenBereich des Detailfensters die Struktur des verwendeten Datentypszur Kontrolle (siehe Abbildung 4.8). Überprüfen Sie die Struktur, undspeichern Sie den Message-Typ.

Anlegen eines Service-Interface

Das letzte Objekt aufseiten des Empfängers stellt das Service-Inter-face dar, das hauptsächlich bestimmt, ob eine Nachricht empfangenoder gesendet werden kann und ob dies synchron oder asynchronerfolgt.

Um ein solches Service-Interface anzulegen, öffnen Sie das Kontext-menü des entsprechenden Verzeichnisses. Geben Sie den NamenSI_Material_Async_In und eine passende Beschreibung ein, und kli-cken Sie auf Create, um zum Detailfenster zu gelangen. Sie habendie Möglichkeit, zwischen den Optionen Inbound, Outbound und

Abbildung 4.8 Bearbeiten eines Message-Typs

1440.book Seite 199 Montag, 10. August 2009 1:55 13

Page 22: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

200

Technische Einzelübungen4

Abstract für die Kategorie des Interface zu wählen; die einzelnenKategorien wurden bereits in Kapitel 2, »SAP NetWeaver ProcessIntegration«, vorgestellt.

Da es sich um die Schnittstelle auf der Seite des Empfängers handelt,wählen Sie Inbound. Der Kommunikationsmodus bestimmt, ob eineinhaltliche Rückmeldung erwartet wird oder nicht. Da es sich um einSzenario handelt, das nur in einer Richtung abläuft, wählen Sie denModus Asynchronous.

Sie werden vermutlich beobachtet haben, dass sich bei jeder Änderungder Attribute die Eingabemöglichkeiten für Message-Typen ändern.Sie sollten nun die Felder für den Message Type und den Fault

Message Type sehen, von denen Sie jedoch nur ersteren verwenden(siehe Abbildung 4.9). Sie können über eine der drei vorgestelltenMethoden Ihren Message-Typ MT_Material als Input-Message aus-wählen. Speichern Sie abschließend Ihr Service-Interface.

Anlegen der Mapping-Objekte

Die Verbindung zwischen den Elementen der sendenden und derempfangenden Seite wird durch das Mapping hergestellt. Die inhalt-liche Konvertierung der Datenformate in Form des Message Map-pings wird dabei in das Operation Mapping eingebettet, das ein Paarvon Inbound- und Outbound-Interfaces miteinander verbindet.

Anlegen desMessage

Mappings

Zunächst soll das Message Mapping angelegt werden. Dazu rufen Siein Ihrem Namensraum das Kontextmenü des Verzeichnisses Message

Abbildung 4.9 Bearbeiten eines Service-Interface

1440.book Seite 200 Montag, 10. August 2009 1:55 13

Page 23: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

201

Erste Übung: RFC-to-File 4.1

Mappings auf. Geben Sie im Erstellungsdialog den Namen MM_Z_RFM_MATERIALINPUT_##_to_MT_Material ein, wobei ## für Ihre Teilneh-mernummer steht. Wählen Sie eine beliebige Beschreibung, undlegen Sie das Objekt an.

Auswahl von Ausgangs- und Ziel-Message

Im Detailfenster ist der mittlere Bereich zweigeteilt, da auf der linkenSeite der sendende und auf der rechten Seite der empfangende Mes-sage-Typ ausgewählt wird. Beginnen Sie zunächst mit dem Message-Typ auf der sendenden Seite: Sie haben die Möglichkeit, entwederdie Wertehilfe zu verwenden oder den entsprechenden Message-Typper Drag & Drop auf die Beschriftung Enter a source message zu zie-hen. Bei dieser Übung existiert auf der Senderseite kein expliziterMessage-Typ, sodass Sie die RFC-Schnittstelle benutzen werden.

Unabhängig davon, welche Auswahlmethode Sie verwenden, wer-den Sie vor die Wahl gestellt, welche RFC-Message dieser Schnitt-stelle Sie verwenden wollen, da im Falle einer RFC-Schnittstelle auto-matisch eine synchrone Kommunikation angenommen wird.Dadurch haben Sie die Wahl zwischen den beiden Messages Z_RFM_MATERIALINPUT_## und Z_RFM_MATERIALINPUT_##.Response, vondenen Sie erstere wählen, da keine Antwort erwartet wird.

Im linken Teil des mittleren Bereiches werden nun die Elemente derRFC-Schnittstelle aufgelistet. Wählen Sie für den empfangenden TeilIhren Message-Typ MT_Material aus.

Methoden zum Mapping von Elementen

Wenn Sie sich die Elemente auf der rechten Seite anschauen, werdenSie vor jedem Eintrag eine rote Markierung finden, die auf ein unvoll-ständiges Mapping für dieses Zielelement hindeutet. Da beim Anle-gen des Datentyps keine Änderungen in der Spalte Occurence vor-genommen wurden, wird der Standardwert 1..1 genommen, derbesagt, dass es sich bei diesem Element um ein Pflichtfeld handelt.Somit liegt ein Fehler vor, wenn eines der Zielfelder keinen Wert ausdem Mapping erhält. Die Verbindung zwischen den Elementen derbeiden Message-Typen kann auch wieder über drei verschiedeneMethoden erfolgen:

� Die am nächsten liegende Möglichkeit ist die Verbindung perDrag & Drop, wobei es keine Rolle spielt, von welcher Seite aufwelche gezogen wird. Dadurch werden die beiden Elemente imunteren Bildschirmbereich angezeigt und automatisch miteinan-der verbunden.

1440.book Seite 201 Montag, 10. August 2009 1:55 13

Page 24: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

202

Technische Einzelübungen4

� Beim zweiten Weg können Sie Quell- und Zielelement jeweils perDoppelklick als Rechteck in den unteren Bildschirmbereich beför-dern. Dort können Sie die beiden Rechtecke miteinander verbin-den, indem Sie den weißen Bereich des sendenden Elementes aufdie entsprechende Gegenstelle beim empfangenden Element zie-hen. Diese Methode ist insbesondere dann zu verwenden, wenndas Mapping um vorgefertigte Funktionen erweitert werden soll.

� Die dritte Methode eignet sich für die massenhafte Verbindungvon gleichnamigen Elementen. Zu diesem Zweck müssen auf bei-den Seiten übergeordnete Elemente angewählt werden. Bei die-sem Mapping sind dies Z_RFM_MATERIALINPUT_## auf der Sender-und MT_Material auf der Empfängerseite. Klicken Sie dann ober-halb des sendenden Message-Typs auf das Icon Map selected

fields and substructures if names are identical. Nachdem Siedie Sicherheitsabfrage bestätigt haben, werden alle gleichnamigenElemente auf Sender- und Empfängerseite miteinander verbun-den, wobei auf Groß- und Kleinschreibung geachtet wird.

Grafische Funktionzur Berechnung

des Nettogewichts

Führen Sie ein Mapping nach der dritten Methode aus, und lassen Siesich das Ergebnis in der Übersicht anzeigen, indem Sie das IconDependencies anklicken. Daraufhin rücken die beiden Message-Typen auseinander und machen der Anzeige von VerbindungslinienPlatz. Sie werden zudem feststellen, dass die Farbe der Markierungenvor den Empfängerelementen nun grün geworden ist. Lediglich dasElement NTGEW ist noch rot, da es nicht automatisch mit einem Wertversorgt wurde.

Zur Demonstration der eingebauten Mapping-Funktionen wird vondem Fall ausgegangen, dass das Nettogewicht des Materials 90 % desBruttogewichts ist. Um dies abzubilden, wählen Sie zunächst auf derEmpfängerseite das Element NTGEW und dann auf Senderseite das Ele-ment BRGEW per Doppelklick aus, sodass beide im unteren Bereicherscheinen. Zur Umsetzung dieser Berechnung benötigen Siezunächst eine Multiplikationsfunktion, die aus dem Bruttogewichtund einer Konstante von 0.9 das Nettogewicht berechnet.

Dazu finden Sie am unteren Bildschirmende die Funktionsleiste:Wählen Sie darin die Funktionen für Constants, und klicken Sierechts davon die Funktion Constant an, die daraufhin im Arbeitsbe-reich des Mappings als Rechteck auftaucht. Das Zahnrad bei dieserFunktion bedeutet, dass Sie innerhalb der Funktion Parameter pfle-

1440.book Seite 202 Montag, 10. August 2009 1:55 13

Page 25: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

203

Erste Übung: RFC-to-File 4.1

gen können. Klicken Sie doppelt auf das Rechteck der Konstante, undändern Sie den darin enthaltenen Wert auf 0.9 für die 90 % des Net-togewichts ab.

Wechseln Sie nun in der Funktionsleiste in den Bereich Arithmetic,um die Funktion multiply in den Arbeitsbereich einfügen zu können.Verbinden Sie die Elemente BRGEW und Constant 0.9 mit der Funk-tion multiply durch Ziehen der weißen Teilbereiche. An sich genü-gen diese Funktionen, um das korrekte Nettogewicht zu berechnen,jedoch werden dabei mehr als die drei Nachkommastellen errechnet,die für den Typ xsd:decimal möglich sind. Würde dieses MessageMapping getestet werden, würde es unweigerlich zu einem Fehlerkommen.

Bevor das Ergebnis der Berechnung dem Element NTGEW zugeordnetwerden kann, muss es somit formatiert werden, was mit der Funk-tion FormatNum aus dem Funktionsbereich Arithmetic erfolgt.Konfigurieren Sie den internen Parameter Number Format derFunktion so, dass das Ergebnis dem Schema 000.000 entspricht.Schieben Sie die Funktion zwischen die Funktion multiply und dasZielelement NTGEW (siehe Abbildung 4.10). Sowohl alle Rechtecke alsauch die Markierung vor dem Zielelement NTGEW sollten nun grünsein. Speichern Sie das Message Mapping.

Abbildung 4.10 Message Mapping der Übung RFC-to-File

1440.book Seite 203 Montag, 10. August 2009 1:55 13

Page 26: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

204

Technische Einzelübungen4

Testen desMappings

Um sicherzustellen, dass das neue Mapping funktioniert, ist im Enter-prise Services Repository eine Testfunktion integriert, die Sie überden Karteireiter Test im oberen Bereich des Detailfensters anwählenkönnen. Auf der linken Seite des Testbereichs befindet sich die Struk-tur des sendenden Message-Typs, dessen Elemente Sie mit Testwer-ten füllen. Achten Sie darauf, beim Element BRGEW anstelle einesKommas als Dezimaltrennzeichen einen Punkt zu verwenden.

Den Test starten Sie mit einem Klick auf das Icon Start the Trans-

formation, das durch eine Schraubzwinge links unten im Testbe-reich dargestellt wird. Findet das Testprogramm keine Fehler,erscheint auf der rechten Seite die Struktur des empfangenden Mes-sage-Typs mit den entsprechenden Werten. Überprüfen Sie insbeson-dere, ob das Element NTGEW korrekt gefüllt wurde.

Anlegen desOperationMappings

Das letzte Objekt dieses Integrationsszenarios, das Sie im EnterpriseServices Repository anlegen, ist das Operation Mapping. Starten Sieden Erstellungsdialog durch das Öffnen des Kontextmenüs des Ver-zeichnisses Operation Mappings in Ihrem Namensraum. Das Opera-tion Mapping soll den Namen OM_Z_RFM_MATERIALINPUT_##_to_SI_Material_Async_In tragen. Versehen Sie das Objekt mit einerBeschreibung, und legen Sie es an.

Die Detailansicht dieses Objektes ist in den oberen Interface- und denunteren Mapping-Bereich unterteilt. Im Interface-Bereich wählen Siezunächst Ihr Sender-Interface, das heißt Ihre RFC-Schnittstelle Z_RFM_MATERIALINPUT_## aus. Beachten Sie dabei, dass die RFC-Schnittstellenicht in Ihrem Namensraum abgelegt ist; Sie finden diese stattdessenim Verzeichnis Imported Objects � RFC. Verfahren Sie für das Ziel-Interface SI_Material_Async_In analog.

Durch die Auswahl der beiden Interfaces haben Sie nun festgelegt,welche Interfaces miteinander kommunizieren, und damit implizit,welche Message-Typen verwendet werden. Es bleibt nun noch zu klä-ren, wie die Konvertierung der beiden Datenformate ineinandererfolgen soll, zumal es vorkommen kann, dass für dasselbe Message-Paar verschiedene Message Mappings vorliegen.

Klicken Sie im unteren Mapping-Bereich auf den Button Read Opera-

tions, um die Message-Typen der verwendeten Interfaces anzuzei-gen (siehe Abbildung 4.11). Nachdem sich die Felder Source undTarget Operation gefüllt haben, klicken Sie im Bereich dazwischen

1440.book Seite 204 Montag, 10. August 2009 1:55 13

Page 27: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

205

Erste Übung: RFC-to-File 4.1

in das Feld Name und wählen dort die Wertehilfe aus. Es öffnet sicheine Liste mit allen Message Mappings, die zwischen den Interfacesin dieser Konstellation von Sender und Empfänger bestehen, Siedürften nur Mappings mit dem Schema MM_Z_RFM_MATERIALINPUT_##_to_MT_Material sehen. Suchen Sie das Mapping mit Ihrer Teil-nehmernummer aus.

Wenn Sie den Bereich Mapping Program genauer betrachten, stellenSie fest, dass der tabellarische Aufbau die Auswahl mehrerer Map-pings erlaubt. Alle ausgewählten Message Mappings werden nachihrer Reihenfolge in der Tabelle sequenziell abgearbeitet. Ebenso wiebeim Anlegen des Message Mappings haben Sie auch hier über denKarteireiter Test eine Testmöglichkeit, bei der über das MessageMapping hinaus die Verträglichkeit der Interfaces überprüft wird.Speichern Sie Ihr Operation Mapping nach einem erfolgreichen Test.

Aktivierung der neuen Designobjekte

Wie Sie gesehen haben, waren alle neu angelegten Objekte im gesam-ten Enterprise Services Repository verwendbar, obwohl sie nichtaktiviert waren. Im Integration Directory werden Sie auf all dieseObjekte in diesem Zustand jedoch nicht zugreifen können, weshalbSie Ihre Änderung nun aktivieren werden.

Wählen Sie dazu oberhalb der linken Verzeichnisstruktur den Kartei-reiter Change Lists aus. Die Baumstruktur verschwindet, und eserscheint zunächst Ihre Softwarekomponentenversion, die Sie kom-plett expandieren sollten. Sie finden darunter eine Standard

Change List mit allen neu angelegten Objekten. Überprüfen Sie andieser Stelle, ob alle in Tabelle 4.2 dargestellten Elemente in derÄnderungsliste enthalten sind.

Abbildung 4.11 Operation Mapping der Übung RFC-to-File

1440.book Seite 205 Montag, 10. August 2009 1:55 13

Page 28: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

206

Technische Einzelübungen4

Wählen Sie im Kontextmenü der Änderungsliste die Option Acti-

vate, woraufhin ein Fenster mit allen Objekten der Liste erscheint.Sie haben darin die Möglichkeit, bestimmte Objekte von der Aktivie-rung auszunehmen. Aktivieren Sie die gesamte Liste, und kehren Siezum Karteireiter Objects zurück. Die Symbole, die angezeigt haben,dass die neuen Objekte noch nicht aktiviert sind, sind nun ver-schwunden. Außerdem besteht die Option, einzelne Objekte überderen Kontextmenü zu aktivieren.

4.1.3 Konfiguration

Erste Schritte imIntegration

Directory

Auf Basis der im Enterprise Services Repository erstellten Objektekönnen Sie nun im Integration Directory die Kommunikation zwi-schen den beiden Systemen A und B einrichten. Sie gelangen zumIntegration Directory entweder über die Transaktion SXMB_IFR,über den direkten Link im Webbrowser oder indem Sie im Menü desEnterprise Services Repository Environment � Integration Builder

wählen.

Ebenso wie im Enterprise Services Repository herrscht auch hier eineZweiteilung der Oberfläche vor, wobei sich die Anordnung derObjekte nicht mehr nach Softwarekomponentenversionen, sondernnach Objekttypen richtet. Oberhalb der Verzeichnisstruktur befindensich zwei Karteireiter, von denen Change Lists die gleiche Bedeutungwie im Repository hat. Der Karteireiter Objects listet alle Objekte desDirectorys nach ihrem Typ auf. Außer dem Szenario, das Sie für allIhre Objekte im Integration Directory anlegen werden, werden fürdie Übung alle Elemente aus Tabelle 4.3 verwendet.

Art des Objektes Senderseite: System A Empfängerseite: System B

Kommunikations-kanal

RFC_Senderchannel_## File_Receiverchannel_##

Senderverein-barung

|SystemA|Z_RFM_MATERIALINPUT_##||

Empfänger-vereinbarung

|SystemA||SystemB|SI_Material_Async_In

Empfänger-ermittlung

|SystemA|Z_RFM_MATERIALINPUT_##

Tabelle 4.3 Elemente im Integration Directory für die Übung RFC-to-File

1440.book Seite 206 Montag, 10. August 2009 1:55 13

Page 29: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

207

Erste Übung: RFC-to-File 4.1

Einrichten der Business-Systeme und ihrer Kommunikationskanäle

Anlegen eines Konfigurations-szenarios

Legen Sie über das Kontextmenü eines bereits bestehenden Szenariosoder über das Icon Create Object links unterhalb der Menüleiste dasKonfigurationsszenario PI_Training_## an. Speichern Sie das Objekt;damit das Szenario in der Auflistung auf der linken Seite erscheint,markieren Sie das neue Szenario, und beschränken Sie die Sicht dar-auf, indem Sie das Icon Only display selected subtree oberhalb derListe anklicken. Die Anlage eines Konfigurationsszenarios dient derorganisatorischen Einteilung von Konfigurationsobjekten.

Öffnen Sie das Verzeichnis Communication Component � Business

System. Unterhalb dieses Zweiges sehen Sie zumindest die beidenBusiness-Systeme System A und System B, die im Rahmen der Vorbe-reitungen zu den Übungen im System Landscape Directory deklariertwurden. Klicken Sie die Option Assign Configuration Scenarios

aus dem Kontextmenü von System A an, und suchen Sie Ihr ebenerstelltes Szenario aus.

Durch diese Zuordnung erscheint dieses Business-System mit seinenKommunikationskanälen auch in Ihrem Szenario. Wiederholen Siediesen Schritt für das Business-System System B. Für System A mussein sendender RFC-Adapter und für System B ein empfangender File-Adapter konfiguriert werden.

Anlegen eines RFC-Senderkanals

Rufen Sie über das Kontextmenü des Knotens Communication

Channel den Erstellungsdialog auf, und geben Sie System A als Com-

munication Component und den Namen RFC_Senderchannel_##sowie eine entsprechende Beschreibung ein. Im Detailfenster stellenSie mit der Wertehilfe zunächst den Adaptertyp RFC ein. Wählen Siedie Richtung Sender für diesen Adapter aus. Für das Feld Transport

Protocol wählen Sie RFC. Die Felder Message Protocol und Adap-

ter Engine im oberen Bereich können Sie auf den vorgegebenenWerten belassen.

Interface-Ermittlung

|SystemA|Z_RFM_MATERIALINPUT_##||SystemB

Art des Objektes Senderseite: System A Empfängerseite: System B

Tabelle 4.3 Elemente im Integration Directory für die Übung RFC-to-File (Forts.)

1440.book Seite 207 Montag, 10. August 2009 1:55 13

Page 30: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

208

Technische Einzelübungen4

Verbindung zurbestehenden RFC-

Verbindung

Der Bereich RFC Server Parameter dient zur Verbindung mit einerRFC-Destination vom Typ TCP/IP aufseiten von System A. Bei denVorbereitungen zu den Übungen haben Sie in Abschnitt 3.5.2, »Ein-stellungen für die Verwendung des RFC-Adapters«, eine RFC-Verbin-dung namens SystemA_Sender-## angelegt. Diese RFC-Verbindungist auf dem Gateway-Server des PI-Systems registriert und wartet aufein entsprechendes Gegenstück.

Pflegen Sie in das Feld Application Server den Hostnamen des PI-Systems und in das Feld Application Server Service den Gateway-Service des PI-Systems nach dem Schema sapgwXX ein, wobei XX fürdie Instanznummer steht. Die Program ID entspricht dem SchemaSystemA_Sender-## und stimmt ebenso wie die beiden genanntenWerte genau mit dem überein, was in der jeweiligen RFC-Verbin-dung in System A eingepflegt wurde. Die Option SNC gibt an, ob dieKommunikation über diese RFC-Verbindung über Secure NetworkConnection abläuft. Die Checkbox Unicode muss angewählt sein,wenn es sich bei System A um ein Unicode-System handelt.

Zugriff auf RFC-Metadaten

Der Abschnitt RFC Metadata Repository Parameter dient der Iden-tifikation und der Anmeldung an dem System, das die Metadaten überdie verwendeten RFC-Schnittstellen bereitstellt. Diese Anbindung istnotwendig, da beim Aufruf des sendenden RFC-Adapters die Metada-ten vom PI-System gegengeprüft werden. In diesem Fall handelt essich um System A, von dem in der Designphase die RFC-Schnittstelleimportiert wurde. Geben Sie den Application Server und die System

Number von System A sowie Ihren Benutzer SYS_A-## mit Passwortund entsprechenden Mandanten ein, und speichern Sie nun den Kom-munikationskanal. Haben Sie den Kommunikationskanal später akti-viert, wird auch der Verbindungstest für die Destination SystemA_Sender-## aus System A heraus erfolgreich ablaufen.

Einen Überblick über die gesamten Einstellungen dieses Kommuni-kationskanals gibt Abbildung 4.12.

Anlegen einesDatei-

Empfängerkanals

Den Kommunikationskanal für das empfangende System B legen Sieüber das Kontextmenü des Knotens Communication Channel an.Der Name des neuen Kanals soll File_Receiverchannel_## lauten.Als Kommunikationskomponente wählen Sie System B.

Wählen Sie im Detailfenster den Adaptertyp File mit der Wertehilfeaus, und geben Sie die Richtung Receiver an. Stellen Sie den Parame-

1440.book Seite 208 Montag, 10. August 2009 1:55 13

Page 31: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

209

Erste Übung: RFC-to-File 4.1

ter Transport Protocol auf File system (NFS) ein, was bedeutet,dass das PI-System über sein eigenes lokales Dateisystem auf das Ver-zeichnis zugreifen kann, in dem die Datei erstellt werden soll.

Die Alternative zum Network File System (NFS) stellt das File Trans-fer Protocol (FTP) dar, das den Zugriff auf das Dateisystem entfernterRechner erlaubt. Wenn Sie diese Option wählen, erhalten Sie dieMöglichkeit, Server- und Benutzerdaten anzugeben, um sich aneinem entfernten FTP-Server anzumelden. Das Feld Message Proto-

col sollte auf dem Wert File stehen, was zur Folge hat, dass die zuschreibende Datei im PI-Format abgelegt wird. Die Ausprägung File

Content Conversion würde hingegen erlauben, die Datei beispiels-weise als Liste mit mehreren Einträgen zu schreiben.

Festlegung der Ausgangsdatei

Die File Access Parameter bestimmen zum einen, in welches Ver-zeichnis die Datei geschrieben und nach welchem Schema ihr Nameaufgebaut wird. Verwenden Sie nach Absprache mit Ihrem Land-schaftsadministrator vorzugsweise /tmp bei UNIX-Installationen oderC:\temp für Windows.

Abbildung 4.12 Einrichtung des RFC-Senderkanals für System A

1440.book Seite 209 Montag, 10. August 2009 1:55 13

Page 32: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

210

Technische Einzelübungen4

Das File Name Scheme können Sie prinzipiell frei wählen, jedochsollten Sie für diese Übung die Bezeichnung xi_output_##.dat bevor-zugen, wobei ## für Ihre Teilnehmernummer steht. Beim Ablauf die-ses Szenarios wird auf diese Datei Bezug genommen, sodass Sie dieVergabe eines selbst gewählten Namens in Abschnitt 4.1.4, »Ablaufund Monitoring«, entsprechend berücksichtigen müssen (sieheAbbildung 4.13).

Die Verarbeitungsparameter auf dem Karteireiter Processing gebenan, wie die Datei erstellt werden soll, das heißt ob das angegebeneNamensschema unverändert verwendet werden soll oder ob zumBeispiel ein Zeitstempel, ein Zählerwert oder die Message-ID mit inden Dateinamen aufgenommen werden soll. Wählen Sie hier denSchreibmodus Directly und den Dateityp Binary aus.

Der Schreibmodus Directly bewirkt dabei, dass ohne die Verwen-dung einer temporären Datei die Daten herausgeschrieben werden.Der gewählte Dateityp Binary bewirkt, dass nicht nur Text ausgege-ben werden kann.

Über die Grundeinstellungen hinaus haben Sie zudem noch die Mög-lichkeit, durch Variablenersetzung den Pfad der Dateiablage dyna-misch zu bestimmen oder einen Betriebssystembefehl vor oder nachder Nachrichtenverarbeitung anzustoßen. Speichern Sie den Empfän-gerkanal.

Anlegen der Verbindungselemente

Verbindungenzwischen

Sender- undEmpfängerseite

Auf der Basis der eben erstellten Eckpunkte sowie der Objekte imEnterprise Services Repository kann mithilfe einiger Verbindungsele-mente das Integrationsszenario vervollständigt werden. Die ersten

Abbildung 4.13 Einrichtung des Datei-Empfängerkanals für System B

1440.book Seite 210 Montag, 10. August 2009 1:55 13

Page 33: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

211

Erste Übung: RFC-to-File 4.1

beiden fehlenden Elemente, die Sie anlegen, sind die Sender- und dieEmpfängervereinbarung. Sie bestimmen, wie eine Nachricht vonoder zu dem Interface eines bestimmten Business-Systems konver-tiert werden muss, damit das PI-System bzw. das empfangende Sys-tem die Nachricht weiterverarbeiten kann. Im Falle des eingehendenRFC-Kommunikationskanals muss die Nachricht beispielsweise ausdem Format des RFC-Adapters technisch in das PI-XML-Format kon-vertiert werden.

Anlegen einer Sender-vereinbarung

Beginnen Sie mit der Sendervereinbarung, die Sie auf dem gewohn-ten Weg über das Kontextmenü des Verzeichnisses Receiver Agree-

ment anlegen können: Wählen Sie im Erstellungsdialog als ServiceIhr Business-System A aus. Das sendende Interface ist die RFC-Schnittstelle Z_RFM_MATERIALINPUT_##, die Sie in das Enterprise Ser-vices Repository importiert haben. Im Detailfenster des neuen Objek-tes können Sie den Kommunikationskanal des Senders bestimmen,indem Sie die Wertehilfe öffnen und den Senderkanal RFC_Sender_Channel_## auswählen (siehe Abbildung 4.14). Speichern Sie die Sen-dervereinbarung.

Anlegen einer Empfänger-vereinbarung

Erstellen Sie analog zur Sendervereinbarung eine Empfängerverein-barung für das Business-System B und das empfangende Interface SI_Material_Async_In. Achten Sie dabei darauf, dass Sie zusätzlich das

Abbildung 4.14 Anlegen der RFC-Sendervereinbarung

1440.book Seite 211 Montag, 10. August 2009 1:55 13

Page 34: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

212

Technische Einzelübungen4

sendende Business-System A angeben müssen. Wählen Sie im Detail-fenster als Kommunikationskanal des Empfängers den Kanal File_Receiverchannel_##, und speichern Sie die Vereinbarung.

Anlegen einerEmpfänger-ermittlung

Für das logische Routing der Nachrichten im PI-System wird zunächsteine Empfängerermittlung benötigt, die zu einem Paar von Business-System und Interface bestimmt, welche Services als Empfängerinfrage kommen. Legen Sie zu diesem Zweck eine neue Empfängerer-mittlung über das entsprechende Kontextmenü für das sendendeBusiness-System A und das Interface Z_RFM_MATERIALINPUT_## an.

Im Detailfenster ist zunächst der Bereich Configured Receivers vonBedeutung, in dem verschiedene mögliche Empfänger angegebenwerden können. Ist das Prüfungsergebnis der jeweiligen Bedingungwahr, wird die Nachricht an dieses System zugestellt (siehe Abbil-dung 4.15).

Dies kann auch bedeuten, dass die Nachricht an mehrere Systemezugestellt wird. Die Bedingung kann beispielsweise Elemente einerNachricht auf einen bestimmten Inhalt hin überprüfen. Sollte keines

Abbildung 4.15 Anlegen der Empfängerermittlung

1440.book Seite 212 Montag, 10. August 2009 1:55 13

Page 35: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

213

Erste Übung: RFC-to-File 4.1

der konfigurierten Systeme als Empfänger bestimmt werden, kannunterhalb der Empfängertabelle ein Default-Empfänger angegebenwerden. Wählen Sie in der Spalte Communication Component derbereits vorhandenen Zeile das Business-System B als möglichen Emp-fänger aus. Da die Nachricht in dieser Übung in jedem Fall diesemEmpfänger zugestellt werden soll, müssen Sie keine Bedingung pflegen.

Anlegen der Interface-Ermittlung

Speichern Sie die Empfängerermittlung, und werfen Sie dann einenBlick auf den Karteireiter Configuration Overview, auf dem nunder Eintrag SystemB erschienen ist. Klappen Sie den Eintrag auf: Wiedie Einträge darunter zeigen, konnte keine passende Interface-Ermitt-lung und somit auch kein passendes Operation Mapping ermitteltwerden. Klicken Sie oberhalb dieser Auflistung auf das Icon New, umeine neue Interface-Ermittlung anzulegen.

Durch den Aufruf des Erstellungsdialogs aus diesem Kontext herauskönnen bereits alle Pflichtfelder ausgefüllt werden, sodass Sie nurnoch eine Beschreibung einpflegen müssen. Wählen Sie im Detail-fenster im Bereich Receiver Interfaces mit der Wertehilfe Ihr Ser-vice-Interface SI_Material_Async_In aus Ihrem Namensraum aus.Bestimmen Sie links davon auch das einzige Operation Mapping, dasfür die Kombination des sendenden und des empfangenden Interfacebesteht (siehe Abbildung 4.16). Speichern und schließen Sie dieInterface-Ermittlung, und kehren Sie zur Empfängerermittlungzurück.

Abbildung 4.16 Bearbeiten der Interface-Ermittlung zur Übung RFC-to-File

1440.book Seite 213 Montag, 10. August 2009 1:55 13

Page 36: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

214

Technische Einzelübungen4

Aktivierung derneuen Konfigura-

tionsobjekte

Klicken Sie im unteren Bereich das Icon Refresh an, woraufhin nebendem Ziel-Interface und dem passenden Operation Mapping auchnoch die Empfängervereinbarung für das empfangende System B an-gezeigt werden sollte (siehe Abbildung 4.17).

Speichern Sie die Empfängerermittlung, und aktivieren Sie alle neuerstellten Objekte über Ihre Standard Change List auf dem Kartei-reiter Change Lists. Sie haben nun alle Objekte für dieses Integrati-onsszenario erstellt und aktiviert.

Die Funktionalität der Folder im Enterprise Services Repository istebenfalls im Integration Builder nutzbar. Dort legen Sie Folder überdas Menü Objects � New an. Der letzte Punkt Administration imBaum links enthält das Element Folder. Hier besteht die Möglich-keit, einen Wurzel-Folder anzulegen oder den neuen Folder einembestehenden Folder als Subfolder zuzuordnen (siehe Abbildung4.18). Die übrige Arbeitsweise mit Foldern im Integration Directoryunterscheidet sich nicht von der im Enterprise Services Repository.

Abbildung 4.17 Bearbeiten der Empfängerermittlung zur Übung RFC-to-File

Abbildung 4.18 Folder anlegen im Integration Builder

1440.book Seite 214 Montag, 10. August 2009 1:55 13

Page 37: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

215

Erste Übung: RFC-to-File 4.1

4.1.4 Ablauf und Monitoring

Nachdem Sie nun alle Design- und Konfigurationsobjekte angelegthaben, sind alle Vorbereitungen zum Ablauf dieses Integrationssze-narios abgeschlossen. Sie werden nun den Ablauf überwachen undmögliche Fehler untersuchen.

Ablauf des Szenarios

Aufruf des ABAP-Programms in System A

Das konfigurierte Integrationsszenario wird durch den Aufruf desProgramms Z_PROG_MATERIALINPUT_## gestartet. Melden Sie sich amMandanten des Systems A mit Ihrem Benutzer SYS_A-## an, undrufen Sie Transaktion SE38 auf. Geben Sie den Namen Ihres Pro-gramms ein, und führen Sie es aus.

Es erscheint eine Eingabemaske für grundlegende Materialstammda-ten. Nun sollen die Daten zum Anlegen dieses PI-Entwicklerbuchesals ein Materialstammsatz in System B eingegeben werden. Bei die-sem Material handelt es sich um ein Testmaterial, das heißt Sie wer-den es in den Einzelübungen nicht weiter inhaltlich verwenden, umbeispielsweise einen Fertigungs- oder Kundenauftrag anzulegen.

Bei den verwendeten Daten handelt es sich um die Pflichtfelder derbeiden Sichten Grunddaten 1 und 2 aus dem Materialwesen von SAPR/3 bzw. SAP ECC. Da diese Daten in der zweiten Übung benutztwerden, um mithilfe eines IDocs tatsächlich ein Material anzulegen,wird die Verwendung der Daten aus Tabelle 4.4 empfohlen.

Feld Empfohlener Wert

Material PI_BOOK-##

Material Description beliebig, zum Beispiel »SAP PI Developer Book ##«

Material Type FERT (Fertigerzeugnis)

Industry Sector 1 (Handel)

Material Group 030 (Dokumentation)

Base Unit of Measure ST (Stück)

Gross Weight beliebig, zum Beispiel 1,2

Weight Unit KGM (Kilogramm)

Gen. item cat. group NORM (Normalposition)

Tabelle 4.4 Empfohlene Werte für das Anlegen eines Testmaterials

1440.book Seite 215 Montag, 10. August 2009 1:55 13

Page 38: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

216

Technische Einzelübungen4

Eingabe derempfohlenen

Werte

Diese Daten funktionieren ohne weitere Anpassungen in einem IDESR/3- oder ECC-System. Sie können für die zweite Übung später ent-sprechende Vorlagedateien verwenden.

Tragen Sie die Daten in die einzelnen Felder ein, und achten Sie dar-auf, dass die Wertehilfe, die bei einigen Feldern erscheint, nur Wertedes sendenden Systems wiedergibt, die im empfangenden Systemunter Umständen nicht vorhanden sind (siehe Abbildung 4.19).

Nachdem Sie die Menüoption Program � Execute oder das entspre-chende Icon Execute angeklickt haben, erhalten Sie eine Erfolgsnach-richt. Diese Nachricht sagt lediglich aus, dass der zum Programmgehörige Funktionsbaustein erfolgreich aufgerufen wurde, nichtjedoch, ob die Nachricht auch erfolgreich zugestellt wurde.

Überwachungdes Ablaufs

Die korrekte Zustellung und Verarbeitung der Nachricht können Sieunter anderem im PI-System überprüfen. Melden Sie sich dazu amjeweiligen Mandanten an, und rufen Sie dort die Transaktion SXMB_MONI auf. Klicken Sie doppelt auf den Pfadeintrag Integration

Engine � Monitoring � Monitor for Processed XML Messages,wodurch sich eine Selektionsmaske öffnet, die Ihnen eine differen-zierte Auswahl aller verarbeiteten Nachrichten erlaubt. Wird das ver-wendete PI-System nur für Trainings- oder Testzwecke verwendet, isteine Einschränkung kaum notwendig. Anderenfalls könnten Sie dieAuswahl beispielsweise auf Nachrichten mit dem sendenden ServerSystemA begrenzen.

Führen Sie die Nachrichtenabfrage über die Menüoption Program �

Execute oder das Icon Execute aus. Wurde Ihre Nachricht erfolgreichzugestellt und verarbeitet, sollten Sie einen Eintrag sehen, der in der Sta-tusspalte eine schwarz-weiß karierte Flagge zeigt (siehe Abbildung 4.20).

Abbildung 4.19 Aufruf des Programms Z_PROG_MATERIALINPUT_##

1440.book Seite 216 Montag, 10. August 2009 1:55 13

Page 39: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

217

Erste Übung: RFC-to-File 4.1

Eine grüne Flagge bedeutet, dass die Nachricht derzeit noch bearbei-tet wird, während die eine schwarz-weiß karierte Flagge den erfolg-reichen Abschluss der Nachrichtenbearbeitung anzeigt. Die meistenanderen Symbole stehen in diesem Fall für einen Fehler. Sie könnensich die Legende aller möglichen Symbole über den MenüeintragGoto � Legend oder das Icon Legend anzeigen lassen.

Betrachtung der erstellten Datei

Um den letzten Beweis der erfolgreichen Nachrichtenverarbeitung zuerhalten, können Sie sich die erstellte Datei anschauen: Das ist zumBeispiel über Transaktion AL11 im PI-System möglich, indem Sie dortdie Zeile des Verzeichnisalias DIR_TEMP anklicken. Suchen Sie in derDateiauflistung nach einer Datei vom Schema pi_output_##.dat. Miteinem Doppelklick können Sie die Datei zum Lesen öffnen. Da dieseAnzeige jedoch nur auf eine bestimmte Breite beschränkt ist und keinautomatischer Zeilenumbruch erfolgt, wird empfohlen, für die lokaleBetrachtung der Datei die Transaktion ZAPCMD oder das auf derWebseite zum Buch (http://www.sap-press.de/2159) zu findende Pro-gramm zum Download der Datei zu verwenden.

Fehlersuche im Monitoring

Analyse der Verarbeitung

Um einem Fehler auf den Grund zu gehen, klicken Sie in der Nach-richtenanzeige von Transaktion SXMB_MONI doppelt in ein beliebi-ges Feld der entsprechenden Zeile, wodurch Sie zur Ansicht Display

XML Message Versions gelangen (siehe Abbildung 4.21).

Dort sehen Sie im Falle einer asynchron versendeten Nachricht dieverschiedenen Zustände der Nachricht auf ihrem Weg durch die zen-trale Integration Engine. In der linken Verzeichnisstruktur könnenSie zu der mit einem entsprechenden Fehlersymbol markierten Stellenavigieren. Suchen Sie in den Fenstern der rechten Seite nach einerFehlermeldung, die Aufschluss über die Ursache gibt. In den meisten

Abbildung 4.20 Anzeige der ersten Nachricht in der Transaktion SXMB_MONI

1440.book Seite 217 Montag, 10. August 2009 1:55 13

Page 40: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

218

Technische Einzelübungen4

Fällen wurde der Fehler durch ein Mapping oder ein unachtsam ausder Wertehilfe ausgesuchtes Objekt verursacht.

Überprüfung derAdapter

In manchen Fällen sind jedoch auch fehlerhaft konfigurierte Kommu-nikationskanäle bzw. Adapter der Grund. Um diese Möglichkeit zuüberprüfen, starten Sie Transaktion SXMB_IFR für den Aufruf der PI-Tools. Wählen Sie rechts unten die Runtime Workbench aus, undmelden Sie sich mit Ihrem Benutzer PI-## an.

Sie sehen nun die einzelnen Optionen der Runtime Workbench, vondenen Sie die meisten im Rahmen der weiteren Übungen und derFallstudie erkunden werden. Auch wenn Sie mit der TransaktionSXMB_MONI bereits eine andere Möglichkeit der Nachrichtenüber-sicht kennengelernt haben, können Sie sich ebenso hier mit demMenüeintrag Message Monitoring den Status von Nachrichten imPI-System anschauen. Wählen Sie zunächst jedoch das Component

Monitoring, und lassen Sie sich Komponenten mit jedem möglichenStatus anzeigen.

Suchen Sie in der Verzeichnisstruktur der Komponenten den PfadDomain.XX.<PI-Hostname> � Integration Server � Adapter Engine

aus. Unterhalb der Verzeichnisstruktur öffnet sich eine Statusansicht,die Aufschluss über den allgemeinen Zustand der Adapter Enginegibt. Klicken Sie dort am rechten oberen Rand auf den Button Adap-

ter Monitoring (siehe Abbildung 4.22).

Abbildung 4.21 Detailansicht einer Message

1440.book Seite 218 Montag, 10. August 2009 1:55 13

Page 41: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

219

Erste Übung: RFC-to-File 4.1

Auswahl des Adaptertyps

Es öffnet sich ein neues Browser-Fenster, das Ihnen nach dem Auf-klappen des Namensraums http://sap.com/xi/PI/System die Aus-wahl aller verfügbaren Adapter anzeigt. Eine graue Raute vor einemAdaptertyp bedeutet, dass noch kein Kommunikationskanal von die-sem Typ angelegt wurde. Ein grünes Quadrat steht dafür, dass alleKommunikationskanäle dieses Typs korrekt konfiguriert wurden undkein Fehler bei der Verarbeitung aufgetreten ist. Ein roter Kreis hin-gegen bedeutet, dass zumindest ein Kommunikationskanal diesesTyps einen Fehler hat.

Überprüfen Sie, ob bei den Adaptertypen RFC oder File ein Fehleraufgetreten ist. Zur genaueren Untersuchung können Sie den ent-sprechenden Typ anklicken, wodurch alle Kommunikationskanäledieses Typs aufgelistet werden. Wenn Sie nach Ihrem Kommunikati-onskanal suchen und er einen Fehler anzeigt, finden Sie rechts davoneine ausführliche Beschreibung, mit der Sie den Fehler in den meis-ten Fällen beheben können.

4.1.5 Alternatives ABAP-Mapping (optional)

Alternativ zum grafischen Mapping, das Sie in dieser Übung verwen-det haben, wird Ihnen am Beispiel dieser Übung gezeigt, wie Sie das

Abbildung 4.22 Einstieg in das Komponenten-Monitoring der Runtime Workbench

1440.book Seite 219 Montag, 10. August 2009 1:55 13

Page 42: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

220

Technische Einzelübungen4

gleiche Mapping mithilfe einer ABAP-Klasse umsetzen können. ZurUmsetzung der nachfolgenden Aktionen müssen zum einen die vor-bereitenden Schritte zum ABAP-Mapping durchgeführt worden sein,und zum anderen müssen Sie über eine Entwicklungsberechtigung inSAP NetWeaver Process Integration verfügen.

Erstellung des ABAP-Mappings

Erstellung einerABAP-Klasse für

das Mapping

Das ABAP-Mapping wird als herkömmliche ABAP-Klasse im PI-Sys-tem erstellt und über den Klassennamen im Operation Mapping auf-gerufen. Dabei wird automatisch die Methode Execute aktiviert, diedas Mapping durchführt und von Ihnen erstellt werden muss. Durchdie getrennte Entwicklung kann ein ABAP-Mapping auch nicht in dasEnterprise Services Repository importiert werden.

Melden Sie sich am PI-System an, und rufen Sie den Class Builderüber die Transaktion SE24 auf. Geben Sie den Namen der neuenKlasse nach dem Schema ZCL_PI_ABAP_MAPPING_## ein, und klickenSie auf Create (siehe Abbildung 4.23). Geben Sie anschließend imPopup-Fenster eine sprechende Beschreibung für die neue Klasse an,und klicken Sie auf Save. Sollten Sie bisher noch keinen Entwickler-schlüssel für den verwendeten Benutzer eingegeben haben, müssenSie ihn nun angeben.

Verwendungdes InterfaceIF_MAPPING

Da es sich bei dem ABAP-Mapping um eine gewöhnliche ABAP-Klasse handelt, müssen Sie auch für diese Entwicklung ein Paket undeinen Transportauftrag angeben, sofern es sich nicht um eine lokaleEntwicklung handeln soll. Sie gelangen danach in den eigentlichenClass Builder und sehen Ihre neu angelegte Klasse. Klicken Sie auf denKarteireiter Interfaces, und geben Sie das Interface IF_MAPPING ein(siehe Abbildung 4.24). Dieses Interface beinhaltet die Methode

Abbildung 4.23 Anlegen der ABAP-Mapping-Klasse im Class Builder

1440.book Seite 220 Montag, 10. August 2009 1:55 13

Page 43: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

221

Erste Übung: RFC-to-File 4.1

Execute mit der entsprechenden Signatur und stellt somit die Defini-tion für die neue Methode dar.1

Struktur der Zielnachricht

Durch die Einbindung des Interface finden Sie auf dem KarteireiterMethods nun auch die erwähnte Methode, die es nun zu implemen-tieren gilt. Klicken Sie dazu doppelt auf den Methodennamen, undspeichern Sie die Änderungen an der Klasse auf Nachfrage hin ab. ZurEntwicklung des eigentlichen Codings soll zunächst die XML-Ansichtauf die Nachricht betrachtet werden (siehe Listing 4.1).

<?xml version="1.0" encoding="UTF-8"?><ns1:MT_Materialxmlns:ns1="http://www.sap-press.com/pi/training/##">

<MATNR>PI_BOOK-##</MATNR><MAKTX>SAP PI Developer Book</MAKTX><ERSDA>01062009</ERSDA><ERNAM>SYS_A-##</ERNAM><MTART>FERT</MTART><MBRSH>1</MBRSH><MATKL>030</MATKL><MEINS>PT</MEINS><BRGEW>1.200</BRGEW><NTGEW>001.080</NTGEW><GEWEI>KGM</GEWEI><MTPOS_MARA>NORM</MTPOS_MARA>

</ns1:MT_Material>

Listing 4.1 XML-Ansicht einer versendeten Nachricht nach dem Mapping

1 Detaillierte Informationen zum Interface finden Sie im SAP Help Portal unter:http://help.sap.com/saphelp_nwpi711/helpdata/de/ba/e18b1a0fc14f1faf884ae50cece51b/frameset.htm.

Abbildung 4.24 Einbinden des Interface IF_MAPPING in die neue Klasse

1440.book Seite 221 Montag, 10. August 2009 1:55 13

Page 44: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

222

Technische Einzelübungen4

Diese Ansicht finden Sie entweder in der Datei, die als Ergebnis derersten Einzelübung erstellt wurde, oder indem Sie das Message Map-ping der ersten Einzelübung testen und sich das Ergebnis in der XML-Ansicht anzeigen lassen. Die einzige Veränderung an den Werten imMapping ist die automatische Berechnung des Nettogewichts aufBasis des Bruttogewichts. Der Aufbau der Nachricht und die restli-chen Werte werden durch das Mapping nicht verändert, was dieErstellung des ABAP-Mappings vereinfacht.

Aufbau derneuen Methode

Den detaillierten Quellcode des ABAP-Mappings finden Sie in An-hang A. Übertragen Sie den Quellcode, ersetzen Sie die Platzhalter##, und aktivieren Sie die Methode, damit sie später in das OperationMapping eingebunden werden kann.

Aufgrund des Umfangs soll der Ablauf der Methode nur schematischbetrachtet werden. Zunächst wird die iXML-Bibliothek für ABAPObjects initialisiert, die es auf einfache Art und Weise ermöglicht,XML-Dokumente zu parsen und neu zusammenzusetzen.2 Anschlie-ßend werden Objekte für Factorys und den Input Stream deklariert.Nach der Definition des Eingangsdokumentes werden die relevantenKnoten deklariert und mithilfe der Methode get_elements_by_tag_name aus dem Eingangsdokument exzerpiert.

Nachdem das Ausgangsdokument deklariert wurde, wird es mit denWerten aus dem Eingangsdokument befüllt. Dabei können die meis-ten Werte unverändert eingefügt werden. Lediglich das Nettogewichtwird als Knoten neu erstellt und auf Basis des Bruttogewichts berech-net. Zudem ist eine Korrektur des Datumsformats von YYYY-MM-DDnach DDMMYYYY notwendig, damit die Datei in der nächsten Übungper IDoc in ein neues Material transferiert werden kann.

Nach der Zuweisung der Knoten zum neuen Dokument wird in denTrace eine eigene Nachricht eingesetzt, um später in der Detailansichtdes Nachrichten-Monitorings der Transaktion SXMB_MONI sehen zukönnen, dass die neu erstellte Methode auch abgearbeitet wurde.Abschließend wird der Output Stream deklariert und ein Rendererangelegt, der für die Zusammenstellung des Ausgangsdokumentesverantwortlich ist.

2 Detaillierte Informationen zur iXML Library von SAP finden Sie im SAP Help Por-tal unter: http://help.sap.com/saphelp_nwpi711/helpdata/de/86/8280ba12d511d5991b00508b6b8b11/frameset.htm.

1440.book Seite 222 Montag, 10. August 2009 1:55 13

Page 45: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

223

Erste Übung: RFC-to-File 4.1

Verwendung des ABAP-Mappings

Anpassung des Operation Mappings

Nach der Erstellung und Aktivierung des neuen Mappings müssen Siees in das bestehende Operation Mapping OM_Z_RFM_MATERIALINPUT_##_to_SI_Material_Async_In eintragen und das Objekt erneut akti-vieren. Rufen Sie dazu das genannte Operation Mapping auf, undwechseln Sie in den Änderungsmodus. Im unteren Bereich in derMitte stellen Sie zunächst in der Spalte Type den Eintrag von Message

Mapping auf Abap-class um. Geben Sie anschließend den Namender neu erstellen ABAP-Klasse ZCL_PI_ABAP_MAPPING_## an (sieheAbbildung 4.25). Das ABAP-Mapping lässt sich leider nicht im Enter-prise Services Repository testen. Speichern und aktivieren Sie dieÄnderung. Weitere Änderungen wie etwa in der Konfiguration sindnicht notwendig.

Testen des angepassten Ablaufs

Sie können die Übung nun erneut über das Programm Z_PROG_MATERIALINPUT_## aufrufen. Das Verhalten ist vom Ergebnis hergleich, wobei Sie im Nachrichten-Monitoring der Transaktion SXMB_MONI des PI-Systems im Trace zu Ihrer Nachricht nun den Eintragfinden werden, den Sie in der ABAP-Klasse angegeben haben (sieheAbbildung 4.26).

Abbildung 4.25 Integration des ABAP-Mappings in das Operation Mapping

1440.book Seite 223 Montag, 10. August 2009 1:55 13

Page 46: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

224

Technische Einzelübungen4

4.2 Zweite Übung: File-to-IDoc

Ablauf derzweiten Übung

Die Datei mit den Materialstammdaten, die Sie in der ersten Übungerstellt haben, soll nun im zweiten Integrationsszenario ihren Weg indas Business-System B finden und dort zu einem Material werden.Auch wenn die Datei aus logischer Sicht System B bereits zugestelltwurde, liegt sie technisch immer noch im Dateisystem des PI-Sys-tems, im Verzeichnis /tmp bzw. C:\temp. Dies erlaubt es, die Ordnungbeizubehalten, dass System A sendet und System B empfängt, da auchSystem A auf das Dateisystem des PI-Systems zugreifen kann, um dieDatei zu lesen. System A wird somit die Datei mithilfe des File-Adap-ters einlesen und an das PI-System übertragen, von wo der Datensatzals IDoc an System B geschickt wird.

Eine schematische Darstellung der verwendeten Adapter und ihrerRichtung sehen Sie in Abbildung 4.27.

Abbildung 4.26 Trace-Eintrag des ABAP-Mappings in der Nachricht

Abbildung 4.27 Schema der zweiten Übung – File-to-IDoc

PI-System

System AFile-

AdapterIDoc-

Adapter System B

1440.book Seite 224 Montag, 10. August 2009 1:55 13

Page 47: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

225

Zweite Übung: File-to-IDoc 4.2

Quereinstieg in die zweite Übung

4.2.1 Grundlagen

Überblick über die neuen Objekte

Sie werden sich nun, nachdem Sie bereits die Empfängerseite desFile-Adapters kennengelernt haben, auch mit dessen Senderseite ver-traut machen. Das Mapping der Daten auf ein IDoc stellt bei dieserÜbung eine gewisse Herausforderung dar, da IDocs ausgeklügelteund umfangreiche Datenstrukturen beinhalten. Trotz des Alters die-ses Formats spielen sie im SAP-Umfeld nach wie vor eine bedeutendeRolle, was auch damit zu tun hat, dass sie die Möglichkeit der auto-matischen Verarbeitung bieten.

Diese Tatsache werden Sie sich in diesem Szenario zunutze machen,indem Sie in System B eine Partnervereinbarung anlegen. Diese Ver-einbarung sorgt dafür, dass die eingehenden Materialstammdaten inForm des IDocs automatisch verarbeitet werden, das heißt das ent-sprechende Material wird automatisch angelegt.

Funktion der Partner-vereinbarung

Die Partnervereinbarung, die Sie nun anlegen werden, ist kein neuesElement, das durch die Verwendung von SAP NetWeaver PI ins Spielgekommen ist, sondern ein Element der herkömmlichen ALE-Kom-munikation. Die Partnervereinbarung kann nur einmal für ein sen-dendes System (System A) angelegt werden, da nach dem logischenSystem der sendenden Anwendung unterschieden wird. Dem Man-danten des sendenden Systems A kann jedoch nur ein einziges logi-sches System zugeordnet werden.3

Anlegen der Partner-vereinbarung

Melden Sie sich an System B an, und rufen Sie Transaktion BD54 auf,um zu überprüfen, ob der Name des logischen Systems von System Abekannt ist. Jedes System muss die Namen der logischen Systeme derIDoc-Partner kennen. Der Name des logischen Systems ist in derRegel nach dem Schema <SID>CLNT<Mandant> aufgebaut (siehe Abbil-dung 4.28).

Hinweis

Haben Sie die erste Übung nicht durchgeführt, finden Sie in Anhang A dieVorlagen für diese Datei. Sie werden in dieser Übung einige Designele-mente der empfangenden Seite aus der ersten Übung wiederverwenden.

3 Es bietet sich bei einer Übung mit mehreren Teilnehmern deshalb an, dass der Do-zent die nachfolgenden Schritte vorführt.

1440.book Seite 225 Montag, 10. August 2009 1:55 13

Page 48: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

226

Technische Einzelübungen4

Verlassen Sie Transaktion BD54, und rufen Sie Transaktion WE20auf. Der linke Bereich des Bildschirms zeigt die bereits vorhandenenPartnervereinbarungen, geordnet nach der Art der Partner. Auf derrechten Seite sehen Sie Detailinformationen zur jeweils ausgewähltenVereinbarung.

Wählen Sie aus der Menüleiste Partners � Create aus, oder klickenSie auf das Icon Create, um eine neue Partnervereinbarung anzule-gen. Geben Sie den Namen des logischen Systems von System A, denSie eben überprüft haben, als Partnernummer an. Achten Sie darauf,dass im Detailfenster als Partnerart LS (logisches System) ausgewähltist. Stellen Sie sicher, dass auf dem darunterliegenden KarteireiterClassification der Wert Partnerstatus auf A für aktiv steht.

Konfiguration derEingangsparameter

Sie wollen nun angeben, dass IDocs vom Typ MATMAS (Material Mas-ter) beim Eingang automatisch nach einem bestimmten Muster ver-arbeitet werden. Speichern Sie dazu die Partnervereinbarung, undklicken Sie dann im unteren Bereich Inbound parameters auf dasIcon Create Inbound parameter. Wählen Sie in der neuen Bild-schirmmaske den Nachrichtentyp MATMAS aus (siehe Abbildung 4.29).

Auf dem Karteireiter Inbound options können Sie den vorgefertig-ten Vorgangscode MATM auswählen. Im Falle eines Syntaxfehlers sollder Vorgang nicht abgebrochen werden, da Sie dadurch mögliche

Abbildung 4.28 Logisches System anlegen

1440.book Seite 226 Montag, 10. August 2009 1:55 13

Page 49: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

227

Zweite Übung: File-to-IDoc 4.2

Fehler später einfacher identifizieren können. Haben Sie Ihr Integra-tionsszenario erfolgreich getestet, können Sie diese Option über dieentsprechende Checkbox aktivieren. Die Verarbeitung durch denFunktionsbaustein soll sofort erfolgen. Speichern Sie diese Einstel-lungen, und beenden Sie diese Transaktion.

Damit ist für das System B eine Partnervereinbarung für die Kommu-nikation mit System A in Form eines IDocs angelegt.

4.2.2 Design

Überblick über die neuen Designobjekte

Die Erstellung der Objekte im Enterprise Services Repository gestal-tet sich nach dem Durcharbeiten der ersten Übung wesentlich einfa-cher. Einerseits haben Sie nun alle Vorgänge bereits einmal durchge-spielt, und andererseits können Sie einige Designobjekte aus derersten Übung wiederverwenden. Die wiederverwendeten Objektesind in Tabelle 4.5 mit einem Stern (*) gekennzeichnet.

Abbildung 4.29 Eingangsparameter der Partnervereinbarung in System B

1440.book Seite 227 Montag, 10. August 2009 1:55 13

Page 50: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

228

Technische Einzelübungen4

Anlegen desOutbound-Service-

Interface

Die Senderseite, die der Empfängerseite aus der ersten Übung ent-spricht, liegt bis auf das Outbound-Service-Interface bereits komplettvor. Öffnen Sie den Erstellungsdialog im Pfad Service Interfaces,und erstellen Sie das Service-Interface SI_Material_Async_Out. Es istaus der Kategorie Outbound und wird im Modus Asynchronous

verwendet. Die Output-Message entspricht dem bereits in der letztenÜbung angelegten Message-Typ MT_Material (siehe Abbildung 4.30).Speichern Sie das fertige Interface.

Import der IDoc-Metadaten

Auf der Empfängerseite müssen zunächst die Metadaten des IDocsMATMAS.MATMAS02 importiert werden. Dies läuft analog zum Importder RFC-Schnittstelle aus der ersten Übung ab. Navigieren Sie imEnterprise Services Repository zu Ihrer Softwarekomponentenver-sion, und öffnen Sie über das Kontextmenü des Verzeichnisses

Art des Objektes Senderseite Empfängerseite

Service-Interface SI_Material_Asnyc_Out MATMAS.MATMAS02

Message-Typ MT_Material *

Datentyp DT_Material *

Operation Mapping

OM_SI_Material_Async_Out_to_MATMAS_MATMAS02

Message Mapping MM_MT_Material_to_MATMAS_MATMAS02

Tabelle 4.5 Elemente im Enterprise Services Repository für die Übung File-to-IDoc

Abbildung 4.30 Bearbeitung des Outbound-Service-Interface zur Übung File-to-IDoc

1440.book Seite 228 Montag, 10. August 2009 1:55 13

Page 51: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

229

Zweite Übung: File-to-IDoc 4.2

Imported Objects den Importdialog. Wenn die SAP-Systeme derBusiness-Systeme A und B verschieden sind, sodass in System A nichtder benötigte IDoc-Typ zu erwarten ist, können Sie sich am Business-System B anmelden. Anderenfalls können Sie den Import aus SystemA vornehmen.

Erweitern Sie beim nächsten Schritt den Teilbereich IDocs, markie-ren Sie den Typ MATMAS.MATMAS02, und importieren Sie ihn. DieSchnittstellendefinition von IDocs kann ebenso wie die von RFC-Schnittstellen sowohl als Message-Typ als auch als Service-Interfaceverwendet werden, wodurch sich weitere Objekte aufseiten desEmpfängers erübrigen.

Anlegen des Message Mappings

Erstellen Sie ein neues Message Mapping mit dem Namen MM_MT_Material_to_MATMAS_MATMAS02, und weisen Sie den Message-Typ MT_Material auf der Sender- und den IDoc-Typ MATMAS.MATMAS02 auf derEmpfängerseite zu. Bei der Verwendung von IDocs stellt das MessageMapping eine Herausforderung dar, da die Datenstruktur sehrumfangreich ist und mehrere Hundert Elemente enthalten kann. Umdie Übersicht zu behalten, sind in Tabelle 4.6 die relevanten Felderdieses Beispiels dargestellt.

Datenelement vonMT_Material/Konstanten

Datenelement von MATMAS.MATMAS02

Segment von MATMAS.MATMAS02

Konstante: 1 BEGIN keins (IDOC)

MT_Material E1MARAM keins (IDOC)

MT_Material SEGMENT E1MARAM

Konstante: 005 MSGFN E1MARAM

MATNR E1MARAM

Konstante: KBG PSTAT E1MARAM

Konstante: KBG VPSTA E1MARAM

Konstante: 000 BLANZ E1MARAM

ERSDA E1MARAM

ERNAM E1MARAM

Tabelle 4.6 Zuordnung der Datenelemente im Message Mapping der Übung File-to-IDoc

1440.book Seite 229 Montag, 10. August 2009 1:55 13

Page 52: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

230

Technische Einzelübungen4

Aufbau desIDoc-Typs

Sie sehen, dass die Benennung der Elemente im Datentyp DT_Material nicht von ungefähr kam: Einige weitere Felder der IDoc-Strukur werden mit Konstanten gefüllt, die nicht in der Materialein-gabemaske abgefragt wurden.

Besonders zu erwähnen sind die Felder BEGIN und SEGMENT sowie dieSegmente selbst, die die Erstellung des IDocs bzw. von dessen Seg-menten steuern. Während BEGIN ein bestimmter Wert zugeordnetwerden muss, genügt es, bei den SEGMENT-Feldern und den Segmen-ten selbst ein beliebiges Feld zuzuweisen, da darüber lediglich dieAnzahl der Segmente im IDoc bestimmt wird. Mit diesem Sachver-halt werden Sie sich später noch detaillierter auseinandersetzen.

Erwähnenswert sind zudem die Felder MSGFN in jedem Segment, die be-stimmen, welche Funktion mit den Daten im empfangenden Systembewirkt werden soll. Die Konstante 005 steht für Ändern bzw. Anlegen.

MTART E1MARAM

MBRSH E1MARAM

MATKL E1MARAM

MEINS E1MARAM

BRGEW E1MARAM

NTGEW E1MARAM

GEWEI E1MARAM

MTPOS_MARA E1MARAM

MT_Material E1MAKTM E1MARAM

MT_Material SEGMENT E1MARAM/E1MAKTM

Konstante: 005 MSGFN E1MARAM/E1MAKTM

MAKTX E1MARAM/E1MAKTM

Konstante: D SPRAS E1MARAM/E1MAKTM

Konstante: DE SPRAS_ISO E1MARAM/E1MAKTM

Datenelement vonMT_Material/Konstanten

Datenelement von MATMAS.MATMAS02

Segment von MATMAS.MATMAS02

Tabelle 4.6 Zuordnung der Datenelemente im Message Mapping der Übung File-to-IDoc (Forts.)

1440.book Seite 230 Montag, 10. August 2009 1:55 13

Page 53: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

231

Zweite Übung: File-to-IDoc 4.2

Wenn Sie den Aufbau des IDocs genau betrachten, stellen Sie fest,dass die Häufigkeit der meisten Segmente eine mehrfache Einbin-dung erlaubt. Die meisten IDocs sind für Massenverarbeitungengeeignet. So kann auch dieses IDoc dazu verwendet werden, mehrereMaterialstammdaten anzulegen. In dieser Übung wird es jedoch fürdas Anlegen eines einzelnen Materialstammsatzes benutzt. Sie findendie Dokumentation zu diesem und allen anderen IDoc-Typen inTransaktion WE60.

Deaktivierung von Feldern

Bei der Betrachtung der Tabelle mit der Elementzuordnung bemer-ken Sie, dass nur zwei der Segmente mit Daten versorgt werden.Damit die ungenutzten Segmente keine Fehler erzeugen, können siedeaktiviert werden. Öffnen Sie bei solch einem Segment das Kontext-menü, und wählen Sie die Funktion Disable field. Das Symbol vordem entsprechenden Segment ist nun durchgestrichen und für dasSegment wird nicht mehr überprüft, ob es mit Daten versorgt wurde.Deaktivieren Sie alle Segmente bis auf E1MARAM und dessen unterge-ordnetes Segment E1MAKTM.

Erstellen Sie nun anhand von Tabelle 4.6 das Message Mapping, undtesten Sie es. Ist es fehlerfrei durchgelaufen, können Sie es speichern.In Abbildung 4.31 sehen Sie, wie das Message Mapping aussieht,wobei auf der Arbeitsfläche die Belegung des BEGIN-Elementes mitder Konstanten dargestellt ist.

Abbildung 4.31 Message Mapping der Übung File-to-IDoc

1440.book Seite 231 Montag, 10. August 2009 1:55 13

Page 54: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

232

Technische Einzelübungen4

Anlegen desOperationMappings

Erstellen Sie nun auf der Basis dieses Service-Interface das OperationMapping OM_SI_Material_Async_Out_to_MATMAS_MATMAS02 über dasKontextmenü im entsprechenden Pfad. Verwenden Sie die beidenService-Interfaces SI_Material_Async_Out und MATMAS.MATMAS02,lesen Sie die Interfaces im unteren Bereich des Detailfensters ein, undweisen Sie das eben erstellte Message Mapping zu (siehe Abbildung4.32). Testen Sie auf dem Karteireiter Test schließlich das OperationMapping, und speichern Sie das Objekt.

Da dies das letzte neue Designobjekt für diese Übung war, sollten Sienun alle Änderungen auf dem Karteireiter Change Lists aktivieren,bevor Sie in das Integration Directory wechseln.

4.2.3 Konfiguration

Überblick über dieKonfigurations-

objekte

Wechseln Sie nun über das PI-Tools-Menü oder über die direkte URLin den Integration Builder. Sie haben bereits in der letzten Übung diegrundlegenden Elemente der Konfigurationsphase angelegt. Da aufder Konfigurationsebene kaum Überschneidungen zur ersten Übungbestehen, werden Sie alle notwendigen Objekte, auch Kommunikati-onskanäle, neu anlegen und beim Anlegen der Verbindungselementeden Konfigurationsassistenten4 kennenlernen, der Ihnen einigeArbeitsschritte abnimmt und so zu einer fehlerfreien Umsetzung bei-

Abbildung 4.32 Operation Mapping zur Übung File-to-IDoc

4 Diese Übung wurde auf Basis von Release PI 7.1 SP7 erstellt. In dieser Versionkann es vorkommen, dass bei der Generierung der Konfigurationsobjekte durchden Konfigurationsassistenten nicht alle Objekte erstellt werden. Fehlende Ob-jekte müssen, wie in Abschnitt 4.1.3, »Konfiguration«, beschrieben, nachträglicherstellt werden. Zudem kann es sein, dass die Wertehilfe innerhalb des Assisten-ten nicht die richtigen Elemente anzeigt. Geben Sie in solch einem Fall die Datendes Objektes ein.

1440.book Seite 232 Montag, 10. August 2009 1:55 13

Page 55: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

233

Zweite Übung: File-to-IDoc 4.2

trägt. Eine Übersicht aller Konfigurationsobjekte in dieser Übung fin-den Sie in Tabelle 4.7.

Einrichtung der Kommunikationskanäle

Anlegen des Datei-Senderkanals

Um den sendenden Kommunikationskanal des File-Adapters einzu-richten, öffnen Sie den Erstellungsdialog über das Kontextmenü desObjektes Communication Channel. Der neue Kommunikationska-nal soll den Namen File_SenderChannel_## tragen. Als Kommunika-tionskomponente tragen Sie System A ein. Pflegen Sie zudem eineBeschreibung ein, und legen Sie das neue Objekt an.

Wählen Sie im Detailfenster (siehe Abbildung 4.33) den AdaptertypFile aus, und stellen Sie sicher, dass die Richtung Sender ausgewähltist. Das Transport Protocol wird aufgrund des Zugriffs auf ein loka-les Verzeichnis vom Typ File System (NFS) sein. Als Message Proto-

col sorgt die Einstellung File dafür, dass die Datei ohne Umwand-lung eingelesen wird. Die Adapter Engine ist die zentrale AdapterEngine im Integration Server.

Wählen Sie im Feld Source Directory die Einstellung, die Sie auchfür den Empfängerkanal in der Übung RFC-to-File (siehe Abschnitt4.1.3, »Konfiguration«) verwendet haben. Wenn Sie den Empfehlun-gen gefolgt sind, ist dies /tmp für UNIX oder C:\temp für Windows.Der Dateiname soll pi_output_##.dat lauten, wobei ## für die Teil-nehmernummer steht.

Art des Objektes Senderseite: System A Empfängerseite: System B

Kommunikations-kanal

File_SenderChannel_##

IDOC_ReceiverChannel

Sender-vereinbarung

|SystemA|SI_Material_Async_Out||

Empfänger-vereinbarung

|SystemA||SystemB|MATMAS.MATMAS02

Empfänger-ermittlung

|SystemA|SI_Material_Async_Out

Interface-Ermittlung

|SystemA|SI_Material_Async_Out||SystemB

Tabelle 4.7 Elemente im Integration Directory für die Übung File-to-IDoc

1440.book Seite 233 Montag, 10. August 2009 1:55 13

Page 56: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

234

Technische Einzelübungen4

Auf dem Karteireiter Processing können Sie den Quality of Service

bei Exactly Once belassen. Stellen Sie das Poll Interval (secs) ambesten auf einen Wert zwischen drei und zehn Minuten ein, da diessonst zu einer unnötig hohen Belastung des Integration Servers füh-ren kann. Das Retry Interval gibt an, in welchen Abständen derAdapter im Dateisystem nach neuen Dateien sucht. Dieser Wert istjedoch für diese Übung nicht relevant. Der Processing Mode desKommunikationskanals kann abhängig von Ihren Rechten aufBetriebssystemebene verschiedene Ausprägungen annehmen.

Eine Option ist die Archiving, die zum Verschieben der Datei ineinen anderen Ordner führt. Alternativ kann die Datei gelöscht oderim Testbetrieb unverändert belassen werden, was zu einer fortlau-fend wiederholten Versendung des Datensatzes führt. Verwenden Siedie Archivierung mit der Vergabe eines Zeitstempels, wenn Sie einenentsprechenden Ordner zur Verfügung haben. Die Archivierung derDatei im Ursprungsverzeichnis ist nicht möglich. Ohne einen ent-sprechenden Ordner bietet sich das Löschen der Datei an. Die Verar-beitungsreihenfolge kann frei gewählt werden, während Sie den File

Type auf Binary stellen sollten.

Anlegen des IDoc-Empfängerkanals

Der empfangende Kommunikationskanal für IDocs wird – wie in denGrundlagen zu dieser Übung beschrieben – nur einmal angelegt, daes keine Unterscheidungsmöglichkeit für verschiedene Teilnehmergibt.5

Abbildung 4.33 Einrichtung des Datei-Senderkanals für System A

5 Das Anlegen des IDoc-Kommunikationskanals kann somit nur einmal durch denDozenten durchgeführt werden.

1440.book Seite 234 Montag, 10. August 2009 1:55 13

Page 57: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

235

Zweite Übung: File-to-IDoc 4.2

Erstellen Sie über das Kontextmenü des Objektes Communication

Channel den Kommunikationskanal IDoc_ReceiverChannel, undpflegen Sie die Beschreibung ein. Wählen Sie den Adaptertyp IDoc

aus, und stellen Sie die Richtung Receiver ein. Die drei folgenden Fel-der bieten im Normalfall keine Wahlmöglichkeit, sodass Sie dieseübergehen können (siehe Abbildung 4.34).

Als RFC Destination wählen Sie die in den Vorbereitungen zu denÜbungen erstellte Verbindung SystemB_IDoc. Die Segmentversiondient der Anbindung älterer SAP-Systeme und kann genutzt werden,um nur Segmente zu versenden, die es bereits zu einem bestimmtenR/3-Release gab. Das Feld Interface Version verfolgt den gleichenZweck, wobei es sich auf die gesamte Interface-Definition bezieht.Wählen Sie für dieses Pflichtfeld die Option SAP Release 4.0 or hig-

her. Geben Sie den Port für System B an, der nach dem SchemaSAP<SIDB> in den Vorbereitungen angelegt wurde; dabei steht SIDBfür die System-ID von System B. Im Feld SAP Release tragen Sie dasRelease des empfangenden SAP-Systems ein. Im Falle eines SAP ECC6.0-Systems lautet der Eintrag somit 700. Speichern Sie das Objekt,und aktivieren Sie die beiden neuen Kommunikationskanäle.

Kontrolle des File-Adapters

Um sicher zu gehen, dass der Dateikommunikationskanal korrektkonfiguriert wurde, können Sie den Adapter im Komponenten-Moni-toring betrachten. Öffnen Sie dazu die Runtime Workbench, und las-sen Sie sich im Component Monitoring alle Komponenten anzei-gen. Klicken Sie in der erscheinenden Auflistung die Adapter Engine

Abbildung 4.34 IDoc-Empfängerkanal für System B

1440.book Seite 235 Montag, 10. August 2009 1:55 13

Page 58: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

236

Technische Einzelübungen4

an. Unterhalb der Auflistung taucht ein neuer Bereich auf, in dem Sieauf der rechten Seite den Button Adapter-Monitoring finden. Wäh-len Sie danach den Adapter-Typ File aus, und prüfen Sie den Status.

Sie sollten eine grüne Anzeige erhalten, wenn bisher keine Fehleraufgetreten sind. Im Fehlerfall finden Sie eine detaillierte Beschrei-bung zum Fehlerstatus. Manche Fehler treten erst bei der Verarbei-tung von Dateien auf, sodass Sie bei Problemen im späteren Ablaufdas Adapter-Monitoring nochmals aufsuchen sollten.

Anlegen der Verbindungselemente

Aufruf desKonfigurations-

assistenten

Die Verbindung zwischen den beiden Kommunikationskanälen bzw.zwischen dem Sender- und dem Empfänger-Interface werden Sie indieser Übung mithilfe des Konfigurationsassistenten anlegen. Sie star-ten den Wizard über den Menüpfad Tools � Configuration Wizard

oder über das betreffende Icon in der Symbolleiste des IntegrationDirectory. Der Assistent wird mit Ihnen Schritt für Schritt alle Datenfür die Konfiguration sammeln und anschließend die entsprechendenObjekte anlegen. Sie können in der Fortschrittsanzeige auf der linkenSeite des Assistenten anhand der orangefarbenen Markierung sehen,an welcher Stelle im Konfigurationsprozess Sie sich befinden.

Bestimmung derKommuni-kationsart

Beim ersten Schritt haben Sie die Auswahl, die interne oder Partner-kommunikation zu konfigurieren. Interne Kommunikation zeichnetsich dadurch aus, dass sie vollständig innerhalb der eigenen Unter-nehmenslandschaft abläuft, während die Partnerkommunikation teil-weise oder ganz mit externen Geschäftspartnern besteht. Für diesesSzenario wählen Sie die Internal Communication.

Einstellung derSenderparameter

Im nächsten Bildschirm (siehe Abbildung 4.35) haben Sie die Mög-lichkeit, die Werte der sendenden Seite anzugeben. Bevor Sie andereWerte eingeben, sollten Sie den sendenden Adapter Type auswählen;bei dieser Übung ist es der File-Adapter. Wählen Sie danach das Busi-ness-System A als Service aus. Im Feld Interface geben Sie das Inter-face SI_Material_Async_Out an. Beachten Sie bei der Auswahl überdie Wertehilfe, dass es in manchen Fällen notwendig ist, die Suchkri-terien zu löschen und die Suche neu zu starten, um ein bestimmtesInterface zu finden. Haben Sie für die Interface-Eingabe die Werte-hilfe verwendet, wird der Namensraum automatisch ausgefüllt, ande-renfalls geben Sie Ihren Namensraum http://www.sap-press.com/pi/training/## an.

1440.book Seite 236 Montag, 10. August 2009 1:55 13

Page 59: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

237

Zweite Übung: File-to-IDoc 4.2

Einstellung der Empfänger-parameter

Wenn Sie zum nächsten Schritt weitergehen, sehen Sie nun eine gleicheEingabemaske für die Empfängerseite (siehe Abbildung 4.36). WählenSie auch hier zunächst den Adaptertyp (IDoc) aus. Geben Sie das Busi-ness-System B und das Interface MATMAS-MATMAS02 an. Durch die Wahldes Adaptertyps IDoc ist der Namensraum bereits vorgegeben.

Abbildung 4.35 Konfigurationsassistent – Angaben zum Sender der Übung File-to-IDoc

Abbildung 4.36 Konfigurationsassistent – Angaben zum Empfänger der Übung File-to-IDoc

1440.book Seite 237 Montag, 10. August 2009 1:55 13

Page 60: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

238

Technische Einzelübungen4

Bestimmung desSenderkanals

In der nächsten Eingabemaske wird der Kommunikationskanal aufder sendenden Seite abgefragt, um die Sendervereinbarung|SystemA|SI_Material_Async_Out|| automatisch anlegen zu kön-nen. Geben Sie Ihren sendenden Dateikommunikationskanal File_SenderChannel_## des Systems A an.

Anlegen derEmpfänger-ermittlung

Der folgende Schritt dient der Erstellung der Empfängerermittlung|SystemA|SI_Material_Async_Out. Dabei wird zunächst geprüft, obzu dem sendenden Interface des entsprechenden Systems bereits eineEmpfängerermittlung besteht. Wenn ein solches Objekt besteht, wirdes erweitert, anderenfalls wird ein neues Objekt erstellt, was keiner-lei Eingaben erfordert. Da in diesem Übungsszenario noch keine pas-sende Empfängerermittlung bestehen sollte, hat dieser Schritt nurinformativen Charakter.

Anlegen derInterface-

Ermittlung

Auch der nächste Schritt zur Erstellung der Interface-Ermittlung|SystemA|SI_Material_Async_Out||SystemB dient mehr der Infor-mation bzw. der Kontrolle (siehe Abbildung 4.37). Stellen Sie sicher,dass das Interface MATMAS.MATMAS02 ausgewählt wurde und auch dasOperation Mapping OM_SI_Material_Async_Out_to_MATMAS_MATMAS02angezeigt wird. Sollte das Mapping nicht angezeigt werden, ist diesmeistens ein Zeichen dafür, dass es nicht erstellt oder zumindest nochnicht aktiviert wurde.

Abbildung 4.37 Konfigurationsassistent – Angaben zur Interface-Ermittlung der Übung File-to-IDoc

1440.book Seite 238 Montag, 10. August 2009 1:55 13

Page 61: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

239

Zweite Übung: File-to-IDoc 4.2

Anlegen der Empfänger-vereinbarung

Das letzte Objekt, das für dieses Szenario geprüft wird, ist die Emp-fängervereinbarung |SystemA||SystemB|MATMAS.MATMAS02. Um diesezu erstellen, wird lediglich der empfangende KommunikationskanalIDoc_ReceiverChannel benötigt, der bereits eingetragen sein sollte.Fahren Sie mit dem letzten Schritt fort.

Nachdem Sie nun alle notwendigen Angaben gemacht haben, könnenSie die neuen Objekte direkt einem bestimmten Szenario zuweisen.Wählen Sie Ihr Szenario PI_Training_## aus, und klicken Sie auf denButton Finish. Die notwendigen Objekte werden nun angelegt bzw.wiederverwendete Objekte werden verändert. Nach der erfolgrei-chen Generierung erhalten Sie ein detailliertes Protokoll über dieaktualisierten und erstellten Objekte. Diesem können Sie entneh-men, ob alle Objekte angelegt worden sind. In Release 7.1 SP7 kannes vorkommen, dass nicht alle Objekte angelegt werden. FehlendeKonfigurationsobjekte müssen manuell, wie in Abschnitt 4.1.3, »Kon-figuration«, erstellt werden. Abschließend müssen Sie die Änderun-gen noch auf dem Karteireiter Change Lists aktivieren.

4.2.4 Ablauf und Monitoring

Kontrolledes Ablaufs

Der Ablauf des Integrationsszenarios dieser Übung wird durch dieErstellung der Datei pi_output_##.dat im Verzeichnis des sendendenFile-Adapters angestoßen. Für die Erstellung und Platzierung derDatei können Sie die Vorlage aus Anhang A verwenden. Die Dateisollte nach der Bearbeitung der ersten Übung jedoch bereits im ent-sprechenden Verzeichnis liegen. Dadurch kann es geschehen, dassdirekt nach dem Speichern des File-ReceiverChannel die Datei ein-gelesen, aber nicht verarbeitet werden konnte. Rufen Sie in diesemFall das zutreffende Programm Z_PROG_MATERIALINPUT_## aus derersten Übung nochmals auf, um eine neue Datei zu erstellen.

Je nachdem, welches Poll-Intervall im Kommunikationskanal einge-stellt wurde, wird die Datei nach einigen Minuten archiviert odergelöscht. Im Erfolgsfall können Sie kurze Zeit nach dem Verschwin-den der Datei in der Transaktion MM03 des Business-Systems A Ihrneues Material PI_BOOK-## betrachten. Wählen Sie im ersten Bild-schirm Ihr Material aus, und bestätigen Sie Ihre Eingabe über die(¢)-Taste. Selektieren Sie danach Basic Data 1 und Basic Data 2,und schauen Sie sich die Details an. Um die verwendete IDoc-Struk-

1440.book Seite 239 Montag, 10. August 2009 1:55 13

Page 62: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

240

Technische Einzelübungen4

tur klein zu halten, wurden nur diese beiden grundlegenden Viewsangelegt (siehe Abbildung 4.38).

Erweiterungs-möglichkeiten dergesendeten Daten

Sie haben jedoch mit zwei Hilfsmitteln die Möglichkeit, auch die wei-teren Ansichten zu erschließen: In Transaktion WE60 ist die Doku-mentation des gesamten IDoc-Typs mit allen Feldbezeichnungen hin-terlegt. Wenn Sie sich bereits mit dem Materialwesen im SAP-Systemauskennen und nun wissen möchten, welches Feld der Eingabemaskeeinem Feld im IDoc entspricht, können Sie dies in diesem Fall überdie F1-Hilfe bewerkstelligen. Öffnen Sie beispielsweise ein beliebigesMaterial mit Transaktion MM03, und markieren Sie ein Feld. Drü-cken Sie auf die (F1)-Taste, und klicken Sie in der Hilfe auf das IconTechnical Information. Im Bereich Field Data können Sie in denmeisten Fällen die genaue Feldbezeichnung ablesen, die der desIDocs entspricht.

Überprüfung derDateiverarbeitung

Für den Fall, dass das Material nach einiger Zeit noch nicht in SystemB angelegt wurde, werden Sie sich nun auf die Fehlersuche begeben.Die erste mögliche Fehlerursache ist der File-Adapter, der beispiels-weise die Datei nicht einliest und archiviert. Überprüfen Sie im Com-

ponent Monitoring der Runtime Workbench nochmals den Statusdes entsprechenden Adapters. Manche Fehler werden bei der erstenVerarbeitung einer Nachricht erst sichtbar.

Der nächste Ansatzpunkt ist das Message Monitoring des PI-Systems.Sie können es über Transaktion SXMB_MONI oder das MessageMonitoring in der Runtime Workbench erreichen. Dort können Siesehen, ob die Nachricht das PI-System erreicht hat, und analysieren,

Abbildung 4.38 Einstieg in Anzeige des Materials PI_BOOK-##

1440.book Seite 240 Montag, 10. August 2009 1:55 13

Page 63: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

241

Zweite Übung: File-to-IDoc 4.2

ob ein inhaltlicher Fehler bei einem Objekt des Integration Builderaufgetreten ist. Sehen Sie jedoch eine grüne Flagge bei Ihrer Nach-richt, wurde sie erfolgreich an System B weitergeleitet.

Dort können Sie in Transaktion SM58, dem Monitoring für transak-tionale RFC-Aufrufe, kontrollieren, ob es Probleme bei der techni-schen Zustellung gab. Ein möglicher Fehler könnte beispielsweiseeine fehlende oder falsche Partnervereinbarung sein, die bei den Vor-bereitungen des Übungsteils erstellt wurde.

Überprüfung des IDoc-Eingangs

Wurde bis zu diesem Schritt der Fehler noch nicht ausfindig gemacht,ist das IDoc zugestellt, jedoch nicht verarbeitet worden, das heißt dasMaterial wurde nicht automatisch nach Datenerhalt angelegt. Umdies zu überprüfen, starten Sie in System B die Transaktion BD87 undklicken ohne Änderung der Auswahlkriterien auf das Icon Execute.Sie erhalten dadurch eine Auflistung aller IDocs, die an dem aktuellenTag verarbeitet wurden, wobei nach verschiedenen Status unterschie-den wird (siehe Abbildung 4.39).

Navigation im Statusmonitor für ALE-Nachrichten

Um die genaue Fehlerursache einer Nachrichtenverarbeitung zuermitteln, klicken Sie auf die entsprechende Kategorie, zum BeispielApplication document posted, die Selektion wird auf die Nachrich-ten dieser Kategorie beschränkt. Da in System B bei der Verarbeitungvon IDocs lediglich nach der Bezeichnung des logischen Systemsunterschieden wird, können die zugestellten Nachrichten an dieserStelle nicht nach Teilnehmern differenziert werden.

Klicken Sie eine der Nachrichten in der Auflistung doppelt an, öffnensich die Detaildaten dazu. Erweitern Sie auf der linken Seite das Ver-

Abbildung 4.39 Statusmonitor für ALE-Nachrichten

1440.book Seite 241 Montag, 10. August 2009 1:55 13

Page 64: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

242

Technische Einzelübungen4

zeichnis Status Records und die darunterliegenden Nummern. Jededieser Nummern steht für eine bestimmte Meldung. Sie werden zudieser Übung selbst bei erfolgreich verarbeiteten Nachrichten Mel-dungen finden.

Wenn Sie auf eine dieser Nummern doppelt klicken, öffnet sich dieStatussatzanzeige. Um nun endgültig zu sprechenden Fehlermeldun-gen zu gelangen, wählen Sie in der Menüleiste die Option Goto �

Application Log oder klicken den zugehörigen Button an. Sie sehennun Warnungen und Fehlermeldungen, die bei der Verarbeitung derentsprechenden Nachricht aufgetreten sind, und können analysieren,ob Sie eventuell ein Feld vergessen oder falsch mit Daten gefüllthaben (siehe Abbildung 4.40). Bei der Verarbeitung des IDoc, werdendessen Felder genauso geprüft wie bei Online-Eingaben in den jewei-ligen Transaktionen.

4.3 Dritte Übung: ABAP-Proxy-to-SOAP

Ablauf derdritten Übung

In der zweiten Übung haben Sie die Daten, die Sie in der erstenÜbung als Datei abgelegt haben, mithilfe eines IDocs in das Business-System B eingespielt. Darüber hinaus konnten Sie sich auch davon

Abbildung 4.40 Application Log einer IDoc-Nachricht

1440.book Seite 242 Montag, 10. August 2009 1:55 13

Page 65: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

243

Dritte Übung: ABAP-Proxy-to-SOAP 4.3

überzeugen, dass der Materialstammsatz ordnungsgemäß angelegtwurde. Jedoch ist es im praktischen Einsatz nicht selbstverständlich,dass Sie sowohl zum sendenden als auch zum empfangenden SystemZugang haben.

Aus diesem Grund werden Sie in dieser dritten Übung ein Integrati-onsszenario umsetzen, das Ihnen die Kontrolle der erfolgreichenMaterialerstellung aus System A heraus ermöglicht. Sie werden dabeiin System A einen ABAP-Proxy erstellen und ihn synchron aufrufen.Die Anfrage wird daraufhin an einen Webservice in System B weiter-geleitet und die Antwort kurze Zeit später zurückgegeben. Das PI-Sys-tem wird dabei als Vermittler zwischen den verschiedenen Adapter-und Datenformaten fungieren.

Das Schema dieser Übung für die synchrone Kommunikation sehenSie in Abbildung 4.41.

4.3.1 Grundlagen

Herkunft des Webservice

Der Webservice, der über den SOAP-Adapter angesprochen wird,basiert auf dem BAPI BAPI_MATERIAL_EXISTENCECHECK, das von Sys-tem B bereitgestellt wird. Ab der technischen Basis 6.20 ist es ohneweitere Einstellungen möglich, remotefähige Funktionsbausteine alsWebservice anzusprechen. Ebenso wie für den Import von RFC- undIDoc-Schnittstellen besteht auch für solche Webservices die Möglich-keit, WSDL-Beschreibungen aus dem SAP-System zu exportieren undim PI-System zu nutzen.

Webservice Repository

Um die WSDL-Beschreibung für das entsprechende BAPI zu bezie-hen, nutzen Sie einen Service, den Sie über das URL-Schema http://<Host_SystemB>:<Port 80XX>/sap/bc/bsp/sap/webservicebrowser/search.html?sap-client=<Mandant> erreichen können. Dabei steht XXin der Portnummer für die Instanznummer des betreffenden Servers.

Abbildung 4.41 Schema der dritten Übung – ABAP-Proxy-to-SOAP

PI-System

System ASOAP-

Adapter System B

ABAP-Proxy

1440.book Seite 243 Montag, 10. August 2009 1:55 13

Page 66: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

244

Technische Einzelübungen4

Die Angaben zu Host und Port erhalten Sie in Transaktion SMICMüber den Menüpfad Goto � Services.

Öffnen Sie die jeweilige URL im Webbrowser, und melden Sie sichmit Ihrem Benutzer SYS_B-## an. Geben Sie im Suchfeld den Namendes BAPI BAPI_MATERIAL_EXISTENCECHECK an, und bestätigen Sie IhreEingabe mit (¢). In der Trefferanzeige erscheint das BAPI mit zweiLinks auf der rechten Seite (siehe Abbildung 4.42).

Das Fragezeichen (?) öffnet die Dokumentation zum Funktionsbau-stein, sofern sie vorhanden ist. Die Bezeichnung wsdl öffnet dieWSDL-Beschreibung zu diesem Funktionsbaustein in einem geson-derten Fenster. Da beispielsweise der Microsoft Internet ExplorerWSDL-Beschreibungen automatisch mit Funktionen zum Kompri-mieren und Expandieren einzelner Abschnitte versieht, ist es not-wendig, den Quelltext der Anzeige zu speichern. Sie können diesüber den Menüpfad Ansicht � Quelltext erreichen. Speichern Siedas Dokument als BAPI_MATERIAL_EXISTENCECHECK_SystemB.wsdlauf Ihrem lokalen Rechner ab. Sie werden es in der Designphase indas PI-System importieren.

Die aufrufende ABAP-Proxy-Klasse wird auf der Basis eines im Enter-prise Services Repository bestehenden Service-Interface erstellt. Dadie ein- und ausgehenden Datenformate mit dem des Webserviceübereinstimmen, werden Sie die importierte WSDL-Definition auchals Daten- und Message-Typ des Outbound-Service-Interface nutzen.

Abbildung 4.42 Webservice Repository

1440.book Seite 244 Montag, 10. August 2009 1:55 13

Page 67: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

245

Dritte Übung: ABAP-Proxy-to-SOAP 4.3

4.3.2 Design

Überblick über die Designobjekte

Im Gegensatz zu den bisherigen Übungen sehen Sie sich nun Ihremersten synchronen Szenario gegenüber. Dies bedeutet, dass Sie nichtnur die Designobjekte für den Hin-, sondern auch für den Rückwegeiner Nachricht gestalten müssen. In dieser Hinsicht gestaltet sichdieses Beispiel einfach, da Sie durch die Verwendung der bestehen-den WSDL-Schnittstelle keinerlei Daten- oder Message-Typen anle-gen müssen. In anderen Fällen kann ein synchrones Szenario mitdem Anlegen von bis zu vier verschiedenen Daten- und zugehörigenMessage-Typen verbunden sein. Während das Message Mapping fürHin- und Rückweg jeweils gesondert angelegt wird, wird für beideWege dasselbe Operation Mapping verwendet. Die Objekte, die fürdiese Übung neu erstellt werden müssen, finden Sie in Tabelle 4.8.

Anlegen der Interface-Objekte

Import der WSDL-Beschreibung

Wechseln Sie zunächst in das Kontextmenü des Pfades Interface

Objects � External Definitions in Ihrem Namensraum. Legen Sie dieexterne Definition ws_bapi_material_existencecheck an, die dieWSDL-Beschreibung des Webservice auf System B beinhalten wird.Achten Sie darauf, dass im Detailfenster die Kategorie wsdl ausge-wählt ist, und klicken Sie darunter neben dem Feld File auf das IconClick here to import external definitions. Wählen Sie die DateiBAPI_MATERIAL_EXISTENCECHECK_SystemB.wsdl auf Ihrem lokalen

Art des Objektes Senderseite Empfängerseite

Service-Interface SI_ABAP_PROXY_MAT_EPIST_##__Sync_Out

SI_ws_bapi_material_existencecheck_Sync_In

Message-Typ ws_bapi_material_existencecheck

Datentyp

Operation Mapping

OM_ABAP_PROXY_MAT_EPIST_##_to_ws_bapi_material_existencecheck

Message Mapping (Hinweg)

MM_ABAP_PROXY_MAT_EPIST_##_to_ws_bapi_material_existencecheck

Message Mapping (Rückweg)

MM_ws_bapi_material_existencecheck_to_ABAP_PROXY_MAT_EPIST_##

Tabelle 4.8 Elemente im Enterprise Services Repository für die Übung ABAP-Proxy-to-SOAP

1440.book Seite 245 Montag, 10. August 2009 1:55 13

Page 68: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

246

Technische Einzelübungen4

Rechner aus, die Sie aus dem Webservice Repository übernommenhaben (siehe Abbildung 4.43).

Nach dem Import können Sie auf dem Karteireiter Imported Docu-

ment den Inhalt der Datei sehen. Wählen Sie den Karteireiter Mes-

sages, um die beiden Message-Typen zu sehen, die durch den Importentstanden sind. Basierend auf dem entsprechenden Funktionsbau-stein, beinhaltet der Webservice somit die Definition für die Ein-gangs- und Ausgangsnachricht. Sie können zudem anhand derBezeichnung der Messages den Bezug zu dem jeweiligen BAPI erken-nen.

Erstellung dessynchronen

Inbound-Interface

Der Import der externen Definition wird nur als Message-Typ mitintegriertem Datentyp behandelt. Dies führt dazu, dass das Service-Interface für die empfangende Seite manuell angelegt werden muss.Öffnen Sie dazu über das Kontextmenü den Erstellungsdialog im PfadInterface Objects � Service Interfaces, und richten Sie das Service-Interface SI_ws_bapi_material_existencecheck_Sync_In ein.

Auch wenn der Webservice durch seinen synchronen Charaktersowohl eingehende als auch ausgehende Nachrichten verarbeitet, ister in diesem Szenario in erster Linie als Inbound-Interface im Einsatz.Stellen Sie dementsprechend die Kategorie Inbound und den ModusSynchronous ein. Durch diese Kombination erhalten Sie die Mög-lichkeit, sowohl eine Input- als auch eine Output-Message anzuge-ben. Sie können bei der Auswahl eines Message-Typs aus einem

Abbildung 4.43 Import der externen Definition für die Übung ABAP-Proxy-to-SOAP

1440.book Seite 246 Montag, 10. August 2009 1:55 13

Page 69: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

247

Dritte Übung: ABAP-Proxy-to-SOAP 4.3

Webservice nicht die Methode Drag & Drop verwenden, weshalb essich hier anbietet, die Wertehilfe zu benutzen. Wählen Sie unterhalbder neu erstellten externen Definition den Message-Typ BAPI_MATERIAL_EXISTENCECHECKInput für die Request Message und dasentsprechende Gegenstück für die Response Message aus (sieheAbbildung 4.44). Speichern Sie das Service-Interface.

Erstellung des Service-Interface für den ABAP-Proxy

Nachdem nun die Interface-Objekte der Empfängerseite erstellt sind,bedarf die Senderseite auch eines Service-Interface. Der Daten- sowieder Message-Typ basieren auf der importierten WSDL-Beschreibung.Öffnen Sie den Erstellungsdialog für Service-Interfaces, und legen Siedas Interface SI_ABAP_PROXY_MAT_EXIST_##_Sync_Out an. Die bein-haltete Teilnehmernummer ist im Integration Builder zwar nicht not-wendig, jedoch müssen die später erstellten ABAP-Klassen voneinan-der unterschieden werden.

Das neue Interface gehört der Kategorie Outbound und dem ModusSynchronous an. Als Request Message wählen Sie aus der externenDefinition ws_bapi_material_existencecheck den Message-TypBAPI_MATERIAL_EXISTENCECHECKInput aus, die Response Message istvom Typ BAPI_MATERIAL_EXISTENCECHECKOutput aus der gleichenexternen Definition (siehe Abbildung 4.45). Speichern Sie das Inter-face, und aktivieren Sie alle Interface-Objekte.

Abbildung 4.44 Erstellung des Service-Interface für den Webservice der Übung ABAP-Proxy-to-SOAP

1440.book Seite 247 Montag, 10. August 2009 1:55 13

Page 70: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

248

Technische Einzelübungen4

Anlegen der Mapping-Objekte

Erstellung desMessage

Mappings für denHinweg

Entgegen der bisherigen Benennung von Mapping-Objekten werdenan dieser Stelle die Message Mappings nicht strikt nach ihren Mes-sage-Typen benannt. Dies liegt daran, dass sowohl auf der sendendenals auch auf der empfangenden Seite die gleichen Message-Typen ver-wendet werden und eine herkömmliche Bezeichnung nicht spre-chend wäre.

Erstellen Sie aus diesem Grund das Message Mapping MM_ABAP_PROXY_MAT_EXIST_##_to_ws_bapi_material_existencecheck im Ver-zeichnis Mapping Objects � Message Mappings. Es dient als Map-ping für den Hinweg vom ABAP-Proxy zum Webservice. Wählen Sieals Ausgangs-Message den Typ BAPI_MATERIAL_EXISTENCECHECKInputaus der externen Definition ws_bapi_material_existencecheck aus,die Sie im Verzeichnis External Definitions finden können. DieZiel-Message ist vom gleichen Typ. Das Mapping des Hinweges fälltsehr einfach aus, zumal nur die beiden Felder MATERIAL miteinanderverbunden werden müssen (siehe Abbildung 4.46). Testen und spei-chern Sie das Message Mapping.

Abbildung 4.45 Erstellung des Service-Interface für den ABAP-Proxy der Übung ABAP-Proxy-to-SOAP

1440.book Seite 248 Montag, 10. August 2009 1:55 13

Page 71: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

249

Dritte Übung: ABAP-Proxy-to-SOAP 4.3

Erstellung des Message Mappings für den Rückweg

Das Message Mapping MM_ws_bapi_material_existencecheck_to_ABAP_PROXY_MAT_EXIST_## für den Rückweg der Nachricht wird nachdem gleichen Muster angelegt. Dabei ist die Ausgangs- sowie die Ein-gangs-Message jedoch BAPI_MATERIAL_EXISTENCECHECKOutput. DasMapping lässt sich daher mit einem Klick auf das Icon Map selected

fields and substructures if names are identical schnell realisieren.

Erweiterung des Message Mappings um eine benutzerdefinierte Funktion

Dieses einfache Mapping soll dazu genutzt werden, erste Schritte inden Bereich der benutzerdefinierten Mapping-Programme zu machen.Sie werden zu diesem Zweck eine benutzerdefinierte Funktion inner-halb des grafischen Mappings anlegen. Das Ziel der Funktion ist es,abhängig vom Inhalt eines Elementes ein anderes mit einem bestimm-ten Inhalt zu füllen. Die Funktion entspricht somit einer IF-Konstruk-tion, die prinzipiell auch mit einer der vorgegebenen Funktionen rea-lisiert werden könnte. Wird durch den Webservice festgestellt, dassdas geprüfte Material vorhanden ist, wird ein Returncode zurückge-liefert, jedoch keine sprechende Nachricht. Im Fehlerfall wird hinge-gen eine genaue Fehlerbeschreibung zurückgeliefert. Die Angleichungzwischen Erfolgs- und Fehlerfall soll durch die neue Funktion erreichtwerden.

Eines der betroffenen Elemente ist MESSAGE, das mit einer Beschrei-bung versehen werden soll. Das steuernde Element ist NUMBER, das imErfolgsfall den Wert 000 enthält.

Anlegen einer benutzerde-finierten Funktion

Zum Anlegen dieser benutzerdefinierten Funktion klicken Siezunächst doppelt auf das Zielelement MESSAGE und fügen zur erschei-nenden Arbeitsfläche das Ausgangsfeld NUMBER hinzu. Klicken Sie imlinken unteren Bereich der Arbeitsfläche auf das Icon Create func-

Abbildung 4.46 Erstellung des Message Mappings für den Hinweg der Übung ABAP-Proxy-to-SOAP

1440.book Seite 249 Montag, 10. August 2009 1:55 13

Page 72: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

250

Technische Einzelübungen4

tion, um eine benutzerdefinierte Java-Funktion zu erstellen. NennenSie die Funktion »Successmessage«, und pflegen Sie eine Beschrei-bung ein (siehe Abbildung 4.47).

Da es sich um eine simple Funktion handelt, reicht es aus, nur dieWerte (Value) in den Cache zu laden. Erstellen Sie in der Auflistungder Argumente über das entsprechende Icon ein weiteres Argumentb, das ebenso wie das Argument b vom Typ String ist. Die Argu-mente stellen die Übergabeparameter an die Funktion dar.

Aufbau desQuellcodes

Sie haben nun die Möglichkeit, eine Java-Funktion zu erstellen, diejedoch nur innerhalb dieses Mappings gültig ist. Dieses Vorgehen istnicht zu verwechseln mit dem Deployment von Java-Klassen, was alsJava-Mapping verstanden und in Abschnitt 4.5.5, »Alternatives Java-Mapping (optional)«, anhand eines Beispiels behandelt wird.

Sie arbeiten nach wie vor im grafischen Mapping von SAP NetWeaverPI. Im unteren Bereich der Arbeitsfläche ist die Auswahl der Funkti-onen auf den Bereich User Defined gesprungen, und Sie können Ihreneue Funktion als Auswahlmöglichkeit sehen. Das neu erschieneneFenster stellt einen kleinen Java-Editor dar, der bereits einige Vorga-ben enthält. Fügen Sie den Quellcode aus Listing 4.2 in den Imple-mentierungsteil der Funktion ein (siehe Abbildung 4.48). Sie müssenkeine weiteren Klassen importieren, da die wichtigsten Klassenbereits automatisch importiert werden.

Abbildung 4.47 Erstellung der benutzerdefinierten Funktion für die Übung ABAP-Proxy-to-SOAP

1440.book Seite 250 Montag, 10. August 2009 1:55 13

Page 73: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

251

Dritte Übung: ABAP-Proxy-to-SOAP 4.3

if (a.equals ("000"))return "Material is available";

else return b;

Listing 4.2 Quellcode der benutzerdefinierten Funktion des Message Mappings

Einbindung der benutzerde-finierten Funktion

Speichern Sie Ihre neue Funktion, und fügen Sie diese mit einemKlick auf den Funktionsnamen zwischen die bereits bestehendenRechtecke NUMBER und MESSAGE (Quelle) sowie MESSAGE (Ziel) ein. Zie-hen Sie die Verbindungen zwischen den drei Objekten so, dassNUMBER mit dem oberen weißen Feld der Funktion auf der linken Seiteverbunden ist. Das obere Eingabefeld der Funktion wird automatischdem Argument a zugewiesen. Verbinden Sie MESSAGE (Quelle) mitdem zweiten weißen Feld auf der linken Seite, und weisen Sie dasErgebnis der Funktion dem Zielfeld zu (siehe Abbildung 4.49).

Speichern Sie das gesamte Mapping, und testen Sie es. VerwendenSie dabei einmal den Wert 000 für NUMBER und einen anderen Wertsamt einer beliebigen Message-Eingabe zum Testen. Für den Fall,dass NUMBER gleich 000 ist, sollte die in der Funktion hinterlegte Nach-richt im Feld MESSAGE erscheinen.

Abbildung 4.48 Benutzerdefinierte Funktion für die Übung ABAP-Proxy-to-SOAP

Abbildung 4.49 Einbindung der benutzerdefinierten Funktion zur Übung ABAP-Proxy-to-SOAP

1440.book Seite 251 Montag, 10. August 2009 1:55 13

Page 74: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

252

Technische Einzelübungen4

Erstellung dessynchronenOperationMappings

Die beiden Message Mappings für den Hin- und den Rückweg desAustausches müssen nun in das Operation Mapping OM_ABAP_PROXY_MAT_EXIST_##_to_ws_bapi_material_existencecheck eingebettetwerden. Öffnen Sie den Erstellungsdialog für das neue OperationMapping, und pflegen Sie den Namen und eine passende Beschrei-bung ein.

Das Detailfenster lässt bisher noch keine Änderung im Vergleich zueiner asynchronen Kommunikation erkennen. Wählen Sie für dasAusgangs-Interface die Schnittstelle SI_ABAP_PROXY_MAT_EXIST_##__Sync_Out über die Wertehilfe aus. Das Ziel-Interface ist das Service-Interface SI_ws_bapi_material_existencecheck_Sync_In. KlickenSie nun im unteren Bereich des Detailfensters auf den Button Read

Interfaces, und achten Sie dabei auf die Bezeichnung Request dar-unter. Aus der einfachen Bezeichnung werden nun zwei Karteireiter,die für die Konfiguration des Hin- und des Rückweges verwendetwerden können (siehe Abbildung 4.50).

Klicken Sie zunächst auf dem Karteireiter Request in das Feld Name

in der Auflistung der Mapping-Programme, und wählen Sie über dieWertehilfe Ihr Mapping aus. Klicken Sie nun auf den KarteireiterResponse, und wiederholen Sie den Schritt. In beiden Fällen solltedie Wertehilfe jeweils nur einen Eintrag anzeigen. Speichern Sie dasOperation Mapping, und aktivieren Sie alle Mapping-Objekte dieserÜbung.

Abbildung 4.50 Operation Mapping für die Übung ABAP-Proxy-to-SOAP

1440.book Seite 252 Montag, 10. August 2009 1:55 13

Page 75: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

253

Dritte Übung: ABAP-Proxy-to-SOAP 4.3

Generierung des ABAP-Proxys

Bereitstellung eines ABAP-Paketes

Das im Enterprise Services Repository erstellte Service-Interface SI_ABAP_PROXY_MAT_EXIST_##_Sync_Out stellt die Grundlage der Proxy-Generierung dar. Dabei wird eine ABAP-Klasse automatisch angelegt,die die Kommunikation über dieses Interface aus einem ABAP-Pro-gramm heraus ermöglicht. Im Gegensatz zu remotefähigen Funkti-onsbausteinen wird jedoch kein Adapter verwendet. Der Datenaus-tausch erfolgt zwischen lokaler und zentraler Integration Engine imPI-Format.

Für die weiteren Schritte benötigen Sie in System A Entwicklerrechtesowie ein Paket Z_PI_TRAINING und einen entsprechenden Transport-auftrag. Das Paket können Sie mit Transaktion SE80 anlegen. Falls Siebereits in der ersten Übung (siehe Abschnitt 4.1, »Erste Übung: RFC-to-File«) die Entwicklung der RFC-Bausteine selbst vorgenommenoder den passenden Transport von der Webseite zu diesem Buch(http://www.sap-press.de/2159) heruntergeladen haben, können Siedas passende Paket verwenden.

Generierung einer Proxy-Klasse

Melden Sie sich an System A mit dem Benutzer SYS_A-## an, undrufen Sie die Transaktion SPROXY auf. Der Aufbau dieses Bildschirmserinnert an das Enterprise Services Repository: Auf der linken Seitesehen Sie die Softwarekomponentenversionen, die angelegt wurden,und darunter die Namensräume. Innerhalb der Namensräume wer-den jedoch nur die Objekte des Zweiges Interface Objects ange-zeigt.

Expandieren Sie in Ihrem Namensraum den Zweig Message Inter-

face (outbound), und klicken Sie doppelt auf das Service-InterfaceSI_ABAP_PROXY_MAT_EXIST_##_Sync_Out. Die Frage, ob Sie einenProxy für dieses Interface anlegen wollen, beantworten Sie mit Yes.Danach werden Sie nach bestimmten Vorgaben für die Proxy-Klassegefragt. Geben Sie an dieser Stelle das Paket Z_PI_TRAINING und dasPräfix Z an.

Nach der Bestätigung dieser Eingaben erscheint eine Warnmeldung,die Sie darauf hinweist, dass es zu Namenskollisionen bzw. Namens-verkürzungen im Rahmen der Generierung gekommen ist. Dies hatseine Ursache darin, dass die Namen der generierten ABAP-Objektemaximal 30 Zeichen haben dürfen, während der Integration Builderauch längere Namen zulässt.

1440.book Seite 253 Montag, 10. August 2009 1:55 13

Page 76: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

254

Technische Einzelübungen4

Eigenschaften derProxy-Klasse

Im Detailfenster zur neu generierten Proxy-Klasse erscheinen vierKarteireiter. Der Karteireiter Properties gibt Ihnen Auskunft über dieEinordnung des Objektes sowie den Namen ZCO_SI_ABAP_PROXY_MAT_EXIST_##. Der Karteireiter Name Problems listet alle Elementeauf, die Probleme bei der Generierung bereitet haben. Der Name derKlasse wurde verkürzt, ist jedoch immer noch sprechend und unter-scheidet die einzelnen Schulungsteilnehmer.

In der rechten Spalte dieser Auflistung können Sie überprüfen, wel-chem Objekt im Enterprise Services Repository die Zeilen und derenInhalt entsprechen. Die zweite Zeile zeigt die Struktur zum Message-Typ BAPI_MATERIAL_EXISTENCECHECKOutput an. Ändern Sie die letztenbeiden Buchstaben in OU, sodass die Struktur nun den Namen ZSI_ABAP_PROXY_MAT_EXIST_##_OU hat (siehe Abbildung 4.51). Auch dasGegenstück zum Message-Typ BAPI_MATERIAL_EXISTENCECHECKInputsollte zur besseren Übersicht in ZSI_ABAP_PROXY_MAT_EXIST_##_INumbenannt werden. Die letzte Struktur, die BAPIRETURN1 entspricht,sollte in ZSI_ABAP_PROXY_MAT_EXIST_00_RE umgeändert werden.

Aktivierungder Proxy-Klasse

Der Karteireiter Generation zeigt die Liste aller erstellten Objektean, unabhängig davon, ob es Namensprobleme gab oder nicht. DerKarteireiter Structure stellt eine hierarchische Anordnung allerObjekte dar. Sie können darin zum Beispiel sehen, dass die neueKlasse ZCO_SI_ABAP_PROXY_MAT_EXIST_## eine Methode namensEXECUTE_SYNCHRONOUS hat. Unterhalb dieser Methode können Sie ausSicht eines ABAP-Programms die Parameter betrachten.

Speichern Sie nun die Proxy-Klasse, und geben Sie dabei den dafürvorgesehenen Transportauftrag an. Prüfen Sie die Objekte über denMenüeintrag Proxy � Check oder das Icon Check. Die Auflistung derPrüfungsmeldungen sollte vier gelbe Warnmeldungen enthalten,jedoch keine rote Fehlermeldung. Bestätigen Sie die Auflistung, und

Abbildung 4.51 Namensprobleme bei der Generierung des ABAP-Proxys zur Übung ABAP-Proxy-to-SOAP

1440.book Seite 254 Montag, 10. August 2009 1:55 13

Page 77: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

255

Dritte Übung: ABAP-Proxy-to-SOAP 4.3

aktivieren Sie die Objekte über den Menüeintrag Proxy � Activate

oder das Icon Activate. Das Aktivierungsprotokoll, das Ihnen nachder Aktivierung angeboten wird, enthält Warnmeldungen, die jedochin diesem Fall ignoriert werden können.

Zur Kontrolle können Sie den Class Builder mittels Transaktion SE24aufrufen und sich Ihre Klasse ZCO_SI_ABAP_PROXY_MAT_EXIST_##

anzeigen lassen. Auf dem Karteireiter Methods können Sie sehen,dass neben dem Konstruktor die Methode EXECUTE_SYNCHRONOUSangelegt wurde. Darüber hinaus werden auch die beiden MethodenGET_PROTOCOL und GET_TRANSPORT_BINDING angezeigt, die zwar ange-legt, aber noch nicht implementiert wurden. Diese beiden optionalenMethoden werden Sie für diese Übung nicht benötigen.

4.3.3 Konfiguration

Überblick der Konfigurations-objekte

Wechseln Sie in den Integration Builder, und melden Sie sich gegebe-nenfalls an. Bevor Sie erneut den Konfigurationsassistenten für dieKonfiguration einsetzen werden, benötigen Sie einen Kommunikati-onskanal für die Empfängerseite. Aufseiten des sendenden Systemswird kein Kommunikationskanal verwendet, da die Kommunikationüber einen Proxy keinen Adapter benutzt.

Die Konfigurationsobjekte, die Sie für diese Übung erstellen werden,sind in Tabelle 4.9 dargestellt.

Art des Objektes Senderseite: System A Empfängerseite: System B

Kommunikations-kanal

SOAP_Receiverchannel_##

Empfänger-vereinbarung

|SystemA||SystemB|SI_ws_bapi_material_existencecheck_Sync_In

Empfänger-ermittlung

SystemA|SI_ABAP_PROXY_MAT_EXIST_##_Sync_Out

Interface-Ermittlung

|SystemA|SI_ABAP_PROXY_MAT_EXIST_##_Sync_Out||SystemB

Tabelle 4.9 Elemente im Integration Directory für die Übung ABAP-Proxy-to-SOAP

1440.book Seite 255 Montag, 10. August 2009 1:55 13

Page 78: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

256

Technische Einzelübungen4

Anlagen desSOAP-Kommuni-

kationskanals

Öffnen Sie in der Navigation links das Kontextmenü des EintragsCommunication Channel, und erstellen Sie einen neuen Kommuni-kationskanal für die Kommunikationskomponente SystemB. Benen-nen Sie ihn mit SOAP_Receiverchannel_##, und pflegen Sie eineBeschreibung ein. Fahren Sie mit Create fort, und wählen Sie imDetailfenster den Adaptertyp SOAP aus. Der Kommunikationskanalwird als Empfänger angelegt. Achten Sie beim Transport Protocol

darauf, dass HTTP eingestellt ist. Die übrigen Parameter im Kopfbe-reich können Sie unverändert lassen.

Im Bereich Connection Parameters pflegen Sie die URL des Zielsys-tems nach folgendem Schema ein: http://<Host_SystemB>:<ABAP-Port>/sap/bc/soap/rfc/sap/BAPI_MATERIAL_EXISTENCECHECK?sap-client=<Mandant>. Dabei ist der Mandant des Systems B notwendig,um zu bestimmen, gegen welchen Mandanten die Benutzerauthenti-fizierung abläuft. Überprüfen Sie sicherheitshalber in TransaktionSICF in System B, dass der entsprechende Service aktiviert ist. DieserService ermöglicht es, remotefähige Funktionsbausteine als Webser-vices aufzurufen.

Setzen Sie im Detailfenster des Kommunikationskanals einen Hakenbei der Option Configure User Authentication. Darunter erschei-nen Felder für Benutzer und Passwort, die Sie mit den Daten IhresBenutzers SYS_B-## füllen (siehe Abbildung 4.52). Speichern Sie denKommunikationskanal.

Verwendung desKonfigurations-

assistenten

Nachdem Sie das letzte fehlende Teil für die Konfiguration angelegthaben, können Sie den Konfigurationsassistenten über denMenüpfad Tools � Configuration Wizard oder das entsprechende

Abbildung 4.52 Einrichtung des SOAP-Empfängerkanals für System B

1440.book Seite 256 Montag, 10. August 2009 1:55 13

Page 79: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

257

Dritte Übung: ABAP-Proxy-to-SOAP 4.3

Icon Configuration Wizard starten. Das Integrationsszenario, dasSie umsetzen, fällt unter die Internal Communication. Der Senderist das Business-System A, das über das Service-Interface SI_ABAP_PROXY_MAT_EXIST_##_Sync_Out Daten versendet. Der Adapter ist vomTyp XI und sollte bereits eingestellt sein (siehe Abbildung 4.53).

Der Empfänger ist das Business-System B, das über den AdaptertypSOAP Informationen erhält. Das verwendete Service-Interface ist SI_ws_bapi_material_existencecheck_Sync_In (siehe Abbildung 4.54).

Im nächsten Schritt werden Sie darauf hingewiesen, dass keine Sen-dervereinbarung angelegt werden muss, da keine Konvertierungstattfindet. Der nächste Bildschirm informiert Sie darüber, dass dieEmpfängerermittlung SystemA|SI_ABAP_PROXY_MAT_EXIST_##_Sync_Out für dieses Szenario angelegt wird. Die Interface-Ermittlung, dieim nächsten Schritt angezeigt wird, sollte für das Ziel-Interface SI_ws_bapi_material_existencecheck_Sync_In bereits das passendeOperation Mapping anzeigen. Fahren Sie mit dem nächsten Schrittfort.

Abbildung 4.53 Einstellungen des Senders im Konfigurationsassistenten der Übung ABAP-Proxy-to-SOAP

Abbildung 4.54 Einstellungen des Empfängers im Konfigurationsassistenten der Übung ABAP-Proxy-to-SOAP

1440.book Seite 257 Montag, 10. August 2009 1:55 13

Page 80: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

258

Technische Einzelübungen4

Die Empfängervereinbarung |SystemA||SystemB|SI_ws_bapi_

material_existencecheck_Sync_In soll sich auf den soeben vonIhnen angelegten Kommunikationskanal SOAP_Receiverchannel_##beziehen. Überprüfen Sie im nächsten Schritt, dass die neuen Objektezu Ihrem Szenario PI_Training_## hinzugefügt werden, und been-den Sie den Assistenten. Aktivieren Sie alle neuen und verändertenKonfigurationsobjekte in Ihrer Änderungsliste.

4.3.4 Ablauf und Monitoring

Erstellung einesaufrufenden ABAP-

Programms

Für den Ablauf des Szenarios muss die Proxy-Klasse mit der MethodeEXECUTE_SYNCHRONOUS in ein ABAP-Programm eingebunden werden.Melden Sie sich am Mandanten von System A mit dem Benutzer SYS_A-## an, und rufen Sie die Transaktion SE38 oder SE80 auf. Sie kön-nen das Programm zum Aufruf der Proxy-Methode selbst anlegenoder den entsprechenden Transport von der Webseite zu diesemBuch (http://www.sap-press.de/2159) einspielen. Im Fall der Eigenent-wicklung finden Sie den Muster-Quellcode des Programms Z_MATERIAL_EXISTENCECHECK_## auch in Anhang A. Sie können dabeiteilweise die Datentypen des BAPI BAPI_MATERIAL_EXISTENCECHECKverwenden, die Sie über den Function Builder in Transaktion SE37betrachten können.

Die meisten Variablen entsprechen den Strukturen, die zusammenmit der ABAP-Klasse generiert wurden. Die ABAP-Klasse muss überein Objekt referenziert werden, damit die Methode EXECUTE_

SYNCHRONOUS aufgerufen werden kann. Beachten Sie zudem bei derAntwortstruktur wa_input, dass sie die Struktur wa_return beinhaltetund deshalb in einem gesonderten Schritt herausgetrennt wird.

Testen Sie das Programm, nachdem Sie es geprüft und aktivierthaben. Geben Sie das in der zweiten Übung erstellte Material PI_BOOK-## an, und führen Sie es aus. Sie sollten den Returncode 000und die Meldung »Material is available« erhalten, wie sie in Abbil-dung 4.55 zu sehen ist.

Im Gegensatz zu asynchronen Szenarien hinterlässt ein synchronesSzenario im Regelfall keine Spuren. Es werden nur asynchrone Nach-richten in der Persistenzschicht von SAP NetWeaver Process Integra-tion aufbewahrt, um eine spätere Analyse zu ermöglichen.

1440.book Seite 258 Montag, 10. August 2009 1:55 13

Page 81: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

259

Vierte Übung: Business Process Management 4.4

4.4 Vierte Übung: Business Process Management

Ablauf der vierten Übung

Die vierte Einzelübung behandelt inhaltlich das einfache Szenario,dass ein Abteilungsleiter oder Gesamtmaterialverantwortlicher überdas erfolgreiche Anlegen der Materialien informiert werden muss.Die Benachrichtigung erfolgt auf sendender Seite wiederum über denRFC-Adapter, während das Ergebnis als Datei aufseiten von System Babgespeichert wird.

Die Besonderheit dieses Ablaufs ist, dass die Benachrichtigungennach erstellenden Benutzern geordnet gesammelt werden und erstbei drei Meldungen von einem Benutzer diese drei Nachrichten zueiner einzigen zusammengefasst und an den Gesamtmaterialverant-wortlichen übermittelt werden. Diese Steuerung erfolgt mithilfeeines Integrationsprozesses.

Der Fokus dieser Übung liegt somit nicht auf der Verwendung neuerAdapter, sondern auf der Einführung in das cross-component BusinessProcess Management (ccBPM) von SAP NetWeaver Process Integra-tion. Sie werden sich dazu mit den entsprechenden Werkzeugen imEnterprise Services Repository sowie der Repräsentation im Integra-tion Directory beschäftigen. Einen groben Überblick zum hier vorge-stellten Szenario gibt Abbildung 4.56.

Abbildung 4.55 Erfolgreiche Existenzprüfung eines Materials

Abbildung 4.56 Schema der vierten Übung – Business Process Management

PI-System(BPE)

System ARFC-

AdapterFile-

Adapter System B

1440.book Seite 259 Montag, 10. August 2009 1:55 13

Page 82: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

260

Technische Einzelübungen4

4.4.1 Grundlagen

Grundlagen descross-componentBusiness Process

Managements

Beim cross-component Business Process Management stehen Integra-tionsprozesse im Vordergrund, die sowohl unternehmensintern alsauch unternehmensübergreifend implementiert werden können.Dazu wird eine Business Process Engine (BPE) verwendet, die einzelneTransformationen, die unter Verwendung der Adapter Engine undder Integration Engine implementiert wurden, zu einem Geschäfts-prozess zusammenfasst.

Zur Beschreibung der Geschäftsprozesse wird die Business ProcessExecution Language (BPEL) verwendet. Die Erstellung der Prozessmo-delle erfolgt über einen grafischen Editor, der im Folgenden vorge-stellt wird.

Die Business Process Engine kommuniziert mit Anwendungen aufBackend-Systemen – im Gegensatz zum SAP Business Workflow –ausschließlich über Messages.6 Sie hat keinen Zugriff auf Prozesseinnerhalb von Anwendungen oder auf das Benutzer- oder Organisa-tionsmanagement auf Backend-Systemen. Daher gilt:

� Die Business Process Engine steuert keine Prozesse innerhalb vonAnwendungen. Sie können jedoch über Messages Anwendungenin systemübergreifende Prozesse einbinden.

� Die Business Process Engine steuert keine Benutzerinteraktionen.Benutzerinteraktionen können nur in den Backend-Systemengesteuert werden.

Das Business Process Management selbst bietet kein systemübergrei-fendes Monitoring für die im Rahmen eines Integrationsprozessesverarbeiteten Business-Dokumente. Im Rahmen des technischenMonitorings können Sie jedoch das Protokoll eines Integrationspro-zesses und die zugehörigen Messages anzeigen.

Interner Ablauf desIntegrations-

prozesses

Vor der Beschäftigung mit der konkreten Umsetzung der Übung istzunächst gedanklich durchzugehen, welche Schritte innerhalb desBusiness-Prozesses ablaufen. Zunächst wird der Business-Prozess alleNachrichten einer bestimmten Schnittstelle aufnehmen und sie nachden Erstellern sortieren. Es wird somit pro Name eines Erstellers eineSchleife geöffnet, die so lange Nachrichten dieses Typs sammelt, bis

6 Mehr zu diesem Thema finden Sie im SAP Help Portal unter: http://help.sap.com/saphelp_nwpi71/helpdata/DE/3c/831620a4f1044dba38b370f77835cc/frameset.htm.

1440.book Seite 260 Montag, 10. August 2009 1:55 13

Page 83: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

261

Vierte Übung: Business Process Management 4.4

die Anzahl von drei erreicht ist. Sobald drei gleiche Nachrichten vomselben Ersteller gesammelt wurden, wird die Schleife verlassen. Diesedrei einzelnen Nachrichten werden zu einer einzigen Nachricht ineinem neuen Format zusammengefasst und schließlich versendet.Wie die konkrete Umsetzung dieser Überlegungen im ccBPM vonSAP NetWeaver PI aussieht, werden Sie im Laufe der Designphaseerfahren.

Der RFC-Aufruf, der den Integrationsprozess startet, erfolgt analogzur ersten Übung über das Programm Z_PROG_MATERIALINFO_##, dasden remotefähigen Funktionsbaustein Z_RFM_MATERIALINFO_## auf-ruft. Der Baustein arbeitet nur mit drei Parametern: Materialnum-mer, Name des Erstellers und Erstellungsdatum. Sie finden diesenQuellcode wie gewohnt in Anhang A und einen entsprechendenTransport auf der Webseite zu diesem Buch (http://www.sap-press.de/2159).

4.4.2 Design

Zunächst soll es ganz klassisch um die Designobjekte dieser Übunggehen, bevor Sie die einzelnen Objekte zu einem Integrationsprozesszusammensetzen werden.

Erstellung der Designobjekte

Besonderheiten der Designphase

Im Zusammenhang mit der Verwendung von Business-Prozessenwerden Sie eine neue Kategorie von Service-Interfaces kennenlernen:abstrakte Interfaces. Die Besonderheit dieser Interfaces ist das Fehleneiner Richtung, das heißt sie werden weder auf die KategorieInbound noch Outbound festgelegt, sondern können in beidenRichtungen verwendet werden. Diese Aussage gilt jedoch nur mit derEinschränkung, dass diese Interfaces ausschließlich in Integrations-prozessen auftreten können.

Diese Eigenschaft macht es auch bei importierten Objekten notwen-dig, sie gesondert als Interface der Kategorie Abstract zu deklarieren.Werden diese abstrakten Interfaces jedoch zum Empfangen oder Sen-den von Nachrichten innerhalb des Prozesses verwendet, benötigenSie ein Gegenstück, dessen Richtung klar definiert ist.

Für die Kommunikation zwischen einem abstrakten und einem rich-tungsbezogenen Interface ist kein Mapping erforderlich, sofern der-

1440.book Seite 261 Montag, 10. August 2009 1:55 13

Page 84: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

262

Technische Einzelübungen4

selbe Message-Typ verwendet wird. Die Mapping-Objekte in dieserÜbung werden einzig und allein dafür verwendet, aus den drei gesam-melten Nachrichten eine einzige Nachricht zu generieren. Dabei wer-den Sie sich mit der Besonderheit von Mappings beschäftigen, beidenen auf einer Seite mehrere Nachrichten stehen können. Da dasZielformat des Integrationsprozesses neu angelegt werden muss,ergibt sich der in Tabelle 4.10 dargestellte Bedarf an Designobjekten.

Erstellung derObjekte derSenderseite

Importieren Sie zunächst die Definition des RFC-FunktionsbausteinsZ_RFM_MATERIALINFO_## aus Business-System A.7 Öffnen Sie dazu imVerzeichnis Imported Objects das Kontextmenü, und melden Siesich mit Ihrem Benutzer SYS_A-## an. Importieren Sie die Schnittstel-lendefinition des entsprechenden Funktionsbausteins. Erstellen Sienun auf Basis der Message Z_RFM_MATERIALINFO_## dieser importier-ten Schnittstelle das Service-Interface SI_RFM_MATINFO_##_Async_Abstract. Beachten Sie dabei insbesondere, die Kategorie Abstract

einzustellen.

Art des Objektes Senderseite Integrationsprozess/Empfänger

Service-Interface SI_RFM_MATINFO_##_Async_Abstract

� SI_MatInfo_List_

Async_Abstract

� SI_MatInfo_List_

Async_In

Message-Typ Z_RFM_MATERIALINFO_## MT_MatInfo_List

Datentyp � DT_MatInfo_List

� DT_MatInfo

Operation Mapping

OM_RFM_MATINFO_##_Async_Abstract_to_MT_MatInfo_List_Async_Abstract

Message Mapping MM_RFM_MATINFO_##_to_MT_MatInfo_List

Integrations-prozess

IP_MatInfo_##

Tabelle 4.10 Elemente im Enterprise Services Repository für die Übung zum ccBPM

7 Der Import der Schnittstellendefinition setzt voraus, dass auf System A der Funk-tionsbaustein Z_RFM_MATERIALINFO_## existiert und als remotefähig markiertist. Dies können Sie über das Einspielen der entsprechenden Transporte oder dasmanuelle Anlegen der Funktionsbausteine erreichen. Den Quellcode dazu findenSie in Anhang A.

1440.book Seite 262 Montag, 10. August 2009 1:55 13

Page 85: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

263

Vierte Übung: Business Process Management 4.4

Die Verwendung dieser Schnittstelle erfolgt asynchron. Wählen Sieals Interface Pattern die Option Stateless, während das Operation

Pattern den einzig möglichen Wert Normal Operation annimmt.(siehe Abbildung 4.57). Speichern Sie das Interface – Sie haben damitbereits alle Objekte der Senderseite angelegt.

Anlegen der Datentypen

Der Nachrichtentyp, der am Ende des Prozesses die gesammeltenBenachrichtigungen enthält, basiert auf einem mehrstufigen Daten-typ. Dies bedeutet, dass es einen atomaren Datentyp DT_MatInfo gibt,der jeweils den Inhalt einer Benachrichtigung beinhalten kann.Damit nun mehrere Nachrichten zu einer Nachricht zusammenge-fasst werden können, muss dieser atomare Datentyp in einen überge-ordneten Typ mehrmals eingebunden sein. Dieser übergeordneteDatentyp ist in diesem Fall DT_MatInfo_List.

Beginnen Sie zunächst damit, den Datentyp DT_MatInfo anzulegen:Fügen Sie drei Elemente hinzu, die Materialnummer (material_number), den Ersteller (created_by) und das Erstellungsdatum(creation_date). Die ersten beiden Werte sind vom Typ xsd:string,während das Erstellungsdatum den Typ xsd:date hat (siehe Abbil-dung 4.58). Speichern Sie diese Datentypen.

Erstellen Sie anschließend den Datentyp DT_MatInfo_List, der nurein einziges Element enthält. Dieses Element MatInfo ist vom Typ DT_MatInfo, den Sie über die Suchhilfe unter der Rubrik Data Types aus-wählen können. Damit haben Sie eine Verschachtelung erstellt, mitderen Hilfe Sie nun eine Benachrichtigung aufnehmen können.

Abbildung 4.57 Definition der abstrakten Schnittstelle SI_RFM_MATINFO_##_Async_Abstract

1440.book Seite 263 Montag, 10. August 2009 1:55 13

Page 86: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

264

Technische Einzelübungen4

Um daraus jedoch eine Liste zu machen, müssen Sie die Häufigkeitdieses Elementes ändern. Öffnen Sie die Wertehilfe in der SpalteOccurence des Elementes, woraufhin sich ein neues Fenster öffnet.Klicken Sie auf Properties, und wählen Sie aus der Wertehilfe desFeldes MaxOccurs den Eintrag unbounded aus, womit unbegrenztviele Benachrichtigungen aufgenommen werden können. BestätigenSie Ihre Auswahl, und speichern Sie den Datentyp ab. Der Datentypsollte nun wie in Abbildung 4.59 aufgebaut sein.

Anlegen derrestlichen Objekte

auf Empfängerseite

Erstellen Sie auf der Grundlage dieses Datentyps DT_MatInfo_Listden Message-Typ MT_MatInfo_List. Binden Sie diesen neuen Mes-sage-Typ in das Service-Interface SI_MatInfo_List_Async_Abstractein, das Sie später innerhalb des Integrationsprozesses benutzen wer-den. Das Service-Interface gehört der Kategorie Abstract und demModus Asynchronous an. Die beiden Pattern-Felder können Sieunverändert belassen (siehe Abbildung 4.60). Speichern Sie das abs-trakte Interface.

Die Versendung einer Nachricht über dieses Interface erfordert eineGegenstelle in Form eines Interface, das der Kategorie Inbound ange-hört. Legen Sie aus diesem Grund das Service-Interface SI_MatInfo_List_Async_In an, das ebenfalls den Message-Typ MT_MatInfo_Listverwendet. Diese Schnittstelle wird jedoch als Inbound-Interface fürdie asynchrone Kommunikation benutzt. Speichern Sie auch dieses

Abbildung 4.58 Aufbau des Datentyps DT_MatInfo

Abbildung 4.59 Aufbau des Datentyps DT_MatInfo_List

1440.book Seite 264 Montag, 10. August 2009 1:55 13

Page 87: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

265

Vierte Übung: Business Process Management 4.4

Interface-Objekt, womit Sie nun alle Objekte der Empfängerseiteangelegt haben.

Erstellung der Mapping-Objekte

Für die Verbindung zwischen abstrakten und richtungsbezogenenInterfaces des gleichen Message-Typs benötigen Sie kein Mapping.Jedoch wird für die Umwandlung der drei Benachrichtigungen ineine einzige Nachricht ein Mapping auf Message- und Interface-Ebene notwendig.

Beginnen Sie damit, das Message Mapping MM_RFM_MATINFO_##_to_MT_MatInfo_List zu erstellen. Die Ausgangs-Message ist Z_RFM_MATERIALINFO_## der gleichnamigen RFC-Schnittstelle. Die Ziel-Mes-sage ist der eben von Ihnen erstellte Typ MT_MatInfo_List.

Wie Sie sehen, stellt das Mapping inhaltlich keine große Herausfor-derung dar. Es weist jedoch die Besonderheit auf, dass mehrere Aus-gangs-Messages in eine Ziel-Message transformiert werden. Um dieseinzustellen, navigieren Sie zum Karteireiter Signature, wo Sie diebeiden verwendeten Messages mit ihren Häufigkeiten finden. StellenSie nun für die Ausgangs-Message die Häufigkeit 0..unbounded ein(siehe Abbildung 4.61). Kehren Sie danach wieder zum KarteireiterDefinition zurück.

Mappen Sie nun die drei Felder aufeinander, und verbinden Sie denKnoten Z_RFM_MATERIALINFO_## auf der Ausgangsseite mit dem Ziel-Knoten MatInfo, wie es in Abbildung 4.62 dargestellt ist. SpeichernSie das Mapping, und testen Sie es, indem Sie den Teilbaum Z_RFM_

Abbildung 4.60 Aufbau des Service-Interface SI_MatInfo_List_Async_Abstract

1440.book Seite 265 Montag, 10. August 2009 1:55 13

Page 88: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

266

Technische Einzelübungen4

MATERIALINFO_## auf der Ausgangsseite über das Kontextmenü dup-lizieren und mit Daten befüllen.

Erstellung desOperationMappings

Dieses Message Mapping muss nun noch in ein passendes OperationMapping eingebunden werden. Die Besonderheit dieses Mappingsist, dass sowohl das sendende als auch das empfangende Interfacedem Typ Abstract angehören. Dennoch können Sie diese Schnittstel-len wie üblich behandeln und mappen.

Erstellen Sie das Operation Mapping OM_RFM_MATINFO_##_Async_Abstract_to_MT_MatInfo_List_Async_Abstract, und verwenden Sieals Ausgangs-Operation das Service-Interface SI_RFM_MATINFO_##_Async_Abstract. Die Ziel-Operation ist vom Typ SI_MatInfo_List_Async_Abstract. Die Einstellung der Häufigkeit, die Sie eben beimMessage Mapping vorgenommen haben, ist auch beim OperationMapping erforderlich. Sie können direkt auf dem Karteireiter Defini-

tion die Häufigkeit (Occurence) der Ausgangs-Operation auf denWert 0..unbounded einstellen. Lesen Sie nun im unteren Bereich dieInterfaces ein, und wählen Sie das Message Mapping aus, das Sieeben erstellt haben (siehe Abbildung 4.63).

Abbildung 4.61 Einstellung der Häufigkeiten im Message Mapping

Abbildung 4.62 Message Mapping der Übung zum ccBPM

1440.book Seite 266 Montag, 10. August 2009 1:55 13

Page 89: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

267

Vierte Übung: Business Process Management 4.4

Anlegen des Integrationsprozesses

Erstellung des Integrations-prozesses

Sie haben nun alle Objekte angelegt, die Sie im Integrationsprozessverwenden werden. Öffnen Sie das Kontextmenü Ihres Namens-raums, und klicken Sie auf New, oder wählen Sie den MenüpfadObject � New, um zum allgemeinen Erstellungs-Wizard zu gelangen.Navigieren Sie darin zur Rubrik Process Integration Scenario

Objects � Integration Process. Achten Sie darauf, dass Ihr Namens-raum und die korrekte Softwarekomponentenversion erscheinen.Benennen Sie den neuen Integrationsprozess nach dem Schema IP_MatInfo_##, und vergeben Sie gegebenenfalls eine Kurzbeschreibung(siehe Abbildung 4.64). Die Vergabe der Teilnehmernummer bei die-sem Objekt ist notwendig, da Ihr Prozess später im gesamten PI-Sys-tem sichtbar ist.

Abbildung 4.63 Einstellung der Häufigkeiten im Operation Mapping

Abbildung 4.64 Erstellen eines neuen Integrationsprozesses

1440.book Seite 267 Montag, 10. August 2009 1:55 13

Page 90: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

268

Technische Einzelübungen4

Sie gelangen durch das Anlegen des Objektes in das Detailfenster, dasein grafischer Prozesseditor ist. Lösen Sie das Fenster mithilfe desStecknadel-Icons los, und blenden Sie den Kopfbereich aus, um mög-lichst viel Platz zu haben (siehe Abbildung 4.65).

Aufbau desProzesseditors

Der Aufbau des Editors selbst ist in mehrere Bereiche unterteilt. Dasaugenscheinlichste Element ist die grafische Arbeitsfläche, auf der SieObjekte, die auf der linken Seite aufgelistet sind, per Drag & Dropeinbinden können. Im oberen Bereich der Arbeitsfläche sind Funkti-onen zur Steuerung der Ansicht angeordnet.

Der Bereich rechts von der Arbeitsfläche ist zweigeteilt: Im oberenBereich haben Sie eine Übersichtsdarstellung für größere Integrati-onsprozesse. Über den Schieberegler können Sie den Zoom-Grad ein-stellen. Unterhalb der Übersicht werden die Eigenschaften markier-ter Elemente der Arbeitsfläche angezeigt. Im unteren Bereich desEditors haben Sie auf der linken Seite das Verarbeitungsprotokoll, dasIhnen Fehlermeldungen und Hinweise angibt. Rechts davon ist dieAuflistung der Containerelemente angeordnet. Diese Container sinddie prozessinterne Repräsentation von Schnittstellen oder Variablen,die Sie für den internen Gebrauch anlegen können.

Abbildung 4.65 Aufbau des grafischen Prozesseditors

1440.book Seite 268 Montag, 10. August 2009 1:55 13

Page 91: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

269

Vierte Übung: Business Process Management 4.4

Alternativ-funktionen der Teilfenster

Alle beschriebenen Teilfenster besitzen zu den Hauptfunktionennoch weitere Alternativfunktionen, die Sie über das Listensymbollinks neben dem Namen des Teilfensters auswählen können. WennSie bereits mit SAP Business Workflow gearbeitet haben, wird Sie dasPrinzip des BPM-Editors in Teilen an den Workflow Builder erinnern.Sie werden in dieser Übung nur das Arbeitsflächen- und Container-teilfenster in einer weiteren Funktion kennenlernen, wenn Sie eineKorrelation anlegen. Eine Übersicht über alle möglichen Sichten inden verschiedenen Teilfenstern zeigt Abbildung 4.66.

Anlegen der Containerelemente

Sie starten mit dem Anlegen der Containerelemente: Die Containere-lemente enthalten, wie schon erwähnt, Objekte, die nur innerhalbdes Prozesses verwendet werden. Diese internen Objekte entspre-chen jedoch im Falle von Nachrichten einem abstrakten Interface.Eine Besonderheit dieser Nachrichten-Containerelemente ist, dass sieauch in mehrzeiliger Form existieren können. Dies bedeutet, dasseine Auflistung von Nachrichten über ein einziges Element angespro-chen werden kann. Diese mehrzeiligen Container können jedoch nurinnerhalb des Prozesses bestehen und in ihrer ursprünglichen Formnicht versendet werden.

Abbildung 4.66 Ansichten der Teilfenster im Prozesseditor

Graphical DefinitionCorrelation EditorBPEL Display

Processing LogTasksSearch Result

ContainerCorrelation ListProcess Signature

Process OverviewDependent ObjectsProcess Outline

1440.book Seite 269 Montag, 10. August 2009 1:55 13

Page 92: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

270

Technische Einzelübungen4

Schema derNachrichtenver-

arbeitung

Für diesen Integrationsprozess sind insgesamt drei Nachrichten-Con-tainerelemente erforderlich. Das erste Containerelement MatInfonimmt jeweils die eingehenden Nachrichten mit den Materialinfor-mationen entgegen. Dieses Element wird im Laufe des Integrations-prozesses bis zu dreimal instanziert. Die einzelnen Materialinfos wer-den nach ihrem Eingang an das zweite Element MatInfoContainerangehängt. Es fungiert aufgrund der Eigenschaft, mehrzeilig zu sein,als Auffangliste der Materialinfos. Diese Liste kann jedoch nur inner-halb des Integrationsprozesses verwendet werden.

Damit die Daten den Prozess verlassen können, erfolgt eine Konver-tierung in das dritte Nachrichtenelement MatInfo_List, das aufeinem Service-Interface basiert, das bereits per Definition mehrereMaterialinfos speichern kann und nicht der Mehrzeiligkeit innerhalbdes Integrationsprozesses bedarf. Die verwendeten Nachrichten-Con-tainer und ihre Zusammenhänge sind in Abbildung 4.67 schematischdargestellt.

Der erste Container namens MatInfo gehört der Kategorie Abstract

Interface an und verwendet das Interface SI_RFM_MATINFO_##_Async_Abstract. Sie können diesen Eintrag in der Wertehilfe derSpalte Type finden, in der nur abstrakte Interfaces Ihrer Software-komponentenversion aufgelistet werden. Dieser Container wird diejeweils aktuell an den Prozess gesendete Nachricht enthalten, dievom RFC-Sender verschickt wurde.

Beachten Sie zum einen die Spalte Multiline, in der Sie diesenContainer zu einem mehrzeiligen Container machen könnten. Dieswird für das erste Containerobjekt jedoch nicht getan. In der SpalteDescription können Sie dem Objekt eine Kurzbezeichnung geben,

Abbildung 4.67 Verwendung der Containerelemente im Integrationsprozess

MatInfo[1]Type: SI_RFM_MATINFO_##_Async_Abstract

MatInfo[2]Type: SI_RFM_MATINFO_##_Async_Abstract

MatInfo[3]Type: SI_RFM_MATINFO_##_Async_Abstract

MatInfoContainerType (Multiline):

SI_RFM_MATINFO_##_ Async_Abstract

MatInfo[1]Type: SI_RFM_MATINFO_##_ Async_Abstract

MatInfo[2]Type: SI_RFM_MATINFO_##_ Async_Abstract

MatInfo[3]Type: SI_RFM_MATINFO_##_ Async_Abstract

MatInfo_ListType : SI_MatInfo_List_Async_Abstract

MatInfo[1]

MatInfo[2]

MatInfo[3]

Append

Append

Append

Convert

1440.book Seite 270 Montag, 10. August 2009 1:55 13

Page 93: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

271

Vierte Übung: Business Process Management 4.4

um seine Funktion ersichtlich zu machen. In der letzten Spalte Scope

sehen Sie den Gültigkeitsbereich des Elementes. In der Regel ist derGültigkeitsbereich der gesamte Prozess. Erst wenn Sie Blöcke in dieArbeitsfläche einfügen, können Sie die Gültigkeit auf diese Blöckebeschränken.

Legen Sie nun nach dem gleichen Muster das ElementMatInfoContainer an, das derselben Kategorie und demselben Typangehört, jedoch mehrzeilig ist. Dieses Element wird die Nachrichtendes Typs MatInfo aufnehmen, bis sie in einer einzigen Nachricht ver-sendet werden. Vor dem Versenden muss dieses Element jedoch auf-grund seines mehrzeiligen Charakters umgewandelt werden: DasZielelement dieser Umwandlung ist MatInfo_List, das auch der Kate-gorie Abstract Interface angehört, jedoch den Typ SI_MatInfo_List_Async_Abstract referenziert.

Zu guter Letzt werden Sie noch eine Variable benötigen, die dieSchleifendurchläufe mitzählt. Diese Variable soll den Namen Coun-

ter tragen und vom einfachen Typ xsd:integer sein. Die AuflistungIhrer Containerelemente sollte nun wie in Abbildung 4.68 aufgebautsein.

Anlegen der Korrelation

Bevor Sie zur grafischen Modellierung kommen, werden Sie nocheine Korrelation anlegen. Mithilfe dieser Korrelation ist es dem Pro-zess möglich, Nachrichten zu identifizieren, die inhaltlich zusammen-gehören. Im Falle dieser Übung muss der Prozess Nachrichten dessel-ben Erstellers einander zuordnen und sammeln können. Somitbesteht die Korrelation aus dem Inhalt des Feldes created_by (Erstel-ler) der eingehenden Nachrichten.

Um eine Korrelation anzulegen, wählen Sie über das ListensymbolSwitch view die Alternativfunktion Correlation list des Contai-

ner-Teilfensters. Geben Sie den Namen MatInfo für die Korrelationan. Markieren Sie den neuen Eintrag, und klicken Sie das Icon

Abbildung 4.68 Containerelemente des Integrationsprozesses

1440.book Seite 271 Montag, 10. August 2009 1:55 13

Page 94: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

272

Technische Einzelübungen4

Details oberhalb der Auflistung an. Dadurch wechselt die grafischeArbeitsfläche in die Ansicht des Correlation Editor.

Im oberen Bereich dieser Ansicht ist die neu erstellte Korrelationbereits ausgewählt. Der Bereich darunter ist dreigeteilt: Im linkenBereich können Sie die Korrelationscontainer der Korrelationsfelderbestimmen. Im mittleren Teil können beteiligte Messages ausgewähltwerden. Im rechten Teil können schließlich die konkreten Felderangegeben werden.

Geben Sie im linken Bereich zunächst den Namen created_by an,und belassen Sie den Typ auf xsd:string. Die Message, für die dieKorrelation gelten soll, ist vom Typ SI_RFM_MATINFO_##_Async_Abstract, was im mittleren Teil angegeben werden kann. Durch dieAuswahl des Interface erscheint es auch im rechten Bereich, der bis-her nicht eingabebereit war. Öffnen Sie die Wertehilfe neben demFeld created_by, wodurch sich der Expression Editor öffnet.Suchen Sie aus der angezeigten Nachricht das Element ERNAM aus.Dazu müssen Sie zunächst die Option Container Element aktivierenund sicherstellen, dass im Auswahlmenü der Eintrag Interface

erscheint (siehe Abbildung 4.69).

Abbildung 4.69 Ausdruckseditor im Korrelationseditor

1440.book Seite 272 Montag, 10. August 2009 1:55 13

Page 95: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

273

Vierte Übung: Business Process Management 4.4

Übernehmen Sie die Auswahl über den OK-Button, wodurch Sie wie-der zum Korrelationseditor gelangen. Dieser sollte inzwischen ausse-hen wie in Abbildung 4.70 dargestellt.

Wechseln Sie nun über das Icon Switch Editor links oben innerhalbdes Korrelationseditors zurück zur Ansicht Graphical Definition.Sie können nun mit der grafischen Modellierung des Geschäftspro-zesses beginnen. Einen Überblick über alle verfügbaren Objekte bzw.Schritttypen im Prozesseditor gibt Tabelle 4.11. Sie werden in dieserÜbung jedoch nur einige davon verwenden.

Abbildung 4.70 Korrelationseditor

Symbol Schritttyp

Receive: Dieser Schritt ermöglicht den Empfang von Nachrichten eines bestimmten Interface und stellt immer den Beginn eines Integrationsprozesses dar. Der Emp-fang erfolgt immer asynchron, kann jedoch durch eine Synchron-Asynchron-Bridge (Synch/Asynch-Bridge) eine synchrone Kommunikation simulieren. Zur Zusammen-führung von Nachrichten, können Korrelationen angegeben werden.

Send: Dieser Schritt versendet eine Nachricht eines bestimmten Interface auf syn-chrone oder asynchrone Art. Sendeschritte können dabei eine Synch/Asynch-Bridge abschließen. Zur Zusammenführung von Nachrichten können Korrelationen angegeben werden.

Receiver Determination: Der Empfängerermittlungsschritt wird zum Bezug einer Liste von Empfängern einer bestimmten Nachricht verwendet. Dabei wird die im Integration Directory konfigurierte Empfängerermittlung verwendet.

Transformation: Eine Transformation kann zur Umwandlung von Nachrichten eines Interface in Nachrichten eines anderen Interface verwendet werden. Es können sowohl mehrere Nachrichten zusammengeführt als auch eine Nachricht aufgeteilt werden.

Tabelle 4.11 Schritttypen im Prozesseditor

1440.book Seite 273 Montag, 10. August 2009 1:55 13

Page 96: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

274

Technische Einzelübungen4

Erstellung derEmpfangsschleife

Der erste Schritt in einem Business Process muss immer ein Emp-fangsschritt sein. Dieser kann entweder direkt am Anfang stehenoder in eine Schleife eingebunden sein. Da in diesem Prozess genaudrei Nachrichten empfangen werden sollen, bietet es sich an, eineSchleife zu verwenden.

User Decision: Neu in SAP NetWeaver Process Integration ist der Benutzerent-scheidungsschritt, der in SAP Business Workflow bereits seit langem Anwendung findet. Dabei wird ein Bearbeiter während der Laufzeit auf Basis eines konfigurier-baren Parameters ermittelt. Dieser Bearbeiter kann aus vorgegebenen Optionen wählen, die den weiteren Verlauf des Integrationsprozesses beeinflussen. In die Entscheidungsvorlage lassen sich die Werte weiterer Containerobjekte einbinden.

Switch: Die Unterscheidung verschiedener Ausprägungen eines Containerelemen-tes kann mit der Mehrfachbedingung umgesetzt werden.

Container Operation: Durch Containeroperationen können Containerobjekte ver-ändert werden. Dabei lässt sich grundsätzlich zwischen dem Anhängen eines Objektes an ein anderes, mehrzeiliges Objekt und der Veränderung des Wertes eines Containerobjektes (zum Beispiel einer Zählervariable) unterscheiden.

Control: Der Steuerungsschritt kann den Integrationsprozess abbrechen, eine Aus-nahme auslösen oder einen Alert versenden.

Block: Ein Block kann zur logischen Unterteilung von Integrationsprozessen ver-wendet werden und wird teilweise implizit durch andere Schritte automatisch ein-gebunden. Ein Block kann auch für die Einschränkung der Sichtbarkeit von Contai-nerobjekten verwendet werden.

Fork: Ein paralleler Abschnitt erlaubt die unabhängige Verarbeitung von mehreren Schrittfolgen. Jede Schrittfolge kann dabei mit einer bestimmten Bedingung verse-hen werden, die zu deren Ausführung erfüllt sein muss. Nach der Abarbeitung aller Schrittfolgen vereinigen sie sich in einem Vereinigungsoperator.

Loop: Die Schleife in einem Integrationsprozess arbeitet wie eine WHILE-Schleife. Solange die in diesem Schritt angegebene Bedingung nicht erfüllt ist, werden die Schritte innerhalb der Schleife nacheinander abgearbeitet.

Wait: Durch einen Warteschritt können Sie die Ausführung der nachfolgenden Schritte verzögern. Sie können einen festen Zeitpunkt oder eine Zeitspanne als Wartezeit angeben.

Undefined: Ein unbestimmter Schritt dient als Platzhalter oder zu Testzwecken.

Symbol Schritttyp

Tabelle 4.11 Schritttypen im Prozesseditor (Forts.)

1440.book Seite 274 Montag, 10. August 2009 1:55 13

Page 97: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

275

Vierte Übung: Business Process Management 4.4

Ziehen Sie dazu aus der linken Symbolleiste eine Schleife per Drag &Drop auf die Arbeitsfläche zwischen die beiden Objekte Start undStop. Die Stelle, an der Sie die Schleife ablegen können, wird durchgelbe Klammern angezeigt, sobald sie erreicht ist. Das neue Schleifen-element wird automatisch markiert, und rechts von der Arbeitsflächewerden die Eigenschaften angezeigt (siehe Abbildung 4.71). GebenSie diesem Objekt den Schrittnamen Collection of material infor-

mation. Das Feld Condition gibt an, wie lange diese Schleife laufensoll, womit es sich um eine WHILE-Schleife handelt.

Festlegen der Abbruch-bedingung für die Schleife

Klicken Sie das weiße Feld an, und öffnen Sie die Wertehilfe.Dadurch erscheint der Condition Editor. Stellen Sie hier ein, dass dieSchleife so lange läuft, wie die Variable Counter ungleich 3 ist. ImGegensatz zu SAP XI hat sich der Bedingungseditor in SAP NetWea-ver PI stark gewandelt. Aufgrund der Formulierung von Bedingungenin Textform mit semantischer Prüfung wird dadurch einerseits dieintuitive Erstellung einfacher Bedingungen erschwert, andererseitsnimmt die Mächtigkeit des Editors aufgrund der flexibleren Möglich-keiten dadurch gleichzeitig zu. Befindet sich in einem Condition-Feld kein Eintrag, erscheint in der eigentlichen Arbeitsfläche des Edi-tors ein Hilfetext, der den Einstieg vereinfachen soll (siehe Abbildung4.72). Sobald Sie das Textfeld anklicken, um die Bedingung zu defi-nieren, verschwindet der Text und das Feld wird eingabebereit.

Abbildung 4.71 Integrationsprozess nach Einfügen der Schleife

1440.book Seite 275 Montag, 10. August 2009 1:55 13

Page 98: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

276

Technische Einzelübungen4

Wählen Sie links oben im Bereich Condition Values das Container-objekt Counter aus, und ziehen Sie es per Drag & Drop in das linkeCondition-Feld. Spätestens bei dieser Aktion verschwindet dererklärende Text und zeigt stattdessen den Namen des eingefügtenContainerobjektes an. Ziehen Sie anschließend am linken Rand denUngleich-Button (dritter von oben) ebenfalls per Drag & Drop in dasCondition-Feld hinter das Containerelement. Geben Sie abschlie-ßend den konstanten Wert 3 ein, sodass die Bedingung Counter != 3im Bedingungsfeld zu sehen ist (siehe Abbildung 4.73).

Abbildung 4.72 Bedingungseditor des Schleifenschrittes im Ausgangszustand

Abbildung 4.73 Bedingung der Empfangsschleife

1440.book Seite 276 Montag, 10. August 2009 1:55 13

Page 99: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

277

Vierte Übung: Business Process Management 4.4

Zur besseren Lesbarkeit sollten Sie Operanden und Operator jeweilsdurch ein Leerzeichen trennen. Führen Sie einen semantischen Testüber das passende Icon oberhalb des Bedingungsfeldes durch. Ledig-lich im Fehlerfall wird links unten eine Fehlernachricht eingeblendet.Übernehmen Sie die Bedingung über den OK-Button, wodurch dieBedingung nun im entsprechenden Feld innerhalb der Eigenschaftendes Schleifenschrittes angezeigt werden sollte.

Einfügen der Schleifenschritte

Fügen Sie nun in die Schleife einen Schritt vom Typ Receive ein, undnennen Sie ihn Receive material info. Dadurch, dass es sich dabeium den ersten Empfangsschritt im Prozess handelt, wird automatischdie Eigenschaft Start Process für dieses Objekt gesetzt. Stellen Sie inden Eigenschaften als Message das Containerelement MatInfo überdie Wertehilfe des Feldes ein. Der Empfangsschritt erwartet damiteine Nachricht von diesem Typ. In den Feldern Use Correlation undActivate Correlation geben Sie die Korrelation MatInfo an. Die ein-gehenden Nachrichten werden mittels dieser Korrelation anhand desErstellers (des Materials) geordnet. Dies führt dazu, dass eine spezifi-sche Instanz der Schleife nach dem ersten Durchlauf nur noch beiNachrichten mit demselben Ersteller durchlaufen wird.

Anhängen eingehender Nachrichten an den mehrzeiligen Container

Eine eingegangene Benachrichtigung soll nun an das Containerele-ment MatInfoContainer angehängt werden. Dies erreichen Sie miteinem Schritt des Typs Container Operation. Mit diesem Schritttypkönnen Sie Veränderungen an Containern vornehmen, wie zum Bei-spiel Variablen setzen oder Nachrichten an Listen anhängen. FügenSie das neue Objekt nach dem Empfang an, und geben Sie ihm denNamen Append material info. Das Ziel dieser Operation ist das Con-tainerelement MatInfoContainer, dem das ContainerelementMatInfo angehängt werden soll. Beachten Sie dabei, dass die Opera-tion somit nicht Assign, sondern Append lauten muss (siehe Abbil-dung 4.74).

Abbildung 4.74 Eigenschaften der Containeroperation zum Anhängen von MatInfo an MatInfoContainer

1440.book Seite 277 Montag, 10. August 2009 1:55 13

Page 100: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

278

Technische Einzelübungen4

Das letzte Objekt in der Schleife ist eine weitere Containeroperation,die die Variable Counter um eins erhöht. Fügen Sie deshalb eine Con-taineroperation ein, die den Namen Increase counter tragen soll, dasZiel dieser Operation ist das Containerelement Counter. Diesmalkann die Operation auf Assign belassen werden. Wählen Sie als ers-ten Ausdruck nochmals das Containerelement Counter aus. Der Ope-rator für die Addition ist ein Pluszeichen (+), das Sie aus der Werte-hilfe auswählen. Der zweite Ausdruck ist eine Konstante vom Typxsd:integer mit dem Inhalt 1. Die Werte in den Eigenschaften diesesObjektes ergeben somit den mathematischen Ausdruck Counter =Counter +1. Der Integrationsprozess sollte nach der Fertigstellung derSchleife die in Abbildung 4.75 gezeigte Schrittfolge haben.

Umwandlung undVersendung der

Ausgangsnachricht

Die noch fehlenden beiden Schritte werden das mehrzeilige Contai-nerelement in einer einzigen Nachricht zusammenfassen und dannversenden. Fügen Sie dazu nach der Schleife ein Objekt vom TypTransformation ein, und benennen Sie es Create MatInfo_List. InTransformationen können Sie Nachrichten in ein anderes Formatumwandeln. Dazu geben Sie das Operation Mapping OM_RFM_

MATINFO_##_Async_Abstract_to_MT_MatInfo_List_Async_Abstract

an. Nach Angabe des Operation Mappings werden entsprechendeFelder für die Eigenschaften ergänzt und die erwarteten Nachrichten-typen angezeigt. Die Quell-Messages befinden sich zum Zeitpunktder Prozessausführung im Containerelement MatInfoContainer. DieZiel-Message wird bei dieser Transformation an das ElementMatInfo_List übergeben (siehe Abbildung 4.76).

Der letzte Schritt Send target message ist, wie der Name bereits ver-muten lässt, ein Sendeschritt. Darin wird das ContainerelementMatInfo_List asynchron versendet.

Den gesamten Aufbau des Integrationsprozesses können Sie in Abbil-dung 4.77 sehen. Speichern Sie den Prozess, und prüfen Sie ihn über

Abbildung 4.75 Schrittfolge des Integrationsprozesses nach Fertigstellung der Schleife

1440.book Seite 278 Montag, 10. August 2009 1:55 13

Page 101: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

279

Vierte Übung: Business Process Management 4.4

den Menüeintrag Integration Process � Check. Im Erfolgsfall solltenur ein Hinweis erscheinen, dass MatInfo initialisiert, aber nicht ver-wendet wird. Liegen keine weiteren Fehler mehr vor, können Sie alleneuen Designobjekte aktivieren.

4.4.3 Konfiguration

Überblick über die Konfigurations-szenarien

Die Konfiguration der Nachrichtenverarbeitung erfolgt in zweiSchritten, da ein Integrationsprozess in der Konfiguration einemBusiness-System gleichgestellt ist: Zum einen muss der RFC-Aufruf anden Prozess geleitet werden. Dabei kann der in der ersten Übungerstellte RFC-Senderkanal verwendet werden. Integrationsprozessebenötigen keinerlei Adapter, da sie in SAP NetWeaver PI selbst lau-fen. Zum anderen muss die Versendung der Ausgangsnachricht desProzesses an System B konfiguriert werden. Sie werden somit zweiKonfigurationsszenarien erstellen.

Anlegen des Integrations-prozesses im Integration Directory

Bevor Sie jedoch den Integrationsprozess in der Konfigurationsphaseverwenden können, müssen Sie ihn im Integration Directory dekla-rieren. Navigieren Sie dazu im Integration Directory in das Verzeich-nis Communication Component � Integration process. ErstellenSie darin einen neuen Prozess, der Ihr Objekt IP_MatInfo_## aus dem

Abbildung 4.76 Eigenschaften des Transformationsschrittes zu MatInfo_List

Abbildung 4.77 Aufbau des gesamten Integrationsprozesses

1440.book Seite 279 Montag, 10. August 2009 1:55 13

Page 102: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

280

Technische Einzelübungen4

Enterprise Services Repository repräsentiert. Wählen Sie im zweitenSchritt Ihren Konfigurationsprozess PI_Training_## aus, um denIntegrationsprozess in die entsprechende Szenarienauflistung aufzu-nehmen (siehe Abbildung 4.78).

Sie haben im dritten Schritt des Definitions-Wizards die Möglichkeit,einen anderen Namen für Ihren Prozess anzugeben. Der Einfachheithalber verwenden Sie den gleichen Namen wie im Enterprise Ser-vices Repository, IP_MatInfo_##. Nach dem Beenden des Wizardssollte im Verzeichnis Communication Component � Integration

Process nun Ihr Prozess erscheinen.

Zustellung der Eingangsnachrichten an den Integrationsprozess

Einen Überblick über alle Konfigurationsobjekte zur Zustellung derErstellungsbenachrichtigung an den Integrationsprozess gibt Tabelle4.12. Der mit dem Stern (*) versehene Kommunikationskanal wurdebereits in Abschnitt 4.1.3, »Konfiguration«, erstellt und wird an die-ser Stelle wiederverwendet.

Abbildung 4.78 Auswahl des Integrationsprozesses und Zuordnung zum Konfigurationsszenario

Art des Objektes Senderseite: System A Empfängerseite: Integrati-onsprozess IP_MatInfo_##

Kommunikations-kanal

RFC_Sender_Channel_

## *

Senderverein-barung

|SystemA|Z_RFM_MATERIALINFO_##|*|*

Tabelle 4.12 Elemente im Integration Directory für die Zustellung der Nachrichten zum Integrationsprozess

1440.book Seite 280 Montag, 10. August 2009 1:55 13

Page 103: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

281

Vierte Übung: Business Process Management 4.4

Aufruf des Konfigurations-assistenten für das erste Szenario

Rufen Sie den Konfigurationsassistenten auf, und wählen Sie dieOption Internal Communication. Der Sender ist das Business-Sys-tem A, das mit dem RFC-Adapter über die RFC-Schnittstelle Z_RFM_MATERIALINFO_## Daten versendet (siehe Abbildung 4.79).

Der Empfänger ist der Integrationsprozess IP_MatInfo_##, der überden XI-Adapter angesprochen wird. Sobald der Integrationsprozessals Communication Component über die Wertehilfe ausgewähltwurde, erscheint auch der zugeordnete Integrationsprozess aus demEnterprise Services Repository darunter. Nach dem Öffnen der Wer-tehilfe des Interface wählen Sie Abstract als Category, woraufhinnur das Interface SI_RFM_MATINFO_##_Async_Abstract erscheint, dasbeim Empfangsschritt des Prozessstarts verwendet wird. Sollte dieSuche keine Treffer zurückliefern, können Sie den Namen des Inter-face und den Namensraum eingeben (siehe Abbildung 4.80).

Die nachfolgende Sendervereinbarung |SystemA|Z_RFM_MATERIAL

INFO_##|*|* verwendet den bereits bestehenden Kommunikations-kanal RFC_Sender_Channel_## aus der ersten Übung. Der Bildschirmzur Erstellung der Empfängerermittlung |SystemA|Z_RFM_MATERIALINFO_## hat nur informativen Charakter.

Empfänger-ermittlung

|SystemA|Z_RFM_MATERIALINFO_##

Interface-Ermittlung

|SystemA|Z_RFM_MATERIALINFO_##||IP_MatInfo_##

Art des Objektes Senderseite: System A Empfängerseite: Integrati-onsprozess IP_MatInfo_##

Tabelle 4.12 Elemente im Integration Directory für die Zustellung der Nachrichten zum Integrationsprozess (Forts.)

Abbildung 4.79 Sendereinstellungen im Konfigurationsassistenten für die Eingangsnachricht

1440.book Seite 281 Montag, 10. August 2009 1:55 13

Page 104: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

282

Technische Einzelübungen4

Die Interface-Ermittlung |SystemA|Z_RFM_MATERIALINFO_##||IP_

MatInfo_## im nächsten Schritt zeigt das Interface SI_RFM_MATINFO_##_Async_Abstract als Ziel an, findet jedoch anscheinend kein Ope-ration Mapping. Dies ist auch nicht notwendig, da sowohl Sender- alsauch Empfänger-Interface denselben Message-Typ verwenden. EineEmpfängervereinbarung ist nicht erforderlich, da der Empfängerüber den XI-Adapter angebunden ist.

Weisen Sie alle Objekte Ihrem Szenario PI_Training_## zu, undbeenden Sie den Wizard. Prinzipiell könnten Sie jetzt bereits denIntegrationsprozess nach einer entsprechenden Aktivierung testen,jedoch würde die Ausgangsnachricht noch nicht zugestellt werden.Warten Sie mit dem Testen, bis auch der Versand der Ausgangsnach-richt konfiguriert ist.

Zustellung der Ausgangsnachricht vom Integrationsprozess

Die Zustellung der Ausgangsnachricht kann analog gestaltet werden.Dabei wird für den Empfänger der bereits bestehende Kommunika-tionskanal File_Receiverchannel_## verwendet, der ebenfalls in derersten Übung erstellt wurde.

Einen Überblick über alle in diesem Szenario verwendeten Konfigu-rationsobjekte finden Sie in Tabelle 4.13.

Abbildung 4.80 Empfängereinstellungen im Konfigurationsassistenten für die Eingangsnachricht

Art des Objektes Senderseite: IntegrationsprozessIP_MatInfo_##

Empfängerseite: System B

Kommunikations-kanal

File_Receiverchannel_##*

Tabelle 4.13 Elemente im Integration Directory für die Zustellung der Nachrichten vom Integrationsprozess

1440.book Seite 282 Montag, 10. August 2009 1:55 13

Page 105: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

283

Vierte Übung: Business Process Management 4.4

Aufruf des Konfigurations-assistenten für das erste Szenario

Rufen Sie wiederum den Konfigurationsassistenten auf, und wählenSie die Option Internal Communication. Der Sender dieses Szena-rios ist der Integrationsprozess IP_MatInfo_##. Die Wertehilfe derInterfaces ist auch an dieser Stelle stark eingeschränkt, da nur dieInterfaces angezeigt werden, die bei der Versendung von Nachrich-ten aus dem Prozess benutzt werden. Im Falle dieses Integrationspro-zesses wird nur eine Nachricht versendet, sodass nur ein Interfaceerscheint. Wählen Sie das angezeigte Interface SI_MatInfo_List_Async_Abstract aus (siehe Abbildung 4.81).

Festlegung des Empfängers im Konfigurations-assistenten

Der Empfänger der Ausgangsnachricht ist der File-Adapter des Busi-ness-Systems B, der auf die Schnittstelle SI_MatInfo_List_Async_Inreagiert (siehe Abbildung 4.82). Dieses Interface ist das richtungsbe-zogene Gegenstück zum abstrakten Interface der Ausgangsnachricht.Eine Sendervereinbarung wird nicht benutzt, da der sendende Pro-zess in SAP NetWeaver PI abläuft.

Empfänger-vereinbarung

|IP_MatInfo_##||SystemB|SI_MatInfo_List_Async_In

Empfänger-ermittlung

|IP_MatInfo_##|SI_MatInfo_List_Async_Abstract

Interface-Ermittlung

|IP_MatInfo_##|SI_MatInfo_List_Async_Abstract||SystemB

Art des Objektes Senderseite: IntegrationsprozessIP_MatInfo_##

Empfängerseite: System B

Tabelle 4.13 Elemente im Integration Directory für die Zustellung der Nachrichten vom Integrationsprozess (Forts.)

Abbildung 4.81 Sendereinstellungen im Konfigurationsassistenten für die Ausgangsnachricht

1440.book Seite 283 Montag, 10. August 2009 1:55 13

Page 106: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

284

Technische Einzelübungen4

Information überEmpfänger-ermittlung

Der Schritt der Empfängerermittlung informiert Sie darüber, dass dasSystem B in das Objekt |IP_MatInfo_##|SI_MatInfo_List_Async_Abstract aufgenommen wird. Auch in der Interface-Ermittlung |IP_MatInfo_##|SI_MatInfo_List_Async_Abstract||SystemB wird wiebeim ersten Konfigurationsszenario aufgrund desselben Message-Typs vom abstrakten und Inbound-Interface der Nachrichten keinOperation Mapping benötigt (siehe Abbildung 4.83).

Die Empfängervereinbarung |IP_MatInfo_##||SystemB|SI_MatInfo_List_Async_In verwendet den bereits bestehenden Kommunika-tionskanal File_Receiverchannel_##.

Fügen Sie alle neuen Objekte zu Ihrem Szenario PI_Training_##hinzu, und beenden Sie den Assistenten. Sie können nun alle neuenKonfigurationsobjekte aktivieren. Sie haben die Erstellung des viertenÜbungsszenarios damit abgeschlossen und können den Ablauf testen.

4.4.4 Ablauf und Monitoring

Der Ablauf dieses Integrationsszenarios beginnt in System A. MeldenSie sich deshalb mit Ihrem Benutzer SYS_A-## an, und rufen SieTransaktion SA38 auf.

Abbildung 4.82 Empfängereinstellungen im Konfigurationsassistenten für die Ausgangsnachricht

Abbildung 4.83 Interface Determination der Ausgangsnachricht

1440.book Seite 284 Montag, 10. August 2009 1:55 13

Page 107: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

285

Vierte Übung: Business Process Management 4.4

Versenden der ersten Material-informations-anforderungen

Führen Sie das Programm Z_PROG_MATERIALINFO_## aus, dessenCoding Sie in Anhang A finden. Dieses Programm ruft den Funktions-baustein Z_RFM_MATERIALINFO_## im Hintergrund über die RFC-Des-tination SYSTEMA_SENDER-## auf.8 Sie haben innerhalb des Pro-gramms lediglich die Möglichkeit, eine Materialnummer anzugeben.Die Angaben zum Ersteller und zum Erstellungsdatum werden auto-matisch mit gesendet. Welche Materialien Sie angeben, spielt an die-ser Stelle technisch keine Rolle, da die Korrelation der drei zu erwar-tenden Nachrichten über den Nachrichtenersteller, das heißt IhrenSAP-Benutzer SYS_A-## erfolgt. Sie können somit prinzipiell einenbeliebigen Namen eingeben und das Programm ausführen (sieheAbbildung 4.84).

Die Meldung, dass der Funktionsbaustein erfolgreich aufgerufenwurde, bedeutet nicht, dass die Nachricht wirklich angekommen ist.Sie gibt lediglich Auskunft darüber, dass der Aufruf des Funktions-bausteins Z_RFM_MATERIALINFO_## ohne Fehler abgelaufen ist.

Überprüfung der ersten Nachrich-tenversendung

Wechseln Sie nach dem Versenden der ersten von drei Nachrichtenin das PI-System, und rufen Sie dort die Transaktion SXMB_MONIauf. Sie sehen dort, dass eine Nachricht von Ihnen angekommen istund erfolgreich verarbeitet wurde. Wenn Sie in der Anzeige ein Stücknach rechts scrollen, können Sie sehen, dass in der Spalte Outbound

Status ein Uhrensymbol angezeigt wird (siehe Abbildung 4.85).9

8 Ein direkter Aufruf des Funktionsbausteins über Transaktion SE37 zu Testzweckenwürde einen synchronen Nachrichtenaustausch anstoßen und entsprechende Feh-ler auslösen.

Abbildung 4.84 Aufruf des Programms Z_PROG_MATERIALINFO_##

9 Bei Aufruf der Transaktion in englischer Sprache kann je nach Support-Package-Stand des PI-Systems in der Kurzform statt einer sprechenden Abkürzung lediglichein »c« als Spaltenbezeichnung erscheinen.

1440.book Seite 285 Montag, 10. August 2009 1:55 13

Page 108: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

286

Technische Einzelübungen4

Dies bedeutet, dass die Message gerade versendet wird. DieseAnzeige bleibt so lange bestehen, bis drei Nachrichten vom selbenErsteller eingegangen sind und die Ausgangsnachricht erzeugt wer-den kann.

Versenden vonzwei weiterenInformations-

anforderungen

Rufen Sie das Programm zur Benachrichtigung des Gesamtmaterial-verantwortlichen noch zweimal auf, und kehren Sie ins Monitoringzurück. Es sollten nun die drei eingegangenen Benachrichtigungensowie eine vierte Nachricht zu sehen sein. Der Ausgangsstatus derersten drei Nachrichten zeigt nun eine schwarz-weiß karierte Flaggean (siehe Abbildung 4.86), was die korrekte Verarbeitung anzeigt. Siekönnen auf dem PI-System Transaktion AL11, Transaktion ZAP-CMD10 oder das im Online-Bereich befindliche Programm aufrufen,um zu prüfen, ob eine Datei mit der entsprechenden Nachricht ange-legt wurde.

Monitoring desGeschäftsprozesses

Falls die vierte Nachricht nicht im Monitoring erscheinen sollte, kön-nen Sie einen Blick in das Monitoring der Business-Prozesse werfen.

Abbildung 4.85 Message Monitoring nach der ersten Nachricht

10 Detaillierte Informationen zum SAP Commander (Transaktion ZAPCMD) findenSie unter anderem unter: http://code.google.com/p/sapcommander.

Abbildung 4.86 Message Monitoring nach drei Nachrichten desselben Erstellers

1440.book Seite 286 Montag, 10. August 2009 1:55 13

Page 109: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

287

Vierte Übung: Business Process Management 4.4

Rufen Sie dazu im PI-System Transaktion SXMB_MONI_BPE auf, undklicken Sie doppelt auf den Eintrag Process Selection. Sie haben dieMöglichkeit, in der Auswahlmaske im Feld Component Ihren Inte-grationsprozess IP_MatInfo_## einzugeben, um nur den Status desWorkflows zu sehen. Dies sollten Sie jedoch nicht tun, wenn Sieeinem unvollständigen oder potenziell fehlerhaften Workflow nach-gehen wollen. Versuchen Sie zu diesem Zweck, lediglich den Selekti-onszeitraum auf die Nachrichtenversendung einzuschränken, undführen Sie danach die Abfrage aus. Es erscheinen nun alle Worki-tems, die zu diesem Zeitraum bearbeitet wurden.

Analyse der Workitems

In Abbildung 4.87 sehen Sie den Zustand der Workitems und desWorkflows nach der Versendung der ersten Nachricht. Ein Warte-schritt der Schleife wurde durch den Empfang der ersten Nachrichtabgearbeitet und wird als abgeschlossen (COMPLETED) markiert. Einweiterer Warteschritt erwartet weitere Nachrichten. Zudem könnenSie sehen, dass der Workflow gestartet ist.

Um zum Workflow-Protokoll zu gelangen, können Sie entwedereinen der Schritte per Doppelklick auswählen und anschließend dasIcon Log anklicken oder direkt einen Doppelklick auf den Workflow-Eintrag in der Auflistung vornehmen. Unabhängig davon, wie Sievorgehen, gelangen Sie zum Workflow-Protokoll (siehe Abbildung4.88).

Abbildung 4.87 Workitems nach der Versendung einer Nachricht

Abbildung 4.88 Anzeige des Workflow-Protokolls

1440.book Seite 287 Montag, 10. August 2009 1:55 13

Page 110: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

288

Technische Einzelübungen4

Grafische Anzeigeder Workflow-

Verarbeitung

Über den Button in der Spalte Details werden im unteren Teil desBildschirms Informationen zum aktuellen Status des Workflows ein-geblendet. Klicken Sie in der Spalte Graphic auf den Button, wodurchSie zur grafischen Anzeige des Business-Prozesses gelangen (sieheAbbildung 4.89). Sie können darin anhand der grünen Pfeile nach-vollziehen, bis zu welchem Punkt der Prozess gelaufen ist. Besteht einProblem, können Sie auf das entsprechende Objekt doppelklicken,um weitere Informationen zu diesem Schritt zu erhalten. Über denMenüpfad Extras � Diagnosis haben Sie zudem Zugriff auf relevanteAuswertungstransaktionen, die bei der Ursachensuche in einemunvollständig ausgeführten Workflow helfen können.

Abbildung 4.89 Grafische Anzeige des Workflow-Protokolls

1440.book Seite 288 Montag, 10. August 2009 1:55 13

Page 111: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

289

Vierte Übung: Business Process Management 4.4

4.4.5 Ergänzung der Übung um Alert Monitoring (optional)

Verwendung von Alerts zur Überwachung von Business-Prozessen

Der bestehende Integrationsprozess kann zur besseren Kontrolledurch die Versendung von Warnmeldungen ergänzt werden. Im Falledieser Übung soll eine Timeout-Überprüfung ergänzt werden, dieeine Warnmeldung versendet, wenn die Sammelschleife innerhalbeiner bestimmten Zeit nicht alle drei Eingangsnachrichten erhaltenhat. Die Voraussetzung für die Umsetzung der nachfolgendenSchritte ist die Vorbereitung des Alert Monitorings in Kapitel 3,»Grundlegende Systemkonfiguration«.

Erstellen der Alert-Kategorie

Anlegen einer neuen Alert-Kategorie

Zunächst werden Sie eine sogenannte Alert-Kategorie anlegen, diedie Gestaltung der Nachricht und die Steuerung der Nachrichtenzu-stellung bzw. Sichtbarkeit erlaubt. Melden Sie sich dazu am PI-Sys-tem an, und rufen Sie die Transaktion ALRTCDEF auf, um eine neueKategorie anzulegen.11 Wechseln Sie in den Änderungsmodus, undöffnen Sie das Kontextmenü des Pfades All Classifications � PI_

BOOK.

Die Kategorienklassifikation PI_BOOK wurde während der Vorberei-tungen der Übung einmalig eingerichtet. Klicken Sie in der Auflistungrechts vom Verzeichnisbaum das Icon Create Alert Category (leeresBlatt) an, um eine neue Kategorie innerhalb der Klassifikation zuerstellen. Geben Sie der neuen Kategorie in der neu erstellten Auflis-tungszeile den Namen PI_Alert_## und eine sprechende Beschrei-bung. Bestätigen Sie Ihre Eingaben über die (¢)-Taste.

Festlegen der möglichen Alert-Empfänger

Dadurch wird der untere Bereich des Bildschirms eingabebereit, undSie können die Eigenschaften der Kategorie bestimmen. AktivierenSie zunächst die Option Dynamic Text, wodurch der Text im Alertübergeben wird, den Sie später im Integrationsprozess festlegen wer-den. Sie haben nun zwei Alternativen, um festzulegen, wer Alerts die-ser Kategorie später erhalten soll.

� Sie können eine feste Liste von Empfängern eingeben, indem Siedas Icon Fixed Recipients anklicken und die entsprechenden

11 Sie haben prinzipiell auch über die Option Alert Configuration in der Run-time Workbench die Möglichkeit, eine Alert-Kategorie anzulegen, jedoch wirddabei nur die genannte Transaktion im WebGUI aufgerufen.

1440.book Seite 289 Montag, 10. August 2009 1:55 13

Page 112: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

290

Technische Einzelübungen4

Benutzernamen angeben. Diese Benutzer erhalten in jedem Falldie zugehörigen Alerts in der Runtime Workbench. Diese festeZuweisung ist jedoch sehr unflexibel und birgt das Risiko, dassAlerts nicht bei allen relevanten Personen ankommen bzw. dassBenutzer ungewollt benachrichtigt werden.

Abonnement vonAlert-Kategorien

� Als flexiblere Alternative kann es den Benutzern freigestellt wer-den, ob sie einen Alert dieser Kategorie erhalten möchten odernicht. Benutzer können Alerts dieser Kategorie in der RuntimeWorkbench abonnieren.

Diese Abonnement-Option gilt jedoch nur für Benutzer, die be-stimmte technische Benutzerrollen innehaben. Sie können dieListe der relevanten Rollen über das Icon Subscription Authori-

zation festlegen. Sie können zum Beispiel allen Schulungsteilneh-mern das Abonnement Ihrer eigenen Kategorie anbieten, indemSie die Rolle SAP_XI_DEVELOPER eingeben (siehe Abbildung 4.90).Unabhängig von der Wahl der Alternative, müssen Sie die Einträgespeichern und gegebenenfalls einem Transportauftrag zuweisen.

Die neu erstellte Alert-Kategorie sollte nun ähnlich wie Abbildung4.91 aussehen. Speichern Sie die neue Kategorie, und geben Sie aufNachfrage Ihren Transportauftrag an.

Abbildung 4.90 Eintragen einer Rolle für das Abonnement der Alert-Kategorie

1440.book Seite 290 Montag, 10. August 2009 1:55 13

Page 113: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

291

Vierte Übung: Business Process Management 4.4

Abbildung 4.91 Eigenschaften der neuen Alert-Kategorie

Erweiterung des Integrationsprozesses

Ergänzung einer parallelen Verarbeitung im Business-Prozess

Damit ein Alert der neuen Kategorie versendet wird, muss der beste-hende Integrationsprozess derart erweitert werden, dass parallel zurEmpfängerschleife eine Anweisungsfolge angestoßen wird, die nacheinem bestimmten Timeout einen Alert versendet.

Begeben Sie sich in das Enterprise Services Repository, öffnen SieIhren Integrationsprozess IP_MatInfo_##, und wechseln Sie in denÄnderungsmodus. Um einen besseren Überblick über den Ablaufund später eine bessere Transparenz beim Monitoring zu erlangen,erstellen Sie zunächst einen neuen Block namens Regular Proces-

sing, und ziehen alle bestehenden Schritte in diesen Block hinein,wobei Sie die Reihenfolge beibehalten. Bewegen Sie anschließendeinen Fork-Schritt vor den neu erstellten Block, und nennen Sie ihnTimeout Construct. Ziehen Sie anschließend den erstellten Block

1440.book Seite 291 Montag, 10. August 2009 1:55 13

Page 114: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

292

Technische Einzelübungen4

auf eine der beiden standardmäßig erstellten Verzweigungen desFork-Schrittes (siehe Abbildung 4.92).

Einfügen einesWarteschrittes

Bewegen Sie anschließend einen Blockschritt auf die zweite, bishernicht verwendete Verzweigung, und nennen Sie den Block Timeout

Check. Ziehen Sie in diesen neuen Block zunächst einen Warteschritthinein, und benennen Sie ihn Timeout. Wählen Sie als Type dieOption Wait Specified Time Period, und geben Sie drei Minuten an.Dadurch verzögert dieser Schritt die Ausführung der darauffolgendenSchritte um drei Minuten. Diese geringe Dauer eignet sich nur fürsolch einen Übungsfall und würde im praktischen Einsatz in denmeisten Fällen höher liegen.

Auslösen desAlerts

Fügen Sie hinter dem Warteschritt einen Control- bzw. Steuerungs-schritt ein, und nennen Sie ihn Timeout Alert. Dieser Schritt soll dieVersendung des Alerts vornehmen, wenn der gesamte Integrations-prozess länger als drei Minuten läuft. Stellen Sie die EigenschaftAction des Steuerungsschrittes auf die Option Throw Alert ein,wodurch ein Alert versendet wird, der Prozess jedoch weiterläuft.

Belassen Sie als Source den Alert Server. Geben Sie nun die ebenerstellte Alert Category nach dem Schema PI_ALERT_## an.Abschließend können Sie im Feld Alert Message eine beliebigeNachricht eingeben, die im Alert zu sehen sein wird. Am besten eig-net sich eine sprechende Benachrichtigung, wie zum Beispiel »IP_MatInfo_## timed out« (siehe Abbildung 4.93).

Der fertige Integrationsprozess sollte nun Abbildung 4.94 entspre-chen. Speichern, prüfen und aktivieren Sie den erweiterten Integra-tionsprozess.

Abbildung 4.92 Verschieben der bestehenden Schritte in eine Fork-Verzweigung

1440.book Seite 292 Montag, 10. August 2009 1:55 13

Page 115: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

293

Vierte Übung: Business Process Management 4.4

Abbildung 4.93 Eigenschaften des Steuerungsschrittes im Integrationsprozess

Abbildung 4.94 Erweiterter Integrationsprozess mit Timeout-Verzweigung

Abonnement der Alert-Kategorie und Testen des Ablaufs

Feste BenutzerSollten Sie bei der Bestimmung der Empfänger der neu erstellenAlert-Kategorie feste Benutzer zugeordnet haben, ist der nachfol-gende Schritt des Abonnements der Kategorie nicht notwendig. Fah-ren Sie mit dem Testen des veränderten Ablaufs fort.

Um eine Alert-Kategorie zu abonnieren, die Sie aufgrund einer Benut-zerrolle empfangen können, öffnen Sie die Runtime Workbench undwählen im oberen Menü den Eintrag Alert Inbox. Klicken Sie rechtsin der blauen Menüleiste auf den Eintrag Subscription, woraufhinsich ein weiteres Fenster öffnet. Sie sehen in der Auflistung alle Alert-Kategorien, die Sie abonnieren können und deren Abonnementstatus.

Eine graue Glühbirne in der Spalte Subscribed steht für eine nichtabonnierte Kategorie, während eine leuchtend gelbe Glühbirne eineabonnierte Kategorie auszeichnet (siehe Abbildung 4.95). Durch Kli-cken auf das Birnen-Icon bzw. die jeweiligen Buttons oberhalb der

1440.book Seite 293 Montag, 10. August 2009 1:55 13

Page 116: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

294

Technische Einzelübungen4

Auflistung können Sie ein Abonnement aktivieren oder deaktivieren.Die geänderten Einstellungen gelten sofort und müssen nicht geson-dert gespeichert werden.

Start desIntegrations-

prozesses

Um den erweiterten Integrationsprozess zu testen, melden Sie sichnun an System A mit Ihrem Benutzer SYS_A-## an und rufen überTransaktion SE38 das Programm Z_PROG_MATERIALINFO_## auf, wieSie es bereits im ursprünglichen Übungsablauf getan haben. GebenSie eine beliebige Materialnummer ein, und führen Sie die Versen-dung aus. Warten Sie anschließend die im Warteschritt des Integrati-onsprozesses angegebene Zeit, und rufen Sie dann die RuntimeWorkbench auf.

Navigieren Sie zur Option Alert Inbox, um die eingegangene Alert-Meldung anzuschauen. Markieren Sie die Meldung am Anfang derZeile, um alle Informationen zu sehen. Auf dem Karteireiter Short

Text sehen Sie die automatisch eingefügte Nummer der Workflow-Instanz, anhand deren Sie die verursachende Instanz ermitteln undanalysieren können. Auf dem Karteireiter Long Text finden Sie denvon Ihnen im Integrationsprozess eingegebenen Text aus dem FeldAlert Message des Steuerungsschrittes (siehe Abbildung 4.96).

Abbildung 4.96 Versendete Alert-Meldung in der Alert Inbox der Runtime Workbench

Abbildung 4.95 Abonnement zugeordneter Alert-Kategorien in der Runtime Workbench

1440.book Seite 294 Montag, 10. August 2009 1:55 13

Page 117: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

295

Vierte Übung: Business Process Management 4.4

Überwachung des Integrations-prozesses

Melden Sie sich anschließend am PI-System an, und rufen Sie Trans-aktion SXMB_MONI_BPE auf, um sich das Workflow Monitoringanzuschauen. Wählen Sie den Pfad Business Process Engine � Moni-

toring � Process Selection, und starten Sie diese Ansicht. SchränkenSie die Selektionszeit gegebenenfalls ein, und führen Sie die Selektiondurch. Sie erhalten eine Auflistung aller Workitems und können zumeinen sehen, dass zwei Wait Steps abgearbeitet wurden und ein wei-terer bereit ist. Einer der abgearbeiteten Wait Steps hat die ersteNachricht entgegengenommen, während der zweite die angegebeneZeit gewartet und eine Alert-Meldung versendet hat. Darüber hinauswird das Versenden des Alerts als gesonderter Background-Step auf-geführt (siehe Abbildung 4.97).

Betrachtung des Workflow-Logs

Wenn Sie über ein beliebiges Workitem per Doppelklick undanschließendem Klicken auf das Log-Icon zum Workflow-Log sprin-gen, können Sie die beiden Verzweigungen genau unterscheiden(siehe Abbildung 4.98).

Abbildung 4.97 Workitem-Ansicht nach Verwendung der Alert-Meldung

Abbildung 4.98 Workflow-Log des erweiterten Integrationsprozesses nach der Alert-Meldung

1440.book Seite 295 Montag, 10. August 2009 1:55 13

Page 118: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

296

Technische Einzelübungen4

4.5 Fünfte Übung: File-to-JDBC

Ablauf der fünftenÜbung

In Abschnitt 4.2, »Zweite Übung: File-to-IDoc«, haben Sie Daten auseiner Datei mittels IDoc-Technik ins Business-System B eingespielt. Siehaben mit SAP NetWeaver PI aber auch die Möglichkeit, Nachrichtenbzw. Daten direkt in eine Datenbank zu schreiben. Dies erfolgt überden JDBC-Adapter, der nun betrachtet wird. In dieser Übung wird dasSzenario dahin gehend erweitert, dass abhängig vom Präfix der Mate-rialnummer das entsprechende Zielsystem, das heißt Business-SystemB oder eine Datenbank, ausgewählt wird. Das Schema dieser Übungfür die synchrone Kommunikation sehen Sie in Abbildung 4.99.

4.5.1 Grundlagen

Der JDBC-Adapter (Java Database Connectivity) erlaubt den direktenZugriff auf Datenbanktabellen und kann sowohl lesend als auchschreibend verwendet werden. Dabei kann der Datenaustausch syn-chron oder asynchron ablaufen.

Installation vonTreibern

Vor der Verwendung der Java Database Connectivity ist die Installa-tion herstellerabhängiger Treiber notwendig. Die einzelnen JAR-Dateien können in der Regel bei den Datenbankherstellern herunter-geladen werden. Diese JAR-Dateien müssen in einem Archiv namenscom.sap.aii.adapter.lib.sda zusammengefasst werden, damit sie mit-tels Java Support Package Manager (JSPM) auf dem SAP NetWeaverApplication Server deployt werden können; die DateierweiterungSDA steht dabei für Software Deployment Archive. Eine genaue Anlei-tung für die Zusammenfassung der Treiberdateien und das Deploy-ment finden Sie einerseits im Konfigurationsleitfaden von SAP Net-Weaver PI und andererseits in der gesonderten Anleitung ProvidingExternal Drivers for the JDBC and JMS Adapters im SAP Help Portal.12

Abbildung 4.99 Schema der fünften Übung – File-to-JDBC

PI-System

System AFile-

AdapterJDBC-

Adapter MaxDB

12 Sie finden diese Anleitung unter: http://help.sap.com/saphelp_nwpi71/helpdata/de/33/e6fb40f17af66fe10000000a1550b0/frameset.htm.

1440.book Seite 296 Montag, 10. August 2009 1:55 13

Page 119: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

297

Fünfte Übung: File-to-JDBC 4.5

Konfiguration des JDBC-Adapters

Wird der JDBC-Adapter als Sender konfiguriert, wird eine im Kom-munikationskanal angegebene SQL-Query abgesetzt, um die jeweili-gen Daten zu ermitteln. Die gefundenen Zeilen werden in einen Mes-sage-Typ konvertiert, der als Designobjekt vorliegen muss. Nach derAuswahl und Konvertierung kann ein SQL-Update durchgeführt wer-den. Dies wird häufig dazu verwendet, die eingelesenen Zeilen miteinem entsprechenden Flag in einer bestimmten Spalte zu markieren.Dies verhindert, dass diese Zeilen bei der nächsten Query nochmalseingelesen werden.

Ein empfangender JDBC-Adapter kann verschiedene Aktionen aufden Zeilen einer Tabelle ausführen: UPDATE, INSERT, DELETE, SELECTund UPDATE_INSERT, was einem MODIFY gleichzusetzen ist. Darüberhinaus können Stored Procedures ausgeführt werden, um komple-xere SQL-Anweisungen direkt zu übergeben. Die Bestimmung derTabelle und der Aktion, die darauf ausgeführt werden soll, erfolgtüber den Message-Typ der empfangenden Seite.

Für diese Übung benötigen Sie eine Datenbank Ihrer Wahl, die netz-werktechnisch vom PI-Server aus erreichbar ist. In diesem Beispielwird eine Datenbank vom Typ MaxDB verwendet. Der Material-stammsatz aus Übung 2 wird in eine Datenbanktabelle geschrieben,die genau dieser Struktur entspricht. Ein SQL-Skript für die Anlageder Datenbank finden Sie in Anhang A zu diesem Kapitel.

4.5.2 Design

Überblick über die Designobjekte

Für das Schreiben in eine Datenbank mit dem JDBC-Adapter müssenSie den Inhalt der Nachricht in das XML-SQL-Format mappen. DiesesFormat wird vom JDBC-Adapter intern umgewandelt und an denkonfigurierten Datenbanktreiber weitergereicht. Das ist in diesemBeispiel auf die Operation INSERT13 beschränkt. Die Objekte, die fürdiese Übung neu erstellt werden müssen, finden Sie in Tabelle 4.14.

13 Weitere Informationen zum XML-SQL-Format finden Sie im SAP Help Portalunter: http://help.sap.com/saphelp_nwpi71/helpdata/EN/2e/96fd3f2d14e869e10000000a155106/frameset.htm.

1440.book Seite 297 Montag, 10. August 2009 1:55 13

Page 120: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

298

Technische Einzelübungen4

Anlegen der Interface-Objekte

Legen Sie im Enterprise Services Repository einen neuen Datentypan. Navigieren Sie dazu in das Kontextmenü des Pfades Data Types inIhrem Namensraum und legen Sie den Datentyp DT_INSERT_SQL an.Um eine Insert-Anweisung auszuführen, muss dieser Datentyp demXML-SQL-Format für den INSERT-Befehl entsprechen. Dieser besitztdas Format aus Listing 4.3.

Anlegen derInterface-Objekte

<root><StatementName>

<dbTableName action="INSERT"><table>realDbTableName</table><access>

<col1>val1</col1><col2>val2</col2>

</access><access>

<col1>val11</col1></access>

</dbTableName></StatementName>

</root>

Listing 4.3 Beispiel-XML für den XML-SQL-INSERT-Befehl

In den <access>-Blöcken geben Sie die Tupels ein, die Sie in dieTabelle einfügen möchten. Die XML-Tags entsprechen dabei denSpaltennamen Ihrer Datenbanktabelle. Dieses Statement muss min-destens ein <access>-Element besitzen. In unserem Beispiel sieht derDatentyp wie in Abbildung 4.100 aus.

Art des Objektes Senderseite Empfängerseite

Service-Interface SI_INSERT_SQL_Async_in

Message-Typ MT_INSERT_SQL

Datentyp DT_INSERT_SQL

Operation Mapping

OM_SI_Material_Async_Out_to_SI_INSERT_SQL_Async_in

Message Mapping MM_MT_Material_to_MT_INSERT_SQL

Tabelle 4.14 Elemente im Enterprise Services Repository für die Übung File-to-JDBC

1440.book Seite 298 Montag, 10. August 2009 1:55 13

Page 121: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

299

Fünfte Übung: File-to-JDBC 4.5

Erstellen Sie nun auf der Basis des neu angelegten Datentyps denMessage-Typ MT_INSERT_SQL. Öffnen Sie hierfür das Kontextmenüdes Pfades Message Types in Ihrem Namensraum, und legen Sieeinen neuen Message-Typ an. Als Datentyp tragen Sie den soebenerstellten Datentyp DT_INSERT_SQL ein.

Schließlich muss noch das Service-Interface für dieses Szenario ange-legt werden; es wird ein asynchrones Inbound-Interface benötigt. Le-gen Sie das Service-Interface SI_INSERT_SQL_Async_in über das Kon-textmenü des Pfades Service Interfaces an, und referenzieren Sie alsRequest-Message-Typ den Message-Typ MT_INSERT_SQL. Die Einstel-lungen des Service-Interface sind in Abbildung 4.101 dargestellt.

Abbildung 4.100 Type Definition für das Szenario File-to-JDBC

Abbildung 4.101 Service-Interface für das Szenario File-to-JDBC

1440.book Seite 299 Montag, 10. August 2009 1:55 13

Page 122: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

300

Technische Einzelübungen4

Anlegen der Mapping-Objekte

Für die Erweiterung des Szenarios aus Abschnitt 4.2, »Zweite Übung:File-to-IDoc«, benötigen Sie noch das Mapping zwischen dem sen-denden File-Format und dem neu angelegten SQL-XML-Format.Dafür legen Sie im ersten Schritt das Message Mapping zwischen denbeiden Message-Typen an.

Legen Sie über das Kontextmenü des Pfades Message Mappings inIhrem Namensraum ein neues Message Mapping mit dem NamenMM_MT_Material_to_MT_INSERT_SQL an. Tragen Sie als Message-Typfür die linke Seite des Mappings den Message-Typ MT_Material einund für die rechte Seite den Typ MT_INSERT_SQL.

Anlegen derMapping-Objekte

Die Elemente action und table in der Zielnachricht belegen Sie mitdem konstanten Wert INSERT und dem Namen der Datenbanktabelle,in die Sie die Werte schreiben wollen. In diesem Beispiel lautet dieserPI_MATERIAL. Die Elemente des Knotens access verknüpfen Sie mitden entsprechenden Feldern der Quellnachricht (siehe Abbildung4.102). Testen Sie das Mapping, und überprüfen Sie, ob dieselbeXML-Nachrichtenstruktur erzeugt wird wie in Beispiel-XML für denXML-SQL-INSERT-Befehl.

Als letzter Schritt des Designs fehlt nun noch das Operation Mapping.Legen Sie dieses über das Kontextmenü des Pfades Operation Map-

pings in Ihrem Namensraum mit dem Namen OM_SI_Material_Async_Out_to_SI_INSERT_SQL_Async_in an. Definieren Sie das Ser-

Abbildung 4.102 Message Mapping der Übung File-to-JDBC

1440.book Seite 300 Montag, 10. August 2009 1:55 13

Page 123: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

301

Fünfte Übung: File-to-JDBC 4.5

vice-Interface SI_Material_Async_Out als Ausgangs-Interface undSI_INSERT_SQL_Async_in als Ziel-Interface. Indem Sie auf den ButtonRead Operations klicken, werden die entsprechenden Message-Typen zu den Interfaces geladen. Jetzt können Sie das soebenerstellte Message Mapping als Mapping-Programm einstellen.

Aktivieren Sie alle Designobjekte, und wechseln Sie in das Integra-tion Directory.

4.5.3 Konfiguration

Für diese Übung legen Sie kein neues Szenario an, sondern Sie erwei-tern das Szenario aus Abschnitt 4.2, »Zweite Übung: File-to-IDoc«,derart, dass abhängig vom Präfix der Materialnummer in der einkom-menden Nachricht das Ziel ausgewählt wird. Falls die Materialnum-mer das Präfix db beinhaltet, wird das Material in die Datenbankgeschrieben, anderenfalls wird das bereits in Abschnitt 4.2 konfigu-rierte IDoc erstellt und im Business-System B verbucht.

Überblick über die Konfigurations-objekte

Die Konfigurationsobjekte, die Sie für diese Übung erstellen werden,sind in Tabelle 4.15 dargestellt. Die Empfängerermittlung muss fürdie Erweiterung nicht angelegt werden, da diese bereits existiert. Diebestehende Interface-Ermittlung muss angepasst werden, damitabhängig vom Präfix der Materialnummer die Nachricht entspre-chend geroutet wird.

Öffnen Sie im Integration Builder das Kontextmenü des KnotensCommunication Channel, und legen Sie einen neuen Kommunika-

Art des Objektes Senderseite: System A Empfängerseite: System B

Kommunikations-kanal

JDBC_ReceiverChannel_##

Empfänger-vereinbarung

|SystemA||SystemB|SI_INSERT_SQL_Async_in

Empfänger-ermittlung

Interface-Ermittlung

Tabelle 4.15 Elemente im Integration Directory für die Übung ABAP-Proxy-to-SOAP

1440.book Seite 301 Montag, 10. August 2009 1:55 13

Page 124: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

302

Technische Einzelübungen4

tionskanal mit dem Namen JDBC_ReceiverChannel_## an. WählenSie Business-System B als Kommunikationskomponente aus.

Konfiguration desJDBC-Adapters

Der Adapter ist vom Typ JDBC. Der Kommunikationskanal wird alsReceiver angelegt. Achten Sie darauf, dass als Message Protocol dasXML SQL Format eingestellt ist. Alternativ besteht auch die Möglich-keit, Native SQL String einzustellen. Dieses Protokoll dient haupt-sächlich zu Testzwecken.

Im Bereich Connection tragen Sie nun die Verbindung zur Daten-bank ein. Die Ausprägungen der Parameter JDBC Driver und Con-

nection sind abhängig von der eingesetzten Datenbank. Tragen Sieeinen Benutzer für die Datenbank in den Feldern User Name undPassword ein, der die Berechtigung zum Ausführen eines INSERT-Befehls auf der entsprechenden Tabelle hat.

Um das Szenario abhängig vom Präfix der Materialnummer zu steu-ern, erweitern Sie nun die Interface-Ermittlung |SystemA|SI_

Material_Async_out|SystemB| um ein weiteres konfiguriertes Emp-fänger-Interface. Achten Sie darauf, dass das neue Empfänger-Inter-face an erster Stelle steht und die Checkbox Maintain Order At Run-

time gesetzt ist. Auf diese Weise wird als Erstes die Bedingung desneuen Empfänger-Interface geprüft. Falls diese nicht zutrifft, wird einIDoc an das Business-System B geschickt.

Konfiguration derInterface-

Ermittlung

Wählen Sie das Service-Interface SI_INSERT_SQL_Async_in aus, undgeben Sie das Operation Mapping OM_SI_Material_Async_Out_to_SI_INSERT_SQL_Async_in an. Zuletzt tragen Sie nun noch mit demBedingungseditor die gewünschte Bedingung ein. Den Bedingungs-editor starten Sie über die Wertehilfe des Feldes Condition.

Abbildung 4.103 Einrichtung des JDBC-Empfängerkanals für System B

1440.book Seite 302 Montag, 10. August 2009 1:55 13

Page 125: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

303

Fünfte Übung: File-to-JDBC 4.5

Der Bedingungseditor öffnet sich in einem Popup und ermöglichtIhnen, in wenigen Schritten eine Überprüfung der Inhalte der ein-kommenden Nachricht durchzuführen. Über die Wertehilfe im FeldLeft Operand gelangen Sie in den Ausdruckseditor, über den Sie dasFeld spezifizieren können, das Sie prüfen (siehe Abbildung 4.104).

Konfiguration mithilfe des Ausdruckseditors

Wählen Sie das Feld MATNR aus, und klicken Sie auf OK. Sie gelangenwieder in das Fenster des Bedingungseditors. Wählen Sie als Opera-tor das Zeichen �. Mit diesem Operator können Sie eine Zeichen-kette nach einem Muster abfragen, wobei Sie folgende Zeichen ver-wenden können:

� + für ein beliebiges Zeichen

� * für eine beliebige Zeichenkette

Tragen Sie in das Feld des rechten Operanden den String db* ein(siehe Abbildung 4.105). Somit werden nun alle Materialien, derenMaterialnummer mit dem Präfix db* beginnen, an die Datenbankweitergeleitet. Alle anderen werden an das Business-System Bgeschickt.

Abbildung 4.104 Ausdruckseditor

1440.book Seite 303 Montag, 10. August 2009 1:55 13

Page 126: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

304

Technische Einzelübungen4

Nachdem Sie alle Parameter gepflegt haben, speichern Sie die Inter-face-Ermittlung (siehe Abbildung 4.106).

Abschließend muss noch die Empfängervereinbarung für den JDBC-Empfänger angelegt werden. Richten Sie diese über das Kontextmenüdes Knotens Receiver Agreement ein. Wählen Sie als sendende Kom-munikationskomponente das Business-System A aus und als empfan-gende das Business-System B. Als Empfänger-Interface tragen Sie dasService-Interface SI_INSERT_SQL_Async_in ein. Konfigurieren Sie fürdieses Objekt den neu angelegten Empfängerkanal JDBC_

ReceiverChannel_## als Kommunikationskanal (siehe Abbildung4.107). Speichern und aktivieren Sie alle Konfigurationsobjekte.

Abbildung 4.105 Bedingungseditor

Abbildung 4.106 Interface-Ermittlung des Szenarios File-to-JDBC

1440.book Seite 304 Montag, 10. August 2009 1:55 13

Page 127: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

305

Fünfte Übung: File-to-JDBC 4.5

4.5.4 Ablauf und Monitoring

Der Ablauf des Integrationsszenarios dieser Übung wird genauso wiein Übung 2 durch die Erstellung der Datei pi_output_##.dat im Ver-zeichnis des sendenden File-Adapters angestoßen. Erstellen Sie fürdieses Beispiel ein Material, dessen Materialnummer (Feld MATNR) mitdem Präfix db beginnt.

Monitoring der fünften Übung

Für die Erstellung und Platzierung der Datei können Sie einerseits dieVorlage und andererseits das Datei-Up- und Datei-Download-Pro-gramm verwenden, das Sie auf der Webseite zu diesem Buch finden(http://www.sap-press.de/2159). Sie können auch die Datei aus derersten Übung direkt benutzen. Zudem kann es notwendig sein, denSchreibschutz dieser Datei aufzuheben, wenn Sie in einem UNIX-Sys-tem arbeiten.

Je nachdem, welches Poll-Intervall im Kommunikationskanal einge-stellt wurde, wird die Datei nach einigen Minuten archiviert odergelöscht. Im PI-Monitoring (Transaktion SXMB_MONI) können Sienun überprüfen, ob in der Interface-Ermittlung das korrekte Interfaceermittelt wurde. Schließlich können Sie in der Datenbank verifizie-ren, ob das Material in der Tabelle angelegt worden ist.

Abbildung 4.107 Empfängervereinbarung für die Übung File-to-JDBC

1440.book Seite 305 Montag, 10. August 2009 1:55 13

Page 128: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

306

Technische Einzelübungen4

Das Szenario ist aus Sicht von SAP NetWeaver Process Integration feh-lerfrei verlaufen, wenn die Ausgangs-Message an den JDBC-Adapterübergeben worden ist. Fehlermeldungen, die im Adapter oder in derDatenbank auftreten, sehen Sie im Monitor für verarbeitete XML-Nachrichten (Transaktion SXMB_MONI) nicht. Hierfür können Sieden Adaptermonitor des JDBC-Adapters verwenden. Diesen Adapter-monitor finden Sie in der Runtime Workbench, die Sie wiederumüber die URL http://<J2EE-Host>:<J2EE-Port>/rwb/index.jsp erreichen.

4.5.5 Alternatives Java-Mapping (optional)

Einschränkungenvon Java-Mappings

Ganz im Zeichen von Java soll im Folgenden eine weitere Mapping-Alternative vorgestellt werden: das Java-Mapping auf Serverseite.Das grafische Mapping innerhalb des Enterprise Services Repositorywird zwar automatisch in Java-Code übersetzt, jedoch bietet es nureingeschränkte Möglichkeiten zum Mapping. Wer bereits die Ent-wicklung in Java gewöhnt ist, wird es vielleicht bevorzugen, im Lieb-lingseditor umfangreiche Java-Codings für das Mapping zu erstellen.Dabei ist jedoch zu beachten, dass Java-Mappings nicht zustandsbe-haftet sein dürfen. Damit verbunden dürfen Sie keine Daten inDatenbanktabellen schreiben, da nicht ausgeschlossen werden kann,dass Einträge doppelt erfolgen.14

Erstellung des Java-Mappings

SAP NetWeaverDeveloper Studio

für Java-Mappings

Das Java-Mapping, das später in das Enterprise Services Repositoryimportiert wird und damit im PI-System liegt, besteht im einfachstenFall aus einer Java-Klasse in einer JAR-Datei. Prinzipiell kann dieseKlasse in einem beliebigen Editor entwickelt werden, jedoch werdendabei SAP Java Librarys referenziert. Um diese Bibliotheken direktverwenden und damit eine entsprechende Fehlerprüfung nutzen zukönnen, sollte das SAP NetWeaver Developer Studio im gleichenRelease des Java-Stacks des PI-Systems verwendet werden.

Starten Sie das SAP NetWeaver Developer Studio, und erstellen Sieüber den Pfad File � New � Project ein neues Entwicklungsprojekt.Wählen Sie in der Kategorie Java die Option Java Project (sieheAbbildung 4.108).

14 Detaillierte Informationen zu den Einschränkungen und Möglichkeiten des Java-Mappings in SAP NetWeaver PI finden Sie unter: http://help.sap.com/saphelp_nwpi71/helpdata/de/e2/e13fcd80fe47768df001a558ed10b6/frameset.htm.

1440.book Seite 306 Montag, 10. August 2009 1:55 13

Page 129: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

307

Fünfte Übung: File-to-JDBC 4.5

Erstellung der Klasse

Benennen Sie das neue Projekt nach dem Schema PI_Java_Mapping_##, und fahren Sie mit dem nächsten Schritt des Erstellungs-Wizardsfort. Klicken Sie anschließend auf Finish, um das Projekt zu generie-ren. Falls nicht bereits die Java Perspective eingestellt ist, bestätigenSie den Wechsel auf diese Ansicht. Das neue Projekt erscheint nunauf der linken Seite in der Baumstruktur.

Öffnen Sie das Kontextmenü des neuen Projektes, und navigieren Siezum Pfad New � Class, um eine neue Klasse innerhalb des Projekteszu erstellen. Benennen Sie das Paket, in dem die neue Klasse erstelltwerden soll, com.sappress.pi_training, und geben Sie der neuenKlasse den Namen MaterialMapper_## (siehe Abbildung 4.109).Beenden Sie den Erstellungs-Wizard über Finish.

Integration der SAP Java Librarys für Mappings

Um innerhalb des Quellcodes auf die erwähnten SAP Java Libraryszugreifen zu können, müssen Sie diese dem Projekt bekannt machen.Öffnen Sie erneut das Kontextmenü des Projektes, und wählen Sie dieOption Properties. Selektieren Sie im neu erscheinenden Fensterlinks das Verzeichnis Java Build Path, und navigieren Sie zum Kar-teireiter Libraries. Klicken Sie rechts auf den Button Add Vari-

able…, und wählen Sie die Variable SAP_SYSTEM_ADD_LIBS aus. Kli-cken Sie anschließend auf Extend, um die Unterstruktur zu sehen.

Abbildung 4.108 Erstellung eines neuen Java-Projektes

1440.book Seite 307 Montag, 10. August 2009 1:55 13

Page 130: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

308

Technische Einzelübungen4

Navigieren Sie zum Pfad der ersten Library in Tabelle 4.16, und bestä-tigen Sie Ihre Auswahl schließlich mit OK.

Abbildung 4.109 Anlegen der Klasse innerhalb des Projektes

Library Pfad

Mapping-API comp � SAP_XIAF � DCs � sap.com � com.sap.aii.mapping.lib.facade � _comp � gen � default � public � api � lib � java � com.sap.aii.mapping.api.filter.jar

SAP XML Toolkit comp � ENGINEAPI � DCs � sap.com � sapxmltoolkit � _comp � gen � default � public � default � lib � java � sapxmltoolkit

Java Connector comp � ENGINEAPI � DCs � sap.com � com.sap.mw.jco � _comp � gen � default � public � default � lib � java � com.sap.mw.jco

Logging comp � ENGINEAPI � DCs � com.sap.tc.Logging � _comp � gen � default � public � default � lib � java � com.sap.tc.Logging

Tabelle 4.16 SAP Java Librarys zur Umsetzung von Java-Mappings

1440.book Seite 308 Montag, 10. August 2009 1:55 13

Page 131: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

309

Fünfte Übung: File-to-JDBC 4.5

Gehen Sie analog für die drei verbleibenden Bibliotheken vor.Schließlich sollte die Auflistung der Java Librarys in Ihrem ProjektAbbildung 4.110 gleichen.

Aufbau und Ablauf der Klasse

Übertragen Sie nun das Coding aus Anhang A bzw. aus der Vorlage-datei der Online-Ressourcen zu diesem Buch in die neue Klasse. Andieser Stelle soll nur grob auf den Aufbau und den Ablauf der Klasseeingegangen werden. In der Methode execute, in der das eigentlicheGeschehen stattfindet, wird Schritt für Schritt die Ausgangsnachrichtin Form des neuen Dokumentes result aufgebaut. Zunächst wird derMessage-Typ deklariert und der Tabellenname PI_MATERIAL festge-legt.

Die Methode appendElement am Ende des Codings dient lediglichdem vereinfachten Anhängen von Elementen an die Zielnachricht.Anschließend werden die Elemente der Ausgangsnachricht ohne wei-tere Transformation an die Zielnachricht angehängt. Schließlich wirddie Zielnachricht über die Methode transform zurückgeliefert.

Export des JAR-Archivs

Um aus dem Projekt mit der neuen Klasse nun eine JAR-Datei zuerstellen, wie sie für das Einspielen in das Enterprise Services Repo-sitory notwendig ist, navigieren Sie in der oberen Menüzeile zu File

� Export. Wählen Sie die Option JAR File aus, und klicken Sie aufNext. Überprüfen Sie, dass nur Ihr Projekt im linken oberen Bereichund auf der rechten Seite kein weiterer Eintrag markiert ist. GebenSie den Namen der neu zu erstellenden JAR-Datei nach dem SchemaMaterialMapper_##.jar inklusive des Pfades an, und klicken Sie aufFinish (siehe Abbildung 4.111).

Abbildung 4.110 SAP Java Library des Java-Mapping-Projektes

1440.book Seite 309 Montag, 10. August 2009 1:55 13

Page 132: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

310

Technische Einzelübungen4

Verwendung des Java-Mappings

Anlegen einesImported Archives

im EnterpriseServices

Repository

Wechseln Sie nun in das Enterprise Services Repository und dort inIhren Namensraum, um das erstellte JAR-Archiv zu importieren.Wählen Sie in der Menüzeile den Pfad Object � New, oder klicken Sieauf das entsprechende Icon. Navigieren Sie im Erstellungs-Wizard aufder linken Seite zum Pfad Mapping Objects � Imported Archive, undvergeben Sie den Namen MM_MT_Material_to_MT_INSERT_SQL_Java(siehe Abbildung 4.112). Überprüfen Sie, dass Ihr Namensraum ange-zeigt wird, und geben Sie eine sprechende Beschreibung an, bevor Sieden Wizard beenden.

Import des JAR-Archivs

Nach der Erstellung des neuen Objektes öffnet sich sofort das Detail-fenster, in dem Sie die JAR-Datei importieren können. Klicken Sierechts vom Feld File auf das Icon Import Archive, und wählen Siezunächst den Dateityp *.jar im Feld Files of type aus. Navigieren Siezum JAR-Archiv, das Sie eben exportiert haben, und klicken Sieanschließend auf Open. Nun werden im Feld File das entsprechendeJAR-Archiv und im unteren Bereich der Detailansicht die relevanten

Abbildung 4.111 Export des Projektes als JAR-Datei

1440.book Seite 310 Montag, 10. August 2009 1:55 13

Page 133: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

311

Fünfte Übung: File-to-JDBC 4.5

Dateien des Archivs angezeigt (siehe Abbildung 4.113). Speichern Sienun das neue Objekt, wodurch zugleich ein neues Verzeichnis Impor-

ted Archives im Baum auf der linken Seite erscheint.

Anpassen des Operation Mappings

Wechseln Sie nun zum bereits bestehenden Operation Mapping OM_SI_Material_Async_Out_to_SI_INSERT_SQL_Async_in und dann inden Änderungsmodus. Im Bereich Mapping Program unten in derMitte, wählen Sie in der Spalte Type den Typ Java Class, um das im-portierte Archiv als Mapping-Programm auswählen zu können. Se-lektieren Sie anschließend im Feld Name das neue Imported Archivecom/sappress/pi_training/MaterialMapper_## (siehe Abbildung4.114). Speichern Sie das angepasste Mapping, und testen Sie es. Ak-tivieren Sie abschließend die beiden neu erstellten bzw. verändertenObjekte.

Abbildung 4.112 Erstellen eines Imported Archives im Enterprise Services Repository für das Java-Mapping

Abbildung 4.113 Details des Imported Archives nach dem Import des JAR-Archivs

1440.book Seite 311 Montag, 10. August 2009 1:55 13

Page 134: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

312

Technische Einzelübungen4

4.6 Weitere Adapter

Da trotz der Vielzahl verschiedenartiger Integrationsszenarien nichtalle Adapter in den hier dargestellten Einzelübungen und der folgen-den Fallstudie betrachtet werden können, sollen die ausgelassenen,aber dennoch häufig verwendeten Adaptertypen in diesem Abschnittübersichtsartig berücksichtigt werden. Dabei liegt der Fokus aufBesonderheiten des praktischen Einsatzes. Der Mail-Adapter wird andieser Stelle nicht behandelt, da er in die Fallstudie (siehe Kapitel 5,»SARIDIS-Fallstudie im Vertrieb«) eingebunden ist und dort betrach-tet wird.

4.6.1 JMS-Adapter

Einsatzbereichedes JMS-Adapters

Der JMS-Adapter (Java Message Service) wird vor allen Dingen fürden Datenaustausch mit anderen EAI- und Messaging-Systemen ver-wendet. Dabei spielen Produkte wie zum Beispiel IBM WebSphereMQ oder SonicMQ eine Rolle. Im Gegensatz zu anderen Adaptern istbislang jedoch nur eine asynchrone Kommunikation über diesenAdaptertyp möglich.

Ebenso wie bei der Verwendung des JDBC-Adapters sind auch fürJMS-Adapter herstellerabhängige Treiber zu deployen. Die Treiberkönnen von den Herstellern der angebundenen EAI-Systeme bezo-gen und wie die JDBC-Treiber eingerichtet werden. Da bei diesem

Abbildung 4.114 Austausch des bestehenden Mapping-Programms gegen das importierte Archiv

1440.book Seite 312 Montag, 10. August 2009 1:55 13

Page 135: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

313

Weitere Adapter 4.6

Adapter aus bzw. in Queues anderer Produkte gelesen bzw. geschrie-ben wird, bedarf es neben Einstellungen im Kommunikationskanalvon SAP NetWeaver PI auch einer gewissen Konfiguration aufseitendes angebundenen EAI-Produktes.

Konfiguration des JMS-Adapters

SAP stellt für die Konfiguration des JMS-Adapters sowohl als Senderals auch als Empfänger bereits verschiedene mögliche Transportpro-tokolle zur Auswahl, die teilweise produktspezifisch sind. Die Einstel-lungen des sendenden JMS-Adapters erlauben es, Korrelationen auf-grund verschiedener Kriterien herzustellen. Darüber hinaus kanngewählt werden, ob der JMS-Payload als gesamte Message oder alsMessage-Payload übernommen wird. Im Rahmen der asynchronenKommunikation stehen als Quality of Service Exactly Once undExactly Once in Order zur Verfügung.

Der JMS-Adapter in der Rolle des Empfängers erlaubt es, all die Para-meter wieder zurückzuliefern und zudem die Gültigkeitsdauer unddie Priorität der JMS-Message für das empfangende System festzule-gen. Es kann auch angegeben werden, ob die Daten in einer transak-tionalen JMS-Session übergeben werden sollen oder nicht. Je nachWahl des angebundenen EAI-Systems und damit des Transportproto-kolls variieren die Konfigurationsmöglichkeiten stark und könnenweitere Parameter enthalten.

4.6.2 SAP Business Connector-Adapter

EinsatzgebietDer SAP Business Connector-Adapter (SAP BC) erlaubt die Kommuni-kation mit dem SAP Business Connector. Er eignet sich somit beson-ders für Integrationsszenarien, die teilweise durch SAP NetWeaver PIabgelöst werden sollen.

Eine Voraussetzung für die Anbindung eines SAP Business Connec-tors ist dabei, dass er mindestens in der Version 4.7 vorliegt. Der SAPBusiness Connector-Adapter kann RFC- und IDoc-XML-Dokumenteverarbeiten. Die Aufrufe des Adapters sind dabei jedoch stateless,sodass keine transaktionale Session möglich ist und als Quality of Ser-vice Exactly Once in Order nicht zur Verfügung steht. Darüber hinauskönnen keine Attachments verarbeitet werden.

KonfigurationIn der Rolle des Senders sind die Einstellungen des Adapters sehrübersichtlich, zumal der Großteil dieser Einstellungen im SAP Busi-ness Connector selbst vorgenommen wird. Ein solcher Adapter als

1440.book Seite 313 Montag, 10. August 2009 1:55 13

Page 136: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

314

Technische Einzelübungen4

Sender bietet die Parameter Aufbewahrungszeit, Wiederholungsin-tervall und Wiederholungsanzahl sowie Zeitüberschreitung an. DieEinstellung des Message-Protokolls bestimmt, ob RFC- oder IDoc-Dokumente empfangen werden.

Im SAP Business Connector selbst hingegen wird festgelegt, dass derTransport als XML im XML-Dialekt SAP-XML erfolgt. Zudem wird dieURL des BC-Adapters angegeben, die nach dem Schema http://<PI-Hostname>:<J2EE-Port>/MessagingSystem/receive/BcAdapter/BC auf-gebaut ist. Die Verwendung des BC-Adapters in der Empfängerrolleerfordert neben den genannten Parametern die URL des empfangen-den SAP Business Connectors sowie entsprechende Zugangsdaten.

4.6.3 Plain-HTTP-Adapter

Verwendung Der Plain-HTTP-Adapter von SAP NetWeaver Process Integrationerlaubt den Empfang und den Versand von Daten in reinem HTTP-Format. Diese Eigenschaft spielt eine Rolle bei der Anbindung vonBusiness-Systemen, die keine SOAP-Dokumente erstellen oder verar-beiten können. Der empfangende HTTP-Adapter wird über die URLhttp://<PI-Hostname>:<ABAP-Port>/sap/pi/adapter_plain?<Query-String> angesprochen. Der Query-String enthält Steuerungsdaten,wie zum Beispiel Sender-Service, Namensraum und Interface, undermöglicht dadurch eine Identifikation und damit die Zuordnung zueiner entsprechenden Empfängervereinbarung. Der Payload wird ineinem HTTP-Post als XML-Dokument mit der Codepage UTF-8 gesen-det. Sicherheitseinstellungen wie die Verwendung von HTTPS kön-nen im Kommunikationskanal eingestellt werden.

Der Plain-HTTP-Adapter unterstützt alle Quality of Service-Arten undkann im synchronen Fall über den HTTP-Returncode eine Rückmel-dung über Fehler oder Erfolg geben.

4.6.4 Java-Proxy-Generierung

Änderungen derJava-Proxy-

Generierung

Die Java-Proxy-Generierung des Enterprise Services Builder ist nurmehr für Kunden relevant, die SAP XI 3.0 oder die VerwendungsartProcess Integration von SAP NetWeaver 7.0 im Einsatz hatten undein Upgrade auf SAP NetWeaver Process Integration 7.1 durchge-führt haben bzw. durchführen möchten. Die aktuelle Java-Proxy-Generierung in Release 7.1 ist für kleinere Anpassungen von Service-

1440.book Seite 314 Montag, 10. August 2009 1:55 13

Page 137: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

315

Weitere Adapter 4.6

Interfaces vorgesehen, die aufgrund der automatischen Migrationvon Message-Interfaces eines Integration Repository (Release XI 3.0oder SAP NetWeaver 7.0) im Enterprise Services Repository angelegtworden sind. Diese Migration findet beim Import von Message-Inter-faces in das Enterprise Services Repository statt.

Mithilfe der Proxy-Generierung des Enterprise Services Builder kön-nen Sie für diese Service-Interfaces Proxy-Objekte nachgenerieren.Für Service-Interfaces, die unter Release 7.1 angelegt wurden, bestehtdiese Möglichkeit nicht mehr. Die Java-Proxy-Generierung wird inRelease 7.1 und in den folgenden Releases von SAP NetWeaver PIdaher nicht mehr unterstützt. Für neue Entwicklungen empfiehlt SAPdie Java-Proxy-Generierung im SAP NetWeaver Developer Studio.

4.6.5 RNIF-Adapter

Konnektivität mit dem RosettaNet

Der RNIF-Adapter unterstützt den von RosettaNet definierten Kom-munikationsstandard RosettaNet Implementation Framework (RNIF).Der RNIF-Standard legt die Protokollversionen 1.1 und 2.0 fest. Aufdiesen Versionen basieren die RNIF-Adapter von SAP NetWeaver PI.

Aufgabe des RNIF-Adapters ist die Änderung des PI-Message-Formatsin das erforderliche RosettaNet-Message-Format. Er besitzt die Fähig-keit, Messages aus dem PI-System in ein RosettaNet-konformes Sys-tem zu senden und Messages aus einem RosettaNet-konformen Sys-tem zu empfangen.

Das SAP Business Package for RosettaNet bietet eine durchgängigeLösung für den unternehmensübergreifenden Handel, basierend aufHightech-Industriestandards. Weiterführende Informationen dazuerhalten Sie im SAP Service Marketplace (http://service.sap.com)

4.6.6 CIDX-Adapter

Standard der chemischen Industrie

Der CIDX-Adapter unterstützt die Chem eStandards, ein vom Chemi-cal Industry Data Exchange veröffentlichter Standard, und wird fürden gemeinschaftlichen Internethandel in der chemischen Industrieverwendet. Der CIDX-Adapter basiert auf den Chem-eStandards-Ver-schlüsselungs- und Sicherheitsspezifikationen, die sich mit bestimm-ten Abweichungen auf einen erweiterten Teilbereich des RosettaNetImplementation Frameworks in der Version 1.1 beziehen.

1440.book Seite 315 Montag, 10. August 2009 1:55 13

Page 138: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

316

Technische Einzelübungen4

Der CIDX-Adapter wird für das Senden von Messages zwischen demIntegration Server und einem Chem-eStandards-Business-Transak-tions-kompatiblen System verwendet; hierbei wird das Message-Format aus SAP NetWeaver PI in ein CIDX-Transaktions-Message-Format umgewandelt. Weitere Information zu CIDX finden Sie unterhttp://www.cidx.org.

1440.book Seite 316 Montag, 10. August 2009 1:55 13

Page 139: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

493

Index

A

A2A 58ABAP

Interface 220Klasse 220, 253Mapping 116, 170, 220Proxy 102, 107, 146, 152, 153, 163,

243, 253Proxy-Generation 163Service 126

Abap-class 170, 223Abhängigkeit 202Ablauf 339Abonnement 172, 290Abschnitt, paralleler 274, 291abstrakte Kategorie 346abstraktes Interface 261, 269abwärtskompatibles Passwort 161Adapter 75, 89

Monitoring 218, 236, 409SAP NetWeaver Process Integration

371SOAP 365Typ 72, 207, 219, 237

Adapter Engine 207Adapter Framework 88Add-on 146Advanced Adapter Engine 87, 117,

449Aktivierung 214ALE 142

Kommunikation 225, 392Nachricht 241

AlertInbox 172, 293, 294Kategorie 173, 289Klassifikation 173Konfiguration 85, 172Message 294Monitoring 172Server 292

ALERTPERSONALIZE_RULES 172ALERTSUBSCRIPTION 172ALRTCDEF 289

Alternativfunktion 269AmberPoint 443, 462Änderungsliste 205, 214

Aktivierung 206Standard 205

Anfrage 320, 323, 338Position 323

Angebot 373Erstellung 373Liste 344

AnmeldungDaten 183Verfahren 158

Anwendungssystem, monolithisches 26

Anzeige, grafische 288Apache 436Append 277APPINT 146Application Link Enabling � ALEApplication Log 242Application Profile 181Application System 145Application-to-Application 58Applikationsserver 63, 140, 208

zentraler 141Arbeitsfläche 275Architektur

serviceorientierte � SOAUnterschied 28

ArchivDatei 401importiertes 310, 401

Archivierung 234Argument 250ARIS Business Architect 52ARIS for SAP NetWeaver 48, 447

Toolset 49Arithmetik 203Asnyc/Sync-Bridge 377Assign 278asynchrone Verarbeitung 111, 383asynchrone Versendung 363asynchroner Modus 200Auftraggeber 324

1440.book Seite 493 Montag, 10. August 2009 1:55 13

Page 140: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

494

Index

Auftragsnummer 407Ausbaustufe 439Ausdruckseditor 303Ausgangsnachricht 282Ausgangsstatus 285Auslieferung 407Auswahlmethode 198Authentifizierung 457Authentifizierungsdaten 153automatische Datenübermittlung 150automatischer Buchungsvorgang 48Availability Management 86

B

B2B 59Integration 69

BAPI 39, 108base64 405Basic Data 239Basisadministrator 135Basistyp 376BD87 338, 375, 397Bedingung 368, 406

Übersicht 369Bedingungseditor 275, 304Beer Distribution Game 434, 438benutzerdefinierte Funktion 249Benutzerentscheidung 274, 416, 424Benutzertyp, Service 162Berechtigung

Objekt 174Profil 174Rolle 162

Beschreibungskonflikt 33Best Effort 111Best-of-breed-Ansatz 26Block 274Boolean 349BPE 83, 93, 260BPEL 260, 448

Modell 447Prozess 435, 438Prozessdesigner 104

BPM 48, 59, 62, 260BPMN 446, 448

Modell 447BPP 65BSP_UNLOCK_LONG_APP 172

Buchungsvorgang, automatischer 48Business Application Programming

Interface 39, 108Business Component 370, 379, 403,

404Business Intelligence 61Business Landscape 144, 179Business Process 343, 376, 433

Gerüst 344Business Process Engine 83, 93, 260Business Process Execution Language

for Web Services 44Business Process Execution Language

� BPELBusiness Process Management 48, 59,

62, 260Business Process Modeling Notation �

BPMNBusiness Process Platform 65Business Scenario Map 429Business-Komponente 100, 103Business-Objekt 431Business-Service 364Business-System 78, 79, 103, 137,

144, 179, 207Rolle 145, 153

Business-to-Business � B2B

C

Callback 35ccBPM 260Change List � ÄnderungslisteCharge 332Checkliste 184Class Builder 220, 255Client-Proxy 105Common Process Layer 446, 448Communication Component 280, 404Computersystem 143concat 382Condition 276Condition Editor 275Configuration Management 86Configuration Overview 213Configuration Wizard 137, 149, 236Configure User Authentication 365Configured Receiver 212

1440.book Seite 494 Montag, 10. August 2009 1:55 13

Page 141: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

495

Index

Container 268Element 269, 361, 362, 363, 388Objekt 356Operation 274, 277, 344

Control 274Controlling-Plattform 49Cookie 155, 160CORBA 42CPI-C Timeout 164CPL 446, 448cross-component Business Process

Management 260

D

Data Dictionary 343Dateinamenschema 210Dateizugriffsparameter 209Daten

Kollektor 151Sammelprogramm 151

Datenbank, Hostname 140Datenkonflikt 34datenorientierte Integration 38Datentyp 72, 196, 197, 324, 431

Core 72globaler 72Mail 400

Datenübermittlung, automatische 150

Datenwandler 70DateTrans 384Definition

externe 245, 346grafische 273Wizard 280

Deklaration 364Design 76

Nova 136Objekt 194, 227, 245Phase 261Signature 136

Detailfenster 197Detailmenü 197Development Consultant 188Diagnose 288direkte Kommunikation 125Download 137

Dozent 187Drag & Drop 199, 201, 247, 268, 275

E

EAI 26Eclipse 449Eingang

Parameter 226, 321, 377Rechnung 397

Einzelhändler 434E-Mail 172, 406Empfang 277

Empfangsschritt 273Empfänger 289

Ermittlung 34, 75, 101, 120, 212, 238, 273, 367, 368

Kanal 210, 235, 239, 256, 334Parameter 237Vereinbarung 93, 101, 211, 239,

367, 392End-to-End-Monitoring 84End-to-End-Prozessintegration 67Enqueue 141Enterprise Application Integration 26Enterprise Central Component 139Enterprise Service 66Enterprise Service Bus 37Enterprise Services Builder 115, 417Enterprise Services Repository 46, 65,

80, 126, 192Enterprise Services Workplace 429Entscheidungsalternative 416equalsS 349ERP-System 26Erweiterung 427

Advanced Adapter Engine 460Richtung 427

ESR � Enterprise Services RepositoryExactly Once 111, 156Exactly Once In Order 111, 156Exchange Profile 146, 170EXECUTE_SYNCHRONOUS 254Expression Editor 272, 368Extensible Markup Language � XMLexterne Definition 245, 346externe Schnittstellendefinition 183

1440.book Seite 495 Montag, 10. August 2009 1:55 13

Page 142: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

496

Index

F

Fabrik 434Fachkonzept 54Faktura 398Fallstudie 317Fault Message Type 200Faxversand 172Federated Service Bus 452

Infrastruktur 452Feld, Deaktivierung 231fiktives Label 318File

Adapter 109, 189, 224, 363Empfängerkanal 366Senderkanal 334

File Access Parameter 209File Content Conversion 209File Name Scheme 210File Transfer Protocol 209Filter 142Flagge 286Folder 193, 214Fork 274, 291FormatNum 203FTP 209Funktion

benutzerdefinierte 249concat 382grafische 202if 349

Funktionsbaustein 190, 342remotefähiger 436

G

GatewayServer 147, 208Service 148

Gesamtbetriebskosten 450Geschäftsprozess 48, 60, 67

Management 59Modellierungswerkzeug 49

globaler Datentyp 72Globally Unique Identifier 112Glühbirne 293grafische Anzeige 288grafische Definition 273grafische Funktion 202

grafische Modellierung 273Großhändler 434Grunddaten 239GUID 112Guided Procedures 50Gültigkeitsbereich 271

H

Hardware-Sizing 449Häufigkeit 201, 264, 265, 326, 359,

360Header Mapping 392Heterogenität 25Hierarchieebene 331Hilfe, technische 240Hitech AG 318HMI 158Hochschule 317Hostname, voll qualifizierter 149HTTP

Method Invocation 158Post 314Response 161

Hub & Spoke 36

I

IBM WebSphere MQ 312ICF 157IDES 317IDES_DEVELOP 175IDES_USER 175IDES-System 147IDoc 71, 225, 237, 320, 334, 338

Adapter 166Anfrage 415MATMAS02 320Metadaten 168Struktur 230Typ 231Übung 166

IDX1 168if 349IF_MAPPING 220IfWithoutElse 349IMAP 402, 405IMAP4 399Import 180, 195, 324

1440.book Seite 496 Montag, 10. August 2009 1:55 13

Page 143: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

497

Index

importiertes Archiv 310, 401importiertes Objekt 229Inbound 113, 354, 358Inbound Message 73, 420, 422Inbound Parameter 226Informationsintegration 61Inside-Out 102, 103Installation

Anleitung 137, 147Leitfaden 452Nummer 140

installierte Software 179, 180Instanz 348Instanznummer 141Integration 25, 28

Adapter 46ARIS/SAP 55Beispiel 31Business Process Modeling 47datenorientierte 38Gegenstand 29Konfiguration 47Konzept 29Mapper 46Monitoring 47Plattform 28, 58, 62Prozess 80, 93, 104prozessorientierte 39Punkt zu Punkt 36Queueing-Mechanismus 46Reichweite 30Richtung 29Router 46Runtime Environment 47Schicht 62, 63Szenario 69, 79, 96Technologie 42

Integration Builder 109, 411, 418, 422

Integration Directory 77, 83, 206Integration Engine 89, 90

lokale 152Integration Registry 46Integration Server 71, 87INTEGRATION_DIRECTORY_HMI

158Integrationsprozess 260, 267, 343,

356, 363, 414, 419Monitoring 425

Integrationsprozess (Forts.)Prüfung 279

integrierte Konfiguration 118Interface

abstraktes 261, 269Definition 235Ermittlung 75, 101, 213, 238, 302Mapping 232, 282richtungsbezogenes 261, 283Variable 272

Interface-Pattern 123, 263stateful 123stateless 123Tentative Update & Confirm/

Compensate 124interne Kommunikation 335, 367,

370, 372Internet Communication Framework

157IS � Integration ServerIT-Practice 66IT-Szenario 68iXML-Bibliothek 222

J

JAR 309, 310, 401Java

Anwendung 428Build Path 307Code 306Java Web Start 136, 192Klasse 307, 311Mapping 250, 306Perspektive 307Projekt 306Proxy 378Service 126

Java Connector 42, 108Java Database Connectivity � JDBCJava Message Service � JMSJava RMI 42JDBC-Adapter 110, 296JMS

Adapter 312, 313Payload 313

1440.book Seite 497 Montag, 10. August 2009 1:55 13

Page 144: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

498

Index

K

Kategorieabstrakte 346Inbound 200, 246Klassifikation 289

Klasse 250Klassifikation 321Knotenfunktion 329, 349, 351Kommissionierung 407Kommunikation

direkte 125interne 367Kanal 83, 93, 164, 208, 233, 238,

334, 364, 371Kategorie 73Komponente 83, 103Modus 73

Kommunikationsart 236Komplexitätsreduktion 29Komponenten-Monitoring 84, 218,

235, 240Komprimierung 160Konfiguration 77, 206, 301

Assistent 100, 232, 236, 255, 256, 281, 335, 366

integrierte 118Leitfaden 135Objekt 100, 232, 333, 402, 411,

420, 424Simulation 337Szenario 100, 207, 279, 333, 457

konfigurierbarer Parameter 415Konstante 202Kontext 345, 352

Wechsel 330, 349, 352Konzern 318Kopfdaten 327Korrelation 271, 277

Editor 272Liste 271

Kundenauftrag 397, 408Kurs 173

L

Label, fiktives 318Lagerbestand 435Laufzeit 77

LCRSAPRFC 147Legacy-System 320Lieferavis 435Lieferkette 435Lieferstufe 436Lifecycle Management 63, 68Local Software Component Version

181Lock Overview 194Logging-Service 436Logical Unit of Work 128logischer Name 166logisches Routing 91, 212logisches System 141, 166, 167, 225,

321, 392Logistikkette 434Logon-Gruppe 141lokale Integration Engine 152lokale Verarbeitung 117Lookup-API 130Loop 274LUW 128

M

MailAdapter 409Adresse 401Provider 403Server 399

Mandant 141Kopie 137

Mapping 75, 114, 201, 329, 355Funktion 202Lookup 129, 130Objekt 96Programm 115, 116, 205Struktur 115Werte-Mapping 115

Massenabgleich 162Massengenerierung 162Massenverarbeitung 433Master-Passwort 137, 160Materialbezeichnung 322Materialstammdaten 189, 224MATMAS 226Maximalvorkommen 326MDMP 165Medienbruch 60

1440.book Seite 498 Montag, 10. August 2009 1:55 13

Page 145: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

499

Index

Medium 373Mehrfachbedingung 274Message

Control 398ID 210Interface 247Mapping 92, 98, 115, 200, 229,

231, 248, 265, 300, 326Monitoring 84, 240, 375, 409Packaging 128, 129Protokoll 207, 404Queue 156Split 92Typ 97, 198, 200, 326

Message-Server 140Port 141

Metadaten 208, 228Middleware 58Modellebene 53Modellierung, grafische 273Modus

Asynchronous 200, 346, 354, 358Synchronous 246, 247, 354, 381

Monitoring 216, 217, 258, 305, 338, 376, 424Integrationsprozess 425

monolithisches Anwendungssystem 26

Multiline 270

N

Nachricht 373Art 342, 398Steuerung 342synchrone 378verschachtelte 324Weg 375

Nachrichtenfluss 76Nachrichtenpaketierung 128, 129Name, logischer 166Namenskollision 253Namensraum 183, 192, 196, 323Network File System 209NFS 209Node Function 349, 351Nova-Design 136NWA � SAP NetWeaver

Administrator

O

Objekt 206Import 195importiertes 229Kopie 380

ODS 61Operand 277Operation 278

Lesen 204Operation Management 86Operation Mapping 98, 114, 204,

252, 300, 333, 413Operation Pattern 263Operational Data Stores 61Operator 277Ortstransparenz 34Outbound 113, 247, 341, 381Outbound Message 73, 421, 422Outside-In 102

P

P4-Port 136Paket 253paralleler Abschnitt 274, 291Parameter 330

konfigurierbarer 415Partner

Nummer 321Rolle 398Status 321Vereinbarung 321, 340, 377, 393,

398Partner Connectivity Kit 105Partnerart 226Partnervereinbarung 225, 226, 227Passwort, abwärtskompatibles 161Payload 120PCK 105Performance Management 86Persistenzschicht 258Pfad, Präfix 153, 158Pflichtfeld 201PI-## 174PI_SYSTEM 169PIAPPLUSER 150, 153PIISUSER 158

1440.book Seite 499 Montag, 10. August 2009 1:55 13

Page 146: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

500

Index

Pipeline 90Service 91

PIRWBUSER 161Plain-HTTP-Adapter 314Plattform

Design 48EAI 61Implementierung 49Strategie 48Unterschied 28

Policy 457Poll-Intervall 335Port 168Positionsdaten 329Priorität 156Problem Management 86Process Code 342Process Component 431Process Selection 287Product Vendor 176Profil 162, 166, 174

Generierung 162Programm-ID 147Protokoll 72Proxy-Klasse 163, 244, 253, 254Proxy-Technik 87, 104Prozesseditor 268prozessorientierte Integration 39Prozessstart 362Punkt-zu-Punkt-Verbindung 36, 126

Q

QRFC Monitor 156Qualifier 328, 369Quality of Service 111, 335Quelltextansicht 328Queue 112, 156, 329, 349, 352

Anzeige 333

R

Receiver Agreement � Senderverein-barung

Receiver Channel � EmpfängerkanalRechnung, Empfänger 398registriertes Serverprogramm 147,

164Registrierung 147

Remote Function Call � RFCremotefähiger Funktionsbaustein

262, 435, 436removeContexts 349Renderer 222REQOTE 321REQOTE.ORDERS01 324Request 97, 252, 344

Message 247, 354Request for Quotation 429Response 97, 252, 353

Message 247, 354Returncode 258, 379RFC 39, 189, 207

Adapter 108, 189, 259Aufruf 241, 261, 279Destination 164Funktionsbaustein 262, 435, 436Lookup 131Message 201Schnittstelle 195, 196, 201Server-Parameter 208transaktionaler 169Verbindung 76, 208

RFC-COMM 166RFC-Destination 376richtungsbezogenes Interface 261,

283RosettaNet 69Routing

logisches 91, 212technisches 93

Runtime Workbench 84, 172, 218, 235, 293

S

SAML 432Sammelrolle 162SAP, Roadmap 447SAP Business Connector 313SAP Business Workflow 260SAP Business Workplace 424SAP Developer Network 429SAP Easy Access 338SAP ECC 139SAP Enterprise Modeling Applicati-

ons 48SAP ERP 26

1440.book Seite 500 Montag, 10. August 2009 1:55 13

Page 147: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

501

Index

SAP Exchange Infrastructure 57SAP GUI 136SAP Java Library 307SAP NetWeaver Administrator 85,

137, 443, 450SAP NetWeaver Application Server

ABAP 139Java 139

SAP NetWeaver Composition Environ-ment 64, 433, 449

SAP NetWeaver Developer Studio 136, 306, 449

SAP NetWeaver Process Integration 57, 439Adapter 371Connectivity 104Format 71Service 154Tool 138, 175

SAP Service Marketplace 184, 400SAP Solution Composer 56SAP Solution Manager 55, 443, 449SAP_SLD_CONFIGURATOR 149SAP_XI_DEVELOPER 175SAPSLDAPI 149SARIDIS-Fallstudie 317, 428SBWP 424SC_Training_PI_## 177, 181SCC4 167Schemakonflikt 33Schleife 274, 275Schnellerfassung 397Schnittstellendefinition, externe 183Schnittstellen-Monitoring 450Schnittstellentechnologie 60Schreibmodus 210Schritt

Typ 273SDA 296Secure Network Connection 208Security Assertion Markup Language

432Segment 231, 328, 348Sender 207

Parameter 236Senderkanal 207, 209, 233, 238, 422Sendervereinbarung 101, 211, 367Sendeschritt 273, 278

synchroner 344

Serverprogramm, registriertes 147, 164

Server-Proxy 105Service 65, 256

Bus 66Enabling 439Gruppe 458Interface 80, 96, 123, 199, 228,

246, 299, 326, 412, 431Operation 431Orchestrierung 439Policy 462Variante 445

serviceorientierte Architektur � SOAServices Registry 66, 81, 431Shared Collaboration Knowledge 70SICF 155, 157Sicherheit 432SID 140Signatur 359Signature-Design 136Skalierungskonflikt 33SLD 76, 78, 138

Bridge 151Entscheidungsbaum 150

SLD_NUC 151SLD_UC 151SLDAPICUST 149SLDCHECK 150SMS 172SMTP 399, 402SNC 208SOA 40, 50, 65

Eigenschaft 40Management 86, 462Middleware 431

SOAP 42, 43, 243, 256, 365Adapter 110Beispiel 43Dokument 70, 100Empfängerkanal 364Kommunikationskanal 256

SoftwareFeature 79installierte 179, 180Katalog 176, 177Produkt 79, 142, 176

Software Deployment Archive 296Software Unit 177

1440.book Seite 501 Montag, 10. August 2009 1:55 13

Page 148: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

502

Index

Softwarekomponente 70, 95, 177, 192, 323Status 177Version 79, 142, 182

Sonderfall 428SonicMQ 312Source Operation 353SP_Training_PI_## 176Sperre 194Sperrmechanismus 368SplitByValue 329, 351, 386SPROXY 163, 253SQL

Query 297Update 297

SSL-Einstellung 158Start 275Status Record 242Steuerungsschritt 274Stop 275Stored Procedure 297Struktur-Mapping 115SU_Training_PI_## 177Submission 326, 328, 338Subscription 172, 290, 293Suchkriterium 236Sunny Electronics 318Support Package 135, 183Switch 274SXI_MONITOR 338SXMB_ADM 155SXMB_MONI 216, 306, 338, 376SXMB_MONI_BPE 287, 376, 397,

425Sync/Async-Bridge 273, 377, 382,

388, 389synchrone Nachricht 378synchrone Verarbeitung 111synchroner Modus 246, 247synchroner Sendeschritt 344SYS_A-## 174SYS_B-## 174System

logisches 141, 166, 167, 225, 321, 392

technisches 139, 144, 178System Landscape Directory � SLDSystemA 145SystemA_IDoc 167, 169

SystemB 145SystemB_IDoc 169System-ID 140Szenario 333

T

Tabelle 343Target Operation 353TCP/IP Connection 147technische Hilfe 240technisches Routing 93technisches System 139, 178

URL 144Teilbaum, Duplikat 328Test 204, 205, 232, 328

Programm 204Testinstanz, laden 328Testmodus 338Throw Alert 292Timeout 160, 292Tomcat 436Trace 222, 223Transaktion

ALRTCDEF 289BD87 338, 375, 397SBWP 424SCC4 167SICF 155, 157SPROXY 163, 253SXI_MONITOR 338SXMB_ADM 155SXMB_MONI 216, 306, 338SXMB_MONI_BPE 287, 376, 397,

425VA13 338VA21 373, 375VL01N 407WE20 340ZAPCMD 286, 375

transaktionaler Port 169transaktionaler RFC 169Transformation 204, 278, 332, 416Transformationsschritt 273, 279, 389Transport 190Transportauftrag 167, 407, 408Transportsicherheit 457Treiber 296, 312Troubleshooting Guide 184

1440.book Seite 502 Montag, 10. August 2009 1:55 13

Page 149: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

503

Index

TypTCP/IP 146

U

Übungsgruppe 187UDDI 66, 81Umschlüsselung 392unbestimmter Schritt 274Unbounded 264, 326, 359Undefined 274Unicode 148, 165

System 147Universal Description, Discovery and

Integration 66, 81Unterstruktur 347Unterverzeichnis � FolderUsage Type 176User Decision 274User Defined 250

V

VA13 338VA21 373, 375Validierung

Advanced Adapter Engine 122Integration Engine 121

Variable 271, 275ersetzen 210

Verarbeitungasynchrone 111, 383lokale 117Modus 335synchrone 111

Verarbeitungsparameter 210Verarbeitungsprotokoll 268Verbindungsmethode 201Verbindungsparameter 256Verbindungstest 168Verkaufsorganisation 328verschachtelte Nachricht 324Verschachtelung 263Versendung, asynchrone 363Version 176Verteiler 434Vertriebsprozess 398Vertriebsweg 328Verwendungsnachweis 197

Verwendungstyp 176Visual Administrator 85VL01N 407voll qualifizierter Hostname 149Vorgangscode 342, 398Vorkenntnis 188

W

Wait 274, 292Warenausgang 408Warenverfügbarkeitsprüfung 438Warteschritt 274WE20 340Web Dynpro 428Web Service Description Language �

WSDLWeb Service Reliable Messaging 127Webseite 137Webservice 38, 125, 243, 340, 342

Profil 432Reliable Messaging 432Repository 243, 244, 246Response 356

Wertehilfe 198, 201, 205Werte-Mapping 115Wertschöpfungsstufe 435Whiplash-Effekt 434Wizard, Definitions-Wizard 280Work Center 450Workflow 35, 95, 287

Engine 95Log 295Protokoll 287

Workflow-Management-System 31Workitem 287, 295, 376Workprozess 129WS-BPEL 44WSDL 42, 43, 243

Datei 346Import 245Schnittstelle 245

WS-RM 127Wunschtermin 324

X

XI_INTEGRATIONSERVER 153XIALL 404

1440.book Seite 503 Montag, 10. August 2009 1:55 13

Page 150: Praxishandbuch SAP NetWeaver PI - Entwicklung · PDF filePraxishandbuch SAP NetWeaver® PI – Entwicklung 1440.book Seite 3 Montag, 10. August 2009 1:55 13. ... 3.4.3 Aktivierung

504

Index

XIPAYLOAD 404XML 91

Datei 353Dokument 352Format 71Message 217Schema 73Validierung 91, 120XML-SQL-Format 297, 298, 302

XSD, Datei 400

XSLTDatei 401Mapping 116, 397, 400

Z

ZAPCMD 286, 375zentraler Applikationsserver 141Zero Downtime 451Zielstruktur 332ZIP 401Zusatzangabe 374, 409

1440.book Seite 504 Montag, 10. August 2009 1:55 13