Adapterhandbuch EAI One V 2.7 EAI One Adapterhandbuch Version 2.7 www.eaione.com Copyright Das Werk ist einschließlich aller seiner Teile urheberrechtlich geschützt. Jede Verwertung, die nicht ausdrücklich vom Urheberrechtsgesetz zugelassen ist, bedarf der vorherigen Zustimmung der EAI One Integration. Das gilt insbesondere für die Vervielfältigung, Bearbeitung, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. Die Marken EAI One Integration® und EAI One® sind Marken oder eingetragene Marken der EAI One Integration. Alle anderen Produktnamen oder Marken bzw. eingetragene Marken sind das Eigentum der jeweiligen Inhaber und als solche zu beachten. „SAP“ und mySAP.com sind Marken der SAP Aktiengesellschaft Systeme, Anwendungen, Produkte in der Datenverarbeitung, Neurottstraße 16, D-69190 Walldorf. Der Herausgeber bedankt sich für die freundliche Genehmigung der SAP Aktiengesellschaft, das Warenzeichen im Rahmen des vorliegenden Titels verwenden zu dürfen. Die SAP AG ist jedoch nicht Herausgeberin des vorliegenden Titels oder sonst dafür presserechtlich verantwortlich. © EAI One Integration Alle Rechte vorbehalten. Inhaltsverzeichnis Adapter-Handbuch EAI One Adapter ..............................................................................V-1 1 Kapitelaufbau ..........................................................................................................V-1 2 Fragen, Anmerkungen und Anregungen an das Redaktionsteam ..........................V-2 Einführung in die EAI One Adapter ...............................................E-1 1 Adaptertypen ...........................................................................................................E-1 1.1 Applikationsadapter .........................................................................................E-1 1.2 Protokolladapter ..............................................................................................E-1 1.3 Transportadapter .............................................................................................E-1 2 Werkzeuge für den Administrator............................................................................E-1 2.1 Editor ...............................................................................................................E-1 2.2 Dialog-Editor....................................................................................................E-1 2.3 Assistent ..........................................................................................................E-2 2.4 Maschineneinstellungen, Startoptionen, Load- und Ausfall-Balancing............E-2 Kapitel 1 Physikalische Kommunikation der EAI One Adapter 1-1 1 Allgemeine Systemarchitektur einer Fremdapplikation ........................................... 1-1 2 Systemarchitektur der Adapter................................................................................ 1-1 3 Transport der Nachrichten....................................................................................... 1-1 4 Referenzinformationen ............................................................................................ 1-2 4.1 Anwendung ..................................................................................................... 1-2 4.2 Virtuelle Maschine ........................................................................................... 1-2 4.3 Eingang und Ausgang der virtuellen Maschine ............................................... 1-2 4.4 TCP/IP Server ................................................................................................. 1-2 4.5 Statische Systemzugriffe ................................................................................. 1-2 4.6 Datenbank ....................................................................................................... 1-2 5 Kommunikation........................................................................................................ 1-3 5.1 Kommunikation zwischen Adaptern ................................................................ 1-3 5.2 Kommunikation mit Fremdapplikationen ......................................................... 1-3 6 Parallele Datenverarbeitung.................................................................................... 1-4 6.1 Failover............................................................................................................ 1-4 6.2 Load Balancing................................................................................................ 1-4 7 Adapter-Verhalten ................................................................................................... 1-4 7.1 Asynchrones Verhalten ................................................................................... 1-4 7.2 Synchrones Verhalten ..................................................................................... 1-5 7.3 Transaktionales Verhalten............................................................................... 1-5 Adapter - EAI One V 2.7 IVZ - 1 Inhaltsverzeichnis Kapitel 2 Protokolladapter ........................................................... 2-1 1 Protokolladapter unter EAI One .............................................................................. 2-1 2 Systemarchitektur ................................................................................................... 2-1 2.1 Arbeitsrichtung ................................................................................................ 2-2 2.2 Datenempfang................................................................................................. 2-2 2.3 Acknowledgement........................................................................................... 2-2 2.4 Konvertierung.................................................................................................. 2-2 2.5 Einstellungen................................................................................................... 2-2 2.6 Protokollattribute ............................................................................................. 2-2 XML Adapter .................................................................................................... 2-3 1 Allgemeines ............................................................................................................ 2-3 2 Besondere Funktionalität ........................................................................................ 2-3 2.1 Empfang von EAI One Standardobjekten ....................................................... 2-3 2.2 Empfang von XML Daten ................................................................................ 2-3 3 Einstellungen .......................................................................................................... 2-4 4 Einstellungen für das Protokoll vornehmen ............................................................ 2-4 4.1 Nachrichtenidentifikation ................................................................................. 2-5 4.2 Gültigkeitsprüfung ........................................................................................... 2-6 4.3 Dynamische Gültigkeitsprüfung ...................................................................... 2-7 4.4 Transport......................................................................................................... 2-8 5 Parametertabelle..................................................................................................... 2-9 5.1 Nachrichtenidentifikation ............................................................................... 2-11 5.2 Applikationsselektor ...................................................................................... 2-11 5.3 Standard-Validierungsschema (ValShema) .................................................. 2-12 5.4 Rückmeldung ................................................................................................ 2-12 5.4.1 Adapterrückmeldungen...................................................................................... 2-12 5.4.2 Positive Rückmeldung ....................................................................................... 2-12 5.4.3 Negative Rückmeldung...................................................................................... 2-14 6 Editor - XML Elementdefinition im Protokollattribut............................................... 2-19 6.1 Syntax der Protokollattribute ......................................................................... 2-19 6.2 Fielditem........................................................................................................ 2-20 6.3 Bezeichnung ................................................................................................. 2-20 6.4 Wiederholbar................................................................................................. 2-20 6.5 Erforderlich.................................................................................................... 2-20 6.6 Typ ................................................................................................................ 2-20 6.7 Index ............................................................................................................. 2-20 7 Referenzen ........................................................................................................... 2-21 SAP® - RFC Adapter...................................................................................... 2-23 1 Allgemeines .......................................................................................................... 2-23 2 Besondere Funktionalität ...................................................................................... 2-23 2.1 Empfang von EAI One Standardobjekten ..................................................... 2-23 2.2 Empfang von Daten aus einem RFC-Funktionsbausteinaufruf..................... 2-23 IVZ - 2 Adapter - EAI One V 2.7 Inhaltsverzeichnis 3 Einstellungen......................................................................................................... 2-24 3.1 Einstellungen mit dem Assistenten bearbeiten - RFC Server ....................... 2-24 3.1.1 RFC Aktion ........................................................................................................ 2-24 3.1.2 RFC Server ........................................................................................................ 2-25 3.1.3 Ein-/Ausgabeparameter ..................................................................................... 2-26 3.2 Einstellungen mit dem Assistenten bearbeiten - RFC Client......................... 2-26 3.2.1 RFC Aktion ........................................................................................................ 2-27 3.2.2 Nachrichtenidentifikation.................................................................................... 2-28 4 Parametertabelle ................................................................................................... 2-29 4.1 Klausel........................................................................................................... 2-33 4.2 Funktionsbaustein RFC_READ_TABLE........................................................ 2-34 4.3 Erlaubte SAP® Transaktionen ..................................................................... 2-34 5 Editor - RFC-Attribute im Protokollattribut ............................................................. 2-35 5.1 Syntax der Protokollattribute ......................................................................... 2-35 5.2 Erforderlich .................................................................................................... 2-35 5.3 Wiederholbar ................................................................................................. 2-35 5.4 Typ ................................................................................................................ 2-35 5.5 Länge ............................................................................................................ 2-36 5.6 Offset ............................................................................................................. 2-36 6 Systemzugriffe....................................................................................................... 2-36 7 Referenzen............................................................................................................ 2-37 HL7 Adapter .................................................................................................... 2-39 1 Allgemeines........................................................................................................... 2-39 2 Besondere Funktionalität....................................................................................... 2-39 2.1 Empfang von EAI One Standardobjekten...................................................... 2-39 2.2 Empfang von HL/7 Daten .............................................................................. 2-39 3 Einstellungen......................................................................................................... 2-40 4 Parametertabelle ................................................................................................... 2-41 4.1 Ereignisgruppe .............................................................................................. 2-42 4.2 Ereignis ......................................................................................................... 2-42 5 Editor - HL7 ........................................................................................................... 2-42 5.1 Syntax der HL7 Felddefinition, Komponenten oder Unterkomponenten ....... 2-42 5.2 Position.......................................................................................................... 2-43 5.3 Wiederholbar ................................................................................................. 2-43 5.4 Erforderlich .................................................................................................... 2-43 6 Referenzen............................................................................................................ 2-43 SQL Adapter ................................................................................................... 2-45 1 Allgemeines........................................................................................................... 2-45 2 Besondere Funktionalität....................................................................................... 2-45 2.1 Empfang von EAI One Standardobjekten...................................................... 2-45 3 Einstellungen......................................................................................................... 2-45 3.1 Aktion ............................................................................................................ 2-46 3.2 Klausel........................................................................................................... 2-47 Adapter - EAI One V 2.7 IVZ - 3 Inhaltsverzeichnis 3.3 Bestätigung (Commit) ................................................................................... 2-48 3.4 Verbindung.................................................................................................... 2-49 3.5 Trigger-Nachrichtenidentifikation .................................................................. 2-50 4 Parametertabelle................................................................................................... 2-51 4.1 Automatisch generierte WHERE-Klausel...................................................... 2-52 4.2 Automatisch generierte Spaltenliste.............................................................. 2-54 4.3 Automatisch generierte Tabellenliste ............................................................ 2-55 4.4 Automatisch generierter SQL Befehl............................................................. 2-55 5 Editor - Tabellenspalten im Protokollattribut ......................................................... 2-56 5.1 Syntax der Protokollattribute ......................................................................... 2-56 5.2 Erforderlich.................................................................................................... 2-56 5.3 Wiederholbar................................................................................................. 2-57 5.4 Typ ................................................................................................................ 2-57 5.5 Länge ............................................................................................................ 2-57 5.6 Offset............................................................................................................. 2-57 6 Systemzugriffe ...................................................................................................... 2-57 7 Referenzen ........................................................................................................... 2-58 SQL Trigger Adapter ..................................................................................... 2-59 1 Allgemeines .......................................................................................................... 2-59 2 Die Funktionsweise des Datenbanktrigger Adapters ............................................ 2-59 3 Einstellung der Datenbank und Registrierung der DLL......................................... 2-60 3.1 Einstellung des Oracle Listeners................................................................... 2-60 3.2 Registrieren der DLL und der externen Funktion .......................................... 2-61 3.3 Aufruf der externen Funktion aus einem Datenbanktrigger .......................... 2-62 4 Einstellung der Kommunikationsparameter in der DLL......................................... 2-63 4.1 Die Kommunikationsparameter und ihre Voreinstellungen ........................... 2-63 4.2 Manuelle Veränderung der Parameter.......................................................... 2-63 4.3 Zur Beachtung............................................................................................... 2-64 EDIFACT Adapter .......................................................................................... 2-65 1 Allgemeines .......................................................................................................... 2-65 2 Besondere Funktionalität ...................................................................................... 2-65 2.1 Empfang von EAI One Standardobjekten ..................................................... 2-65 2.2 Empfang von EDIFACT Daten ...................................................................... 2-66 3 Einstellungen ........................................................................................................ 2-66 3.1 Nachrichtenidentifikation ............................................................................... 2-66 3.2 Sonderzeichen .............................................................................................. 2-67 4 Parametertabelle................................................................................................... 2-67 5 Editor - EDIFACT Element-, oder Unterkomponentendefinition ........................... 2-69 5.1 Syntax der Protokollattribute ......................................................................... 2-69 5.2 Position ......................................................................................................... 2-70 5.3 Wiederholbar................................................................................................. 2-70 5.4 Erforderlich.................................................................................................... 2-70 IVZ - 4 Adapter - EAI One V 2.7 Inhaltsverzeichnis 6 Referenzen............................................................................................................ 2-70 EDI Adapter..................................................................................................... 2-71 1 Allgemeines........................................................................................................... 2-71 2 Besondere Funktionalität....................................................................................... 2-71 2.1 Empfang von EAI One Standardobjekten...................................................... 2-71 2.2 Empfang von EDI Daten................................................................................ 2-71 3 Einstellungen......................................................................................................... 2-71 3.1 Nachrichtenidentifikation ............................................................................... 2-72 4 Parametertabelle ................................................................................................... 2-73 5 Editor – EDI Element-, oder Unterkomponentendefinition .................................... 2-74 5.1 Syntax der Protokollattribute ......................................................................... 2-74 5.2 Fielditem ........................................................................................................ 2-75 5.3 Beschreibung Fielditem ................................................................................. 2-75 5.4 Protokollattribut ............................................................................................. 2-75 5.5 Länge ............................................................................................................ 2-75 5.6 Index.............................................................................................................. 2-75 5.7 Offset ............................................................................................................. 2-75 5.8 Beschreibung ................................................................................................ 2-75 6 Referenzen............................................................................................................ 2-75 SAP® - IDoc Adapter...................................................................................... 2-77 1 Allgemeines........................................................................................................... 2-77 2 Besondere Funktionalität....................................................................................... 2-77 2.1 Empfang von EAI One Standardobjekten...................................................... 2-77 2.2 Empfang von IDoc ......................................................................................... 2-78 2.3 Empfang von XML kodiertem IDoc................................................................ 2-78 3 Einstellungen......................................................................................................... 2-78 3.1 Nachrichtenidentifikation ............................................................................... 2-79 3.2 Absender ....................................................................................................... 2-80 3.3 Empfänger ..................................................................................................... 2-81 3.4 Kundenerweiterung ....................................................................................... 2-81 3.5 Bestätigung ................................................................................................... 2-82 4 Parametertabelle ................................................................................................... 2-82 5 Editor - IDoc Felddefinition im Protokollattribut ..................................................... 2-85 5.1 Beschreibung ................................................................................................ 2-85 5.2 Wiederholbar ................................................................................................. 2-86 5.3 Erforderlich .................................................................................................... 2-86 Adapter - EAI One V 2.7 IVZ - 5 Inhaltsverzeichnis 6 Systemzugriffe ...................................................................................................... 2-86 7 Referenzen ........................................................................................................... 2-87 SAP® - BAPI Adapter .................................................................................... 2-89 1 Allgemeines .......................................................................................................... 2-89 2 Besondere Funktionalität ...................................................................................... 2-89 2.1 Empfang von EAI One Standardobjekten ..................................................... 2-89 2.2 Auslesen der BAPI Rückgabewerte .............................................................. 2-89 3 Einstellungen ........................................................................................................ 2-89 4 Parametertabelle................................................................................................... 2-90 5 Editor - BAPI Übergabeparameterdefinition.......................................................... 2-90 5.1 Syntax der BAPI Übergabeparameterdefinition ............................................ 2-91 5.2 Position ......................................................................................................... 2-91 5.3 Wiederholbar................................................................................................. 2-91 5.4 Erforderlich.................................................................................................... 2-92 5.5 Typ ................................................................................................................ 2-92 5.6 Länge ............................................................................................................ 2-92 5.7 Index ............................................................................................................. 2-92 5.8 Offset............................................................................................................. 2-92 5.9 Nachkommastellen........................................................................................ 2-92 5.10 Trenner.......................................................................................................... 2-92 5.11 Beschreibung ................................................................................................ 2-92 6 Systemzugriffe ...................................................................................................... 2-93 7 Referenzen ........................................................................................................... 2-93 ANSI X12 Adapter .......................................................................................... 2-95 1 Allgemeines .......................................................................................................... 2-95 2 Besondere Funktionalität ...................................................................................... 2-95 2.1 Empfang von EAI One Standardobjekten ..................................................... 2-95 2.2 Empfang von ANSI X12 Daten...................................................................... 2-95 3 Einstellungen ........................................................................................................ 2-96 4 Editor - ANSI X12 Element- oder Unterkomponentendefinition im Protokollattribut . 296 4.1 Syntax der Protokollattribute ......................................................................... 2-96 4.2 Position ......................................................................................................... 2-97 4.3 Wiederholbar................................................................................................. 2-97 4.4 Erforderlich.................................................................................................... 2-97 5 Referenzen ........................................................................................................... 2-97 Kapitel 3 Applikationsadapter ..................................................... 3-1 1 Applikationsadapter unter EAI One......................................................................... 3-1 2 Systemarchitektur ................................................................................................... 3-1 2.1 Arbeitsrichtung ................................................................................................ 3-2 IVZ - 6 Adapter - EAI One V 2.7 Inhaltsverzeichnis 2.2 Datenempfang ................................................................................................. 3-2 2.3 Konvertierung .................................................................................................. 3-2 2.4 Dialog-Erweiterungen ...................................................................................... 3-2 SAP® - C-API Adapter...................................................................................... 3-3 1 Allgemeines............................................................................................................. 3-3 2 Besondere Funktionalität......................................................................................... 3-5 2.1 Empfang von EAI One Standardobjekten........................................................ 3-6 3 Dialogsprache ......................................................................................................... 3-6 4 Editor - C-API Dialoge ............................................................................................. 3-6 5 Systemzugriffe......................................................................................................... 3-6 Kapitel 4 Transportadapter........................................................... 4-1 1 Transportadapter unter EAI One ............................................................................. 4-1 2 Systemarchitektur.................................................................................................... 4-1 2.1 Arbeitsrichtung ................................................................................................ 4-2 2.2 Datenemfang ................................................................................................... 4-2 2.3 Konvertierung .................................................................................................. 4-2 File Adapter....................................................................................................... 4-3 1 Allgemeines............................................................................................................. 4-3 2 Besondere Funktionalität......................................................................................... 4-3 2.1 Empfang von Daten......................................................................................... 4-3 2.2 Lesen, Verarbeiten und/ oder Ändern von Dateien ......................................... 4-3 3 Einstellungen........................................................................................................... 4-3 3.1 Dateien lesen .................................................................................................. 4-4 3.2 Dateien schreiben ........................................................................................... 4-5 3.3 Dateien lesen und schreiben ........................................................................... 4-7 4 Parametertabelle ................................................................................................... 4-11 5 Ermitteln der Funktionsobjekt ID ........................................................................... 4-13 5.1 Nur Startzeichenfolge gesetzt - Startzeichenfolge gefunden ........................ 4-13 5.2 Start-, Offset und Endezeichenfolge gesetzt - beide Muster gefunden ......... 4-13 5.3 Startzeichenfolge, Offset und Länge gesetzt - Startzeichenfolge gefunden.. 4-13 5.4 Startzeichenfolge, Offset gesetzt - Startzeichenfolge gefunden.................... 4-13 5.5 Start- und Endezeichenfolge gesetzt - beide Muster gefunden..................... 4-14 5.6 Startzeichenfolge und Länge gesetzt - Startzeichenfolge gefunden ............. 4-14 5.7 Offset und Endezeichenfolge gesetzt - Endezeichenfolge gefunden ............ 4-14 5.8 Offset und Länge gesetzt .............................................................................. 4-14 Adapter - EAI One V 2.7 IVZ - 7 Inhaltsverzeichnis 6 Zeichenketten, die durch Zeitstempel ersetzt werden .......................................... 4-14 7 Systemzugriffe ...................................................................................................... 4-15 8 Referenzen ........................................................................................................... 4-15 HTTP Adapter................................................................................................. 4-17 1 Allgemeines .......................................................................................................... 4-17 2 Besondere Funktionalität ...................................................................................... 4-17 2.1 Empfang von Applikationsdaten (Client Modus) ........................................... 4-17 2.2 Empfang von HTTP Daten (Server Modus) .................................................. 4-17 3 Einstellungen ........................................................................................................ 4-17 4 Systemzugriffe ...................................................................................................... 4-18 5 Referenzen ........................................................................................................... 4-18 SSL Adapter ................................................................................................... 4-19 1 Allgemeines .......................................................................................................... 4-19 2 Besondere Funktionalität ...................................................................................... 4-19 2.1 Empfang von unverschlüsselten Daten - SSL Client .................................... 4-19 2.2 Empfang von SSL Daten - SSL Server ......................................................... 4-19 3 Einstellungen ........................................................................................................ 4-19 4 Parametertabelle................................................................................................... 4-21 5 Referenzen ........................................................................................................... 4-21 Zip Adapter..................................................................................................... 4-23 1 Allgemeines .......................................................................................................... 4-23 2 Besondere Funktionalität ...................................................................................... 4-23 3 Einstellungen ........................................................................................................ 4-23 3.1 Daten komprimeren....................................................................................... 4-24 3.2 Daten dekomprimieren.................................................................................. 4-24 4 Parametertabelle................................................................................................... 4-24 Kapitel 5 EAI One Object Handler ............................................... 5-1 1 Allgemeines ............................................................................................................ 5-1 2 Besondere Funktionalität ........................................................................................ 5-1 2.1 Empfang von EAI One Standardobjekten ....................................................... 5-1 3 Dialogsprache ......................................................................................................... 5-1 Glossar .............................................................................................G-1 IVZ - 8 Adapter - EAI One V 2.7 EAI One Adapter In den folgenden Kapiteln erfahren Sie, wie Sie EAI One-Adaptern parametrieren können. 1 Kapitelaufbau Dieses Handbuch enthält folgende Kapitel: Einführung Einführung in die EAI One Adapter Hier finden Sie eine kurze Beschreibung, was Adapter sind und welche Typen es gibt. Außerdem finden Sie eine kurze Zusammenfassung, welche Werkzeuge Ihnen zur Parametrierung der Adapter zur Verfügung stehen und wo Sie Informationen dazu finden können. Kapitel 1 Physikalische Kommunikation der EAI One Adapter Hier finden Sie eine Beschreibung der Systemarchitektur der Adapter, der benötigten Referenzinformationen sowie Informationen über Kommunikation und Verhalten der Adapter. Kapitel 2 Protokolladapter Hier finden Sie eine der allgemeine Beschreibung des Aufbaus eines Protokolladapters Für jeden Adapter wird kurz das Protokoll beschrieben und eine Referenz auf die zugrundeliegende Spezifikation eingefügt. Außerdem finden Sie detaillierte Angaben zu Parametrierung und Einstellung, Verwendung der Editoren sowie der benötigten Maschineneinstellungen. Kapitel 3 Applikationsadapter Hier finden Sie eine der allgemeine Beschreibung des Aufbaus eines Applikationsadapters. Angaben zu Parametrierung und Verwendung der Editoren sowie der benötigten Maschineneinstellungen. Kapitel 4 Transportadapter Hier finden Sie eine der allgemeine Beschreibung des Aufbaus eines Transportadapters. Für jeden Adapter wird kurz das Protokoll beschrieben und eine Referenz auf die zugrundeliegende Spezifikation eingefügt. Außerdem finden Sie detaillierte Angaben zu Parametrierung und Einstellung sowie der benötigten Maschineneinstellungen. Adapter - EAI One V 2.7 V-1 Kapitel V Kapitel 5 EAI One Object Handler Hier finden Sie die kurze Beschreibung der Funktionalität des Object Handlers. Glossar für EAI One Adapter Das Glossar enthält Definitionen der wichtigsten Begriffe der EAI One Software und ihrer Adapter. Diese Begriffe und Definitionen stammen aus den Kapiteln 1 bis 5 sowie aus dem Projekt-Modul Handbuch. Sie wurden im Glossar nochmals zusammengefasst, damit sie leichter gefunden werden können. 2 Fragen, Anmerkungen und Anregungen an das Redaktionsteam Wir aktualisieren unsere Handbücher so oft wie möglich. Wie bei jeder Software entwickelt sich gelegentlich die Software schneller als die Dokumentation. Wenn Sie Fragen, Anmerkungen oder Anregungen für unsere Dokumentation haben, wenden Sie sich bitte an das Redaktionsteam. Senden Sie uns eine Email: [email protected] V-2 Adapter - EAI One V 2.7 Einführung in die EAI One Adapter Adapter werden im Projekt-Modul über Einstellungen parametriert. Jeder Adapter läuft zu einer bestimmten Anwendung. Auch wenn mehrere Adapter des gleichen Typs zu einer Anwendung definiert wurden, muss nur ein Adapter ausgeführt werden, damit alle Adapter gestartet werden. Ein Adapter ist ein Programm, eine ausführbare Datei (.exe). Adapter arbeiten immer mit virtuellen Maschinen zusammen. Virtuelle Maschinen sind Parametrierungen in der Datenbank. Für alle virtuellen Maschinen einer Anwendung, denen der gleiche Adapter zugeordnet ist, wird nur ein Adapter gestartet. Der Adapter benutzt die Einstellungen dieser virtuellen Maschine, um zu kommunizieren. 1 Adaptertypen Adapter werden unterteilt in Applikationsadapter, Protokolladapter und Transportadapter. 1.1 Applikationsadapter Applikationsadapter führen Applikationsdialoge aus. Applikationsdialog umfassen Prozessschritte. Diese Prozessschritte benutzen API’s, um über die EAI One Dialogsprache die Standardobjekte in der Fremdapplikation zu verarbeiten. 1.2 Protokolladapter Protokolladapter wandeln externe Nachrichtenformate in das interne EAI One-Nachrichtenformat um. Die Protokolle der Protokolladapter sind standardisierte Nachrichtenformate oder API’s, welche für die Kommunikation zwischen Applikationen herangezogen werden. Die Nachrichtenformate basieren größtenteils auf internationalen Standards wie XML, EDIFact usw. Standardobjekten wird als EAI One-interne Protokoll OBJ zugeordnet. 1.3 Transportadapter Transportadapter transportieren Nachrichten ohne sie inhaltlich zu verändern (z.B. Mail, File, SSL). 2 Werkzeuge für den Administrator 2.1 Editor Die Attribute der folgenden Protokolle werden im Editor bearbeitet: XML, SAP® RFC, HL/7, SQL, Edifact, SAP® IDoc, SAP® BAPI Abhängig vom Protokoll werden in den entsprechenden Editoren unterschiedliche Attribute bearbeitet. Weitere Informationen dazu finden Sie in diesem Adapter-Handbuch sowie in den entsprechenden Kapiteln des Projekt-Modul Handbuches. 2.2 Dialog-Editor Der C-API-Adapter und der EAI One-eigene Object Handler werden im Bildschirm ATTRIBUTE\DIALOGE bearbeitet. Dort gibt es zur Bearbeitung der Dialoge und Prozess- Adapter - EAI One V 2.7 E-1 Kapitel E schritte einen eigenen Editor. Weitere Informationen dazu finden Sie in diesem Adapter-Handbuch sowie EAI One-Handbuch für das Projekt-Modul im Kapitel "Definition von Dialogen". 2.3 Assistent Alle Adapter werden über Assistenten eingestellt, die Sie über die Schaltfläche EINSTELLUNGEN aufrufen. Diese Assistenten sollen Ihnen die Arbeit erleichtern, weil alle Möglichkeiten vorgegeben sind. Weitere Informationen dazu finden Sie in diesem AdapterHandbuch. 2.4 Maschineneinstellungen, Startoptionen, Load- und Ausfall-Balancing Adapter, ihr Verhalten und ihre Beziehung zu den virtuellen Maschinen stellen Sie im Projekt-Modul ein. Weitere Informationen dazu finden Sie im EAI One-Handbuch für das Projekt-Modul. E-2 Adapter - EAI One V 2.7 Physikalische Kommunikation der EAI One Adapter 1 Allgemeine Systemarchitektur einer Fremdapplikation Abbildung 1-1: Schichten zwischen Außenwelt und Fremdapplikation Die EAI One-Adapter kommunizieren direkt mit den Standardschichten einer Fremdapplikation. Sie können direkt auf die Protokollschicht, die Applikationsschicht oder beispielsweise auch auf die Transportschicht zugreifen. 2 Systemarchitektur der Adapter Ein EAI One Adapter ist eine ausführbare Datei. Nach dem Start verbindet sich der Adapter anhand der EAI One Systemeinstellungen mit der EAI One Datenbank. Anhand der übergebenen Referenzinformationen ermittelt der Adapter seine anwendungsspezifische Konfiguration aus der Datenbank. Die Konfiguration bestimmt, welche Kommunikationsein- und -ausgänge der Adapter zur Verfügung stellt und wie er eingehende Daten verarbeiten und weiterversenden soll. 3 Transport der Nachrichten via TCP/IP Socket Kapitel 1 Physikalische Kommunikation der EAI One Adapter 4 Referenzinformationen Die wichtigsten Referenzinformationen, die dem Adapter übergeben werden, sind die Anwendung und die virtuelle Maschine. Damit wird sichergestellt, dass ein Adapter nur einer Anwendung zugeordnet wird. 4.1 Anwendung Der Adapter benutzt die zu seiner Anwendung definierte Parametrierung, um Nachrichten zu verarbeiten. 4.2 Virtuelle Maschine Die virtuelle Maschine des Adapters bestimmt sein Kommunikationsverhalten. Der Adapter stellt die für diese Maschine definierten TCP/IP Serverports zur Verfügung und sendet Daten an die für diese Maschine definierten Ausgangsadressen weiter. Wenn Sie keine Ausgangadresse definieren, wird das Ergebnis des Adapters an den Absender zurückgesendet. Einige Adapter bieten die Möglichkeit, mehrere virtuelle Maschinen parallel laufen zu lassen (Mehrfachausführung). Dabei werden auf dem gewählten Adapter gleichzeitig mehrere virtuelle Maschinen ausgeführt. Durch diese Funktion wird die Speichernutzung optimiert, weil die Parametrierungsdaten nur einmal aufgerufen werden. Nur die virtuellen Maschinen, die zu derselben Anwendung definiert wurden, können auf einem Adapter mehrfach ausgeführt werden. Wieviele Maschinen gleichzeitig auf diesem Adapter gestartet werden können, wird nur durch die Rechnerkapazität begrenzt. 4.3 Eingang und Ausgang der virtuellen Maschine In der Maske VIRTUELLE MASCHINEN werden die physikalischen Eigenschaften, wie z.B. Eingangs- und Ausgangsadresse, Eingangs- und Ausgangsport der Schnittstelle, festgelegt. Die Einstellungen für Eingang und der Ausgang der dem Adapter zugewiesenen virtuellen Maschine bestimmen, von woher der Adapter Daten empfängt und wohin er sie sendet. Dabei können die Adapter sowohl auf demselben physikalischen Rechner laufen als auch verteilt auf unterschiedlichen Rechnern (Intra-/Inter-/Extranet). 4.4 TCP/IP Server Die virtuelle Maschine eines Adapters muss als Server gekennzeichnet sein, damit der Adapter Daten empfangen kann. Dem Adapter muss ein freier TCP/IP Port auf dem Rechner zugewiesen werden, auf dem er ausgeführt werden soll. 4.5 Statische Systemzugriffe Folgende Adapter müssen sich an eine Fremdapplikation anmelden: File, SQL, HTTP, SAP® RFC, SAP® C-API, SAP® BAPI, SAP® IDoc. In der Maske VIRTUELLE MASCHINEN\SYSTEMZUGRIFFE werden die Daten festgelegt, die zum Anmelden an eine Fremdapplikation notwendig sind. Die genaue Bedeutung der einzelnen Felder wird in der Beschreibung des Adapters erläutert. 4.6 Datenbank Der Adapter benötigt eine Verbindung zur EAI One Datenbank. 1-2 Adapter - EAI One V 2.7 5 Kommunikation Kommunikation findet zwischen Adaptern via TCP/IP-Socket statt. Die Kommunikation zwischen Adaptern und Fremdapplikation richtet sich nach dem jeweiligen Adapter und kann in der Spezifikation des Systemherstellers (z.B. SAP® RFC) nachgelesen werden. 5.1 Kommunikation zwischen Adaptern Ein Adapter kann Daten von einem anderen, vorgeschalteten Adapter empfangen. Der Ausgang der virtuellen Maschine des vorgeschalteten Adapters muss entsprechend eingestellt werden. Die IP-Adresse des Rechners, auf dem der empfangende Adapter ausgeführt wird, wird als Adresse angegeben. Der Eingangsport der empfangenden Adapters muss als Ausgangsport des vorgeschalteten Adapters eingestellt werden. 5.2 Kommunikation mit Fremdapplikationen Transport, Protokoll, und Applikationsadapter kommunizieren mit der Fremdapplikation. Abbildung 1-2: Adapter, Protokolle, Fremdapplikation und EAI One 1. Schicht In der 1. Schicht werden die Daten im anwendungsspezifischen Format verarbeitet. Transportadapter steuern den Datenaustausch über besondere Applikations- und Transportprotokolle und leiten die Daten über TCP/IP an Protokolladapter weiter. Die Protokoll- und Applikationsadapter erzeugen aus den Daten Standardobjekte. Diese werden über TCP/IP an den Object Handler kommuniziert. Die Adapter empfangen Standardobjekte über TCP/IP vom Object Handler und kodieren sie wieder in anwendungsspezifische Daten. Adapter - EAI One V 2.7 1-3 Kapitel 1 Physikalische Kommunikation der EAI One Adapter 2.Schicht Der Object Handler verarbeitet EAI One-Standardobjekte, erzeugt Vorgabewerte, nimmt Konvertierungen von Dateninhalten vor und führt besondere Aktionen mit den Daten des Standardobjekts aus. Dabei sollen nicht nur Attribute, sondern auch deren Inhalt standardisiert werden. Aus dem gesamten Prozess ergibt sich das Mapping. Die Daten werden dann über TCP/IP an die Protokoll- und Applikationsadapter weitergeleitet. 6 Parallele Datenverarbeitung Die parallele Datenverarbeitung bestimmt die Anzahl paralleler Prozesse innerhalb eines Adapters, d.h. falls Transaktionen noch nicht abgearbeitet sind, beginnt der Adapter automatisch einen neuen Abarbeitungsprozess. Ist die maximale Anzahl von Verbindungen erreicht, wird jede weitere Verbindungsanfrage so lange abgelehnt bis die maximale Anzahl wieder unterschritten wird. Weitere Informationen dazu finden Sie im EAI One-Handbuch für das Projekt-Modul im Kapitel "Definition von virtuellen Maschinen", Abschnitt "Virtuelle Maschinen definieren" auf Seite 12-3. Im Bildschirm VIRTUELLE MASCHINEN können Sie die maximale Anzahl von Verbindungen einstellen. 6.1 Failover Failover (Ausfallbalancing) wird ausgeführt, wenn für eine virtuelle Maschine das Failover eingestellt ist und eine technische Kommunikation mit dem nächsten Adapter bzw. der Zieladresse nicht möglich ist. In diesem Fall wird der Verbindungsaufbau zu den zuvor festgelegten Alternativadressen aufgenommen. Bei jeder weiteren Transaktion wird überprüft, ob die Ursprungsadresse wieder verfügbar ist. Weitere Informationen dazu finden Sie im EAI One-Handbuch für das Projekt-Modul im Kapitel "Load Balancing". Sie stellen das Failover mit dem Kontrollkästchen AUSFALLBALANCING ein. 6.2 Load Balancing Das Load Balancing betrifft die Verbindung zwischen virtuellen Maschinen (Ports), die im Projekt-Modul im LOAD BALANCING-Bildschirm definiert wurden. Wenn Nachrichten bei einer virtuellen Maschine eingehen und abgearbeitet werden müssen, wird dafür eine Verbindung zu der virtuellen Maschine aufgebaut, die die geringste Anzahl von Verbindungen aufweist. Bei gleicher Verbindungsanzahl aller virtuellen Maschinen wird die virtuelle Maschinen gewählt, die im Projekt-Modul entsprechend ihrer Priorität festgelegt ist. 7 Adapter-Verhalten Bei Adaptern unterscheidet man zwischen synchronem und asynchronem Verhalten als technischem Verhalten der Adapter und transaktionalem Verhalten als Prozess-Verhalten. 7.1 Asynchrones Verhalten Für asynchrones Verhalten wird der Adapter zum Zwischenspeichern konfiguriert. Sobald ein Absender eine Nachricht sendet, wird die Nachricht in die EAI One Datenbank gespeichert. Der Absender erhält eine Bestätigung. 1-4 Adapter - EAI One V 2.7 Asynchrones Verhalten wird beispielsweise dann eingesetzt, wenn Übertragungs- oder Leitungskosten sehr hoch sind. Weitere Informationen dazu finden Sie EAI One-Handbuch für das Projekt-Modul im Kapitel "Definition von virtuellen Maschinen", Abschnitt "Virtuelle Maschinen definieren" auf Seite 12-3. Sie stellen das asynchrone Verhalten mit dem Kontrollkästchen ZWISCHENSPEICHERN ein. 7.2 Synchrones Verhalten Das synchrone Verhalten eines Adapters ist als Standard voreingestellt. Sobald ein Absender eine Nachricht sendet, wird diese Nachricht über die Ausgangsadresse an einen weiteren Adapter oder ein Fremdsystem gesendet. Währenddesen wartet der Absender auf eine Antwort. 7.3 Transaktionales Verhalten Mit dem transaktionalem Verhalten wird die Abarbeitung eines Teilprozesses festgelegt. Dazu werden mehrere Adapter synchron hintereinander geschaltet. Bei diesem Verhalten wird nach dem Senden einer Nachricht auf die Antwort des letzten synchron definierten Adapters gewartet. Adapter - EAI One V 2.7 1-5 Kapitel 1 1-6 Physikalische Kommunikation der EAI One Adapter Adapter - EAI One V 2.7 Protokolladapter 1 Protokolladapter unter EAI One EAI One enthält folgende Protokolladapter: • XML • EDI • SAP® RFC • SAP® IDoc • HL7 • SAP® BAPI • SQL • ASC X12N • EDIFACT 2 Systemarchitektur Abbildung 2-1: Protokolladapter - Systemarchitektur Alle Adapter bauen auf der gleichen Adapter-Basisklasse auf. Diese Basisklasse umfasst die gesamte Kommunikation der Adapter. Dabei wird der TCP/IP-Socket als Kommunikationsprotokoll definiert, über das Daten ausgetauscht werden. Außerdem sind Queuing, Retrieval, Scheduling, Load-Balancing und Fail Over-Verhalten sowie Startund Stopp-Prozeduren festgelegt. Diese sieben Vorgänge regeln das Kommunikationsverhalten der Adapter für die jeweilige Situation. Je nach Adaptertyp gehört zu dieser Basisklasse eine andere Adaptertypbasis. Für den Protokolladapter besteht diese Adaptertypbasis aus der Definition der Standardobjekte und Protokolle. Auf Adapter-Basisklasse und Adaptertypbasis setzt eine Ableitung auf, die für den jeweiligen Adapter, z.B. den XML-Protokolladapter, spezifisch ist. Hier werden Standardobjekte und Protokolle empfangen, konvertiert und verarbeitet. Die Kommunikation Adapter - EAI One V 2.7 2-1 Kapitel 2 Protokolladapter erfolgt über TCP/IP. Die Festlegung des Protokolls entscheidet darüber, ob es sich um einen XML-Adapter, einen HL7-Adapter usw. handelt. Die Darstellung der Protokolle, d.h. der Syntaxregeln, ist in den jeweiligen Normen festgelegt. Diese Syntaxregeln und alle weiteren Parameter müssen in EAI One definiert werden. 2.1 Arbeitsrichtung Ein Protokolladapter arbeitet bidirektional. 2.2 Datenempfang Ein Protokolladapter kann EAI One-Standardobjekte oder Nachrichten im eigenen Protokollformat an seinem Eingangsport empfangen und verarbeiten. 2.3 Acknowledgement Empfängt der Adapter ein EAI One-Standardobjekt, dann sendet er als Acknowledgement ein EAI One-Standardobjekt an den Absender zurück. Empfängt der Adapter eine Nachricht im eigenen Protokollformat, dann sendet er als Acknowledgement eine Nachricht im eigenen Protokollformat an den Absender zurück. 2.4 Konvertierung Jeder Protokolladapter hat ein eigenes Protokollformat, z.B. XML. Empfängt der Adapter ein EAI One-Standardobjekt, wandelt er es in Daten seines Protokollformates um und sendet diese an seinen Ausgangsport weiter. Er erwartet eine Nachricht im eigenen Protokollformat als Antwort. Empfängt der Adapter Daten im eigenen Protokollformat, wandelt er sie in ein EAI OneStandardobjekt, um und sendet dieses an seinen Ausgangsport weiter. Er erwartet ein EAI One-Standardobjekt als Antwort Diese Konvertierung erfolgt mittels der Einstellungen und Protokollattribute, die für die Methoden einer Anwendung des Adapters definiert wurden. 2.5 Einstellungen Über die Einstellungen identifiziert der Adapter Nachrichten, die in seinem Protokollformat gesendet werden. Nachdem Nachrichten eingegangen sind, ermittelt der Adapter zuerst das Funktionsobjekt, das der Nachricht zugeordnet ist. Die Einstellungen dieses Funktionsobjekts legen fest, wie der Adapter mit der Nachricht verfahren soll. 2.6 Protokollattribute Die Protokollattribute legen fest, wie die Felder im EAI One-Standardobjekt in das adaptereigene Protokoll gekapselt werden müssen und umgekehrt. Protokollattribute werden im Editor bearbeitet. 2-2 Adapter - EAI One V 2.7 XML Adapter Standard-Protokolladapter für EAI One 1 Allgemeines Die Extensible Markup Language, abgekürzt XML, beschreibt eine Klasse von Datenobjekten, genannt XML-Dokumente, und teilweise das Verhalten von Computer-Programmen, die solche Dokumente verarbeiten. XML ist ein Anwendungsprofil (application profile) oder eine eingeschränkte Form von SGML, der Standard Generalized Markup Language [ISO 8879]. Durch ihre Konstruktion sind XML-Dokumente konforme SGML-Dokumente. XML-Dokumente sind aus Speicherungseinheiten aufgebaut, genannt Entities, die entweder analysierte (parsed) oder nicht analysierte (unparsed) Daten enthalten. Analysierte Daten bestehen aus Zeichen, von denen einige Zeichendaten und andere Markups darstellen. Markup ist eine Beschreibung der Aufteilung auf Speicherungseinheiten und der logischen Struktur des Dokuments. XML bietet einen Mechanismus an, um Beschränkungen der Aufteilung und logischen Struktur zu formulieren. Ein Software-Modul, genannt XML-Prozessor, dient dazu, XML-Dokumente zu lesen und den Zugriff auf ihren Inhalt und ihre Struktur zu erlauben. Es wird angenommen, dass ein XML-Prozessor seine Arbeit als Teil eines anderen Moduls, genannt Anwendung, erledigt. Diese Spezifikation beschreibt das notwendige Verhalten eines XMLProzessors soweit es die Frage betrifft, wie er XML-Daten einlesen muss und welche Informationen er an die Anwendung weiterreichen muss. 2 Besondere Funktionalität • Jede “Prozessor-Definition” referenziert ein EAI One Funktionsobjekt. • Der Adapter kann in zwei Richtungen arbeiten: 1. Er empfängt EAI One-Standardobjekte und kodiert diese in eine XML-Struktur, die durch das EAI One Funktionsobjekt festgelegt ist. 2. Er empfängt XML-Daten und legt diese in einem EAI One-Standardobjekt ab. Das EAI One-Funktionsobjekt, das den Daten zugeordnet ist, legt das dafür verwendete XML-Standard-Parsing fest. 2.1 Empfang von EAI One Standardobjekten • Der Adapter kann aus mehreren Wiederholungen des EAI One-Standardobjekts eine XML-Nachricht mit sich wiederholenden Elementen erzeugen. • Nur Elemente, die in den Protokollattributen als wiederholbare Elemente gekennzeichnet sind, werden wiederholt. • Einige Daten können nur dann in der XML-Nachricht kodiert werden, wenn die erforderlichen Elemente wiederholbar sind. • Daten gehen verloren, wenn die erforderlichen Elemente nicht wiederholbar sind. 2.2 Empfang von XML Daten • Der Parser stoppt beim ersten Fehler und bestätigt die Nachricht mit einer Fehlermeldung, wenn die eingehenden XML-Daten nicht wohlgeformt sind. Nicht-wohlgeformte Daten sind keine XML-Daten. Adapter - EAI One V 2.7 2-3 Kapitel 2 • Der Adapter kann die Daten entsprechend der XDR oder XLS-Schemadateien validieren. Mehrere Validierungsfehler können gemeldet werden, wenn die Validierung fehlschlägt. Die Schema-Dateien müssen entweder auf einem zugänglichen Speichermedium oder innerhalb der Datenbank zur Verfügung stehen. Vererbung innerhalb der Schemadateien wird nicht unterstützt. • Der Adapter kann aus einer XML-Nachricht mit sich wiederholenden Elementen mehrere Wiederholungen des EAI One-Standardobjekts erzeugen. Wenn die Daten innerhalb von XML nicht sauber referenziert werden, kann dadurch ein nicht lösbarer Daten-Duplizitätsfehler verursacht werden. • Fehlermeldungen werden in einem fest kodierten Format an den Versender der Nachricht zurückgeschickt. Weitere Informationen zu den Fehlermeldungen finden Sie im Abschnitt “Fehlercodes” auf Seite 2-16. 3 Einstellungen Die Einstellungen für den XML-Adapter werden im Bildschirm ATTRIBUTE\PROTOKOLLATTRIBUTE vorgenommen. Sie wollen XML-Nachrichten empfangen Füllen Sie die folgenden Bildschirme aus: • NACHRICHTENIDENTIFIKATION • GÜLTIGKEITSÜBERPRÜFUNG und/oder • DYNAMISCHE GÜLTIGKEITSÜBERPRÜFUNG. Sie wollen XML-Nachrichten senden Füllen Sie die folgenden Bildschirme aus: • NACHRICHTENIDENTIFIKATION und • TRANSPORT. 4 Einstellungen für das Protokoll vornehmen • Markieren Sie die das gewünschte Objekt Erweitern Sie im Container ANWENDUNGEN die Anwendung, die das Basisobjekt enthält, für das Sie die Einstellungen vornehmen möchten. Markieren Sie dieses Basisobjekt. • Klicken Sie auf die Schaltfläche EINSTELLUNGEN Der ASSISTENT ZUR KONFIGURATION DER PROTOKOLLATTRIBUTE wird geöffnet und zeigt Einstellmöglichkeiten für Protokollattribute zum ausgewählten Objekt an. Der Bildschirm NACHRICHTENIDENTIFIKATION wird angezeigt. 2-4 Adapter - EAI One V 2.7 4.1 Nachrichtenidentifikation Abbildung 2-2: XML - Nachrichtenidentifikation • Geben Sie die benötigten Daten ein Geben Sie Nachrichtenidentifikation, Applikationsselektor und Dokumentenelement ein. • Klicken Sie auf WEITER Der Bildschirm GÜLTIGKEITSPRÜFUNG wird angezeigt. Adapter - EAI One V 2.7 2-5 Kapitel 2 4.2 Gültigkeitsprüfung Abbildung 2-3: XML - Gültigkeitsprüfung • Aktivieren Sie das Kontrollkästchen GÜLTIGKEITSÜBERPRÜFUNG Ist dieser Parameter aktiviert, werden eingehende XML-Daten validiert. Eingehende XML-Daten, die keine Validierungsdaten enthalten, werden zurückgewiesen. Nach der Gültigkeitsüberprüfung werden die Daten konvertiert und weitergeleitet, wenn das Kontrollkästchen NUR GÜLTIGKEITSÜBERPRÜFUNG nicht aktiviert ist. Wenn dieser Parameter nicht aktiviert ist, werden die Daten nur konvertiert und weitergeleitet. • Aktivieren Sie, falls erforderlich, zusätzlich das Kontrollkästchen NUR GÜLTIGKEITSÜBERPRÜFUNG Das empfangene XML-Dokument wird nur validiert. Die Daten werden weder in ein EAI One-Standardobjekt konvertiert noch weitergeleitet. Der Absender der Nachricht erhält eine Rückmeldung, ob die Nachricht gültig ist oder nicht. • Aktivieren Sie das Kontrollkästchen ACKNOWLEDGEMENT IM EIGENEN FORMAT Anstelle einer XML-Rückmeldung werden einer oder mehrere EAI One-Datensätze gesendet. • Geben Sie den Namen des GÜ-Schemas ein Der Parser verwendet die mit diesem Parameter übergebenen Informationen, wenn innerhalb des Dokumentes keine Referenz auf ein Validierungsschema gefunden wird. Das Schema hat die Dateiendung .XDR. Wird hier ein Dateiname mit der Erweiterung .DTD angegeben, wird dieses Schema in der Dokumenttypdefinition (XML Definition [28]) als externe ID eingefügt. • Geben Sie die maximal erlaubte Fehlerzahl ein Die maximale Anzahl von Fehlern, die der Adapter für eine Nachricht meldet. • Klicken Sie auf WEITER Der Bildschirm DYNAMISCHE GÜLTIgkEITSPRÜFUNG wird angezeigt. 2-6 Adapter - EAI One V 2.7 4.3 Dynamische Gültigkeitsprüfung Abbildung 2-4: XML - Dynamische Gültigkeitsprüfung Bei der Dynamischen GÜ wird anhand bestimmter Daten in einer XML Datei ermittelt, welche Schemadatei für die GÜ herangezogen wird. Der Dateninhalt eines festgelegten XML-Elementes, dem GÜ-Element, wird ausgelesen. Diesem Dateninhalt wird in einer Konvertierungsklasse, der GÜ-Klasse, der Name einer Schemadatei zugeordnet. Diese Schemadatei wird zur GÜ eines Teils der XML-Datei verwendet. Das GÜ-Zielelement legt fest, welches Element zusammen mit seinen Kindelementen überprüft werden soll. Für das überprüfte XML-Element werden bereits im XML vorhandene GÜAngaben überschrieben. • Geben Sie den Namen der dynamischen GÜ-Klasse ein Die GÜ-Klasse ist die Konvertierungsklasse, die die Beziehung zwischen der Zeichenkette zur Identifikation des dynamischen Validierungsschemas und dem Validierungsschema enthält. Die Zeichenkette muss im Wert für die Applikation enthalten sein, während das Schema im Wert für den Standard angegeben wird. • Geben Sie das dynamische GÜ-Element ein Das dynamische GÜ-Element mit dem angegebenen Namen enthält als Daten die Zeichenkette zur Identifikation des dynamischen Validierungsschemas. • Geben Sie das dynamische GÜ-Zielelement ein Das dynamische GÜ-Zielelement ist das Element, dessen Kindelemente und Daten anhand des dynamischen Validierungsschemas validiert werden soll. • Klicken Sie auf WEITER Der Bildschirm TRANSPORT wird angezeigt. Adapter - EAI One V 2.7 2-7 Kapitel 2 4.4 Transport Abbildung 2-5: XML - Transport • Wählen Sie im Dropdown-Listenfeld Zieladresse das Fielditem mit der IPAdresse aus Fielditem, das die TCP/IP Adresse enthält, an die die Nachricht gesendet werden soll. Die Adresse wird an einen nachgeschalteteten Transportadapter weitergeleitet. • Wählen Sie im Dropdown-Listenfeld Zielport das Fielditem mit der gewünschten Port aus Fielditem, das den TCP/IP Port enthält, an den die Nachricht gesendet werden soll. Der Port wird an einen nachgeschalteteten Transportadapter weitergeleitet. • Wählen Sie im Dropdown-Listenfeld Zielservice das Fielditem für den Transportservice aus Fielditem, das den URI enthält, an dem die Nachricht abgelegt werden soll. Der URI wird an einen nachgeschalteteten Transportadapter weitergeleitet. • Klicken Sie auf FERTIGSTELLEN Die geänderten Einstellungen werden zurück in die Datenbank geschrieben. 2-8 Adapter - EAI One V 2.7 5 Parametertabelle Parameter Beschreibung -1 Jedes eingehende XML-Dokument muss identifiziert werden. Dazu werden objektbezogene Einstellparameter verwendet. Die XML-Daten werden durchsucht und so identifiziert. Der Wert dieses Parameters wird aus einer Liste von Suchzeichenketten gebildet. Wenn diese Zeichenketten in den XML-Daten gefunden werden, werden sie als das entsprechende Funktionsobjekt idenfiziert. Nachrichtenidentifikation Weitere Informationen zu diesem Parameter finden Sie im Abschnitt 5.1 "Nachrichtenidentifikation" auf Seite 211. -2 Applikationsselektor Der hier eingestellte Text wird dem XML Dokument hinzugefügt das aus dem entsprechenden Funktionsobjekt erzeugt wurde. Dazu wird ein zusätzliches Element als erstes Element innerhalb des Dokumentenelements erzeugt, das diesen Text als Daten beinhaltet. Weitere Informationen zu diesem Parameter finden Sie im Abschnitt 5.2 "Applikationsselektor" auf Seite 2-11. -3 Dokumenten Element Der Name des einzigen Elementes auf Dokumentenebene innerhalb des XML-Dokumentes. Weitere Informationen zu diesem Parameter finden Sie in der XML 1.0 Specification, 2.1 Well-Formed XML Documents, definition [1] -4 Gültigkeitsüberprüfung Ist dieser Parameter aktiviert, werden eingehende XMLDaten validiert. Eingehende XML-Daten, die keine Validierungsdaten enthalten, werden zurückgewiesen. Dieser Parameter kann nur aktiviert oder deaktiviert werden. -8 Acknowledgement im internen Format Anstelle einer XML-Rückmeldung werden einer oder mehrere EAI One-Datensätze gesendet. Dieser Parameter kann nur aktiviert oder deaktiviert werden. Weitere Informationen zu diesem Parameter finden Sie im Abschnitt 5.4 "Rückmeldung" auf Seite 2-12. Adapter - EAI One V 2.7 2-9 Kapitel 2 Parameter Beschreibung -7 Das empfangene XML Dokument wird nur validiert. Die Daten werden nicht in ein EAI One Standardobjekt konvertiert. Nur Gültigkeitsüberprüfung Dieser Parameter kann nur aktiviert oder deaktiviert werden. -10 Maximale Fehleranzahl Die maximale Anzahl von Fehlern, die der Adapter für eine Nachricht meldet. -11 GÜ Schema Der Parser verwendet die mit diesem Parameter übergebenen Informationen, wenn innerhalb des Dokumentes keine Referenz auf ein Validierungsschema gefunden wird. Wird hier ein Dateiname mit der Erweiterung.DTD angegeben, wird dieses Schema in der Dokumenttypdefinition (XML Definition [28]) als externe ID eingefügt. Weitere Informationen zu diesem Parameter finden Sie im Abschnitt 5.3 "Standard-Validierungsschema (ValShema)" auf Seite 2-12. -5 Dynamisches GÜElement Das Element mit dem angegebenen Namen enthält als Daten die Zeichenkette zur Identifikation des dynamischen Validierungsschemas. -6 Dynamische GÜKlasse Die Konvertierungsklasse, die die Beziehung zwischen der Zeichenkette zur Identifikation des dynamischen Validierungsschemas und dem Validierungsschema enthält. Die Zeichenkette muss im Wert für die Applikation enthalten sein, während das Schema im Wert für den Standard angegeben wird. -9 Dynamisches GÜZielelement Das Element, dessen Kindelemente und Daten anhand des dynamischen Validierungsschemas validiert werden soll. -50 Zieladresse Fielditem, das die TCP/IP Adresse enthält, an die die Nachricht gesendet werden soll. Die Adresse wird an einen nachgeschalteteten Transportadapter weitergeleitet. -51 Zielport Fielditem, das den TCP/IP Port enthält, an den die Nachricht gesendet werden soll. Der Port wird an einen nachgeschalteteten Transportadapter weitergeleitet. 2 - 10 Adapter - EAI One V 2.7 Parameter Beschreibung -52 Fielditem, das den URI enthält, an dem die Nachricht abgelegt werden soll. Der URI wird an einen nachgeschalteteten Transportadapter weitergeleitet. Zielservice 5.1 Nachrichtenidentifikation Die Nachrichtenidentifikation ist eine Liste von Zeichenketten, die Suchworte genannt werden. Wenn der XML Adapter empfangene Daten als XML-Nachricht identifiziert, durchsucht er die Daten nach allen Suchworten. Wenn die Daten alle positiven Suchworte und keine negativen Suchworte enthalten, gehört die Nachricht zu dem Funktionsobjekt, zu dem diese Nachrichtenidentifikation eingestellt wurde. Beispiel: Die Nachrichtenidentifikation ´<Order !<Manifest´ für das Funktionsobjekt ORD^A01 zeigt an, dass eine Nachricht, die das ‘Order’ Element aber nicht das ‘Manifest’ Element enthält, dem Typ ORD^A01 angehört. Nachrichtenidentifikation (MessageType Id) MessageTypeId ::= SearchWord (´ ´ SearchWord)* Suchwort (Searchword) Ein Suchwort kann ein positives oder ein negatives Suchwort sein. SearchWord ::= Positive | Negative • Positives Suchwort (Positive) Wenn die Nachricht zu dem angegebenen Typ gehören soll, müssen alle positiven Suchworte in der Nachricht enthalten sein. Ein ´<´ am Anfang des Suchwortes bedeutet, dass es sich bei der Zeichenfolge nach dem ´<´ um den Namen eines XML Elements handelt. Sie muss innerhalb der XML Daten durch einen Leerraum oder ein ´>´ Zeichen abgeschlossen werden. Positive ::= ´<´? (Char | Digit | ´_´ | ´:´)+ Char ::= [A-Za-z] Digit ::= [0-9] • Negatives Suchwort (Negative) Wenn die Nachricht zu dem angegebenen Typ gehören soll, darf keines der negativen Suchworte in der Nachricht enthalten sein. Negative ::= ´!´ Positive 5.2 Applikationsselektor Sobald eine Nachricht gesendet wird, wird die Zeichenkette ´ <ApplicationSelector>´ appselect ´ </ApplicationSelector>´ Adapter - EAI One V 2.7 2 - 11 Kapitel 2 als erstes Kindelement des Dokumentelementes in der ausgehenden XML-Nachricht eingefügt. AppSelect ::= (Char | Digit | ´_´ | ´:´)+ 5.3 Standard-Validierungsschema (ValShema) Mit dem Standard-Validierungsschema (defvalschema) wird das XML-Dokument validiert. Das Schema muss die Validierungsinformationen für das gesamte Dokument enthalten. Dies gilt nicht für Elemente, die ihre eigenen Validierungsinformationen enthalten oder die als dynamische Validierungselemente definiert wurden. ValSchema ::= (Char | Digit | ´/´ | ´\´ | ´.´ | ´_´ )+ 5.4 Rückmeldung Wenn der Adapter einen XML-Datenstrom empfängt, gibt er entweder eine positive Rückmeldung, eine negative Rückmeldung oder eine vorher festgelegte Antwort zurück. 5.4.1 Adapterrückmeldungen Nachricht ist Adapter gibt zurück: nicht wohlgeformt immer eine negative Rückmeldung Nachricht muss validiert werden negative Rückmeldung (Parameter –4 ist enthalten) und ist nicht gültig. (unabhängig vom Parameter -7 nicht enthalten ist) Nachricht muss nur validiert werden (Parameter -7 ist enthalten) und ist gültig positive Rückmeldung Alle anderen Fälle XML-kodierte Antwort des Empfängers der EAI One-Daten Die Rückmeldung ist entweder eine wohlgeformte XML-Nachricht oder ein EAI OneDatenstrom. Die Einstellung für den Parameter -8 legt fest, in welchem Format die Nachricht gesendet wird. Die Rückmeldung wird im EAI One-Format gesendet, wenn der Parameter -8 gesetzt ist. 5.4.2 Positive Rückmeldung Die positive Rückmeldung wird als XML- oder EAI One-Nachricht gesendet. 2 - 12 Adapter - EAI One V 2.7 5.4.2.1 XML Format XmlAck ::= XmlStart XmlNoErr XmlEnd XmlStart ::= ´<EaiOneErrorMessage>´ ´<EAI OneObject>´ ObjectId ´</EAI OneObject>´ ´<ParsingBeginDateTime>´ StartTime ´</ParsingBeginDateTime>´ ´<ParsingEndDateTime>´ EndTime ´</ParsingEndDateTime>´ XmlNoErr ::= XmlErrStart XmlErrEnd XmlErrStart ::= ´<error>´ ´<ErrorCode>´ ErrorCode ´</ErrorCode>´ XmlErrEnd ::= ´</error>´ XmlEnd ´</EaiOneErrorMessage>´ ::= 5.4.2.2 EAI One Format EaiOneack ::= ´|´ objectid ´|´ errorcode ´|OK.|´ starttime ´|´ endtime ´|||||||||||||||||||||||||||||||´ 5.4.2.3 Enthaltene Daten In beiden Formaten sind folgende Daten enthalten: Objekt Id (ObjectId) Die Id des EAI One Funktionsobjektes, zu dem die Nachricht gehört. ObjectId ::= (Char | Digit | ´_´ | ´^´)+ Char ::= [A-Za-z] Digit ::= [0-9] Startzeit (StartTime) Die Zeit, zu der die Verarbeitung der Nachricht begann. Angegeben im ISO Format. StartTime ::= Time Time ::= Year ´-´ Month ´-´ Day ´T´ Hour ´:´ Minute ´:´ Second Year ::= Digit Digit Digit Digit Month, Day, Hour, Minute, Second ::= Digit Digit Endezeit (EndTime) Die Zeit, zu der die Verarbeitung der Nachricht beendet wurde. Angegeben im ISO Adapter - EAI One V 2.7 2 - 13 Kapitel 2 Format. EndTime ::= Time Fehlercode (ErrorCode) Ein numerischer Fehlercode. In einer positiven Rückmeldung ist dieser Code immer ´0´. In einer negativen Rückmeldung steht als Fehlercode eine negative Zahl. ErrorCode ::= ´0´ | ´-´ Digit+ Weitere Informationen zu Fehlercodes finden Sie im Abschnitt “Fehlercodes” auf Seite 1-8. 5.4.3 Negative Rückmeldung Genau wie die positive Rückmeldung wird die negative Rückmeldung als XML- oder EAI One-Nachricht gesendet. 5.4.3.1 XML Format XmlNack ::= XmlStart XmlError+ XmlEnd XmlError ::= XmlErrStart ´<errorDetail>´ ´<errorText>´ ´<FreeFormText xml:lang=\"EN\">´ XErrorText ´</FreeFormText>´ ´</errorText>´ (´<SchemaFile>´ SchemaFile ´</SchemaFile>´)? (´<DynamicDocumentType>´ DynDocId ´ </DynamicDocumentType>)? ´<ErrorRow>´ ErrorEow ´</ErrorRow>´ (´<ErrorColumn>´ ErrorCol ´</ErrorColumn>´)? (´<ErrorElement>´ ErrorElement ´ </ErrorElement>´)? ´</errorDetail>´ XmlErrEnd 5.4.3.2 EAI One Format EaiOneNack ::= ´|´ ObjectId ´|´ ErrorCode ´|´ CErrorText ´|´ StartTime ´|´ EndTime ´|´ SchemaFile ´|´ DynDocId ´|´ ErrorRow ´|´ ErrorCol ´|´ ErrorElement 5.4.3.3 Enthaltene Daten In beiden Formaten sind folgende Daten enthalten: Fehlertext (XErrorText) Eine Zeichenkette, die einen Fehler beschreibt. Die Werte sind im XML und 2 - 14 Adapter - EAI One V 2.7 EAI One-Format unterschiedlich. Die Sonderzeichen ´>´, ´<´, und ´&´ werden im XML Format als ´&gt;´, ´&lt;´ und ´&amp;´ dargestellt. XErrorText ::= (Char | Digit | Misc | XSpecial)+ XSpecial ::= ´&gt;´ | ´&lt;´ | ´&amp;´ | ´&apos;´ | ´&quot;´ Misc ::= ´.´ | ´;´ | ´,´ | ´]´ | ´[´| ´´´ | ´/´ | ´_´ | ´:´ | ´ ´ CErrorText ::= (Char | Digit | Misc | ´>´ | ´<´ | ´&´ | “´” | ´”´)+ Schemadatei (SchemaFile) Die Stelle, an der sich die Schemadatei befindet. Wenn die Schemadatei aus der Datenbank geladen wurde, wird der Dateipfad immer das Unterverzeichnis “Schema” des EAI One Installationsverzeichnisses auf der Maschine sein, auf der der Adapter läuft. SchemaFile ::= (Char | Digit | ´:´ | ´/´ | ´\´ | ´.´ | ´_´ )+ Id für dynamische Validierung (DynDocId) Mit dieser Zeichenkette wird ein dynamisch validiertes Dokument identifiziert. DynDocId ::= (Char | Digit | ´_´ )+ Fehlerhafte Zeile (ErrorRow) Die Zeilennummer, an der der Fehler auftrat. ErrorRow ::= Digit+ Fehlerhafte Spalte (ErrorCol) Die Spaltennummer, an der der Fehler auftrat. ErrorCol ::= Digit+ Fehlerhaftes Element (ErrElement) Das Element, das den fehlerhaften Inhalt enthält. ErrElement ::= (Char | Digit | ´_´ )+ Adapter - EAI One V 2.7 2 - 15 Kapitel 2 5.4.3.4 Fehlercodes Folgende Fehlercodes können angezeigt werden: Wohlgeformtheitsfehler 0 OK Datei ist wohlgeformt und kann gültig sein, wenn die Validierung durchgeführt wurde. -1 Syntax error Der Ausdruck enthält einen Syntaxfehler. -2 ']]>' not found Ein CDATA Abschnitt wurde nicht mit ´]]>´ beendet. -3 '=' expected Nach dem Namen eines Attributes wurde kein ´=´ gefunden. -4 Duplicate attribute Ein Attribut ist mehr als einmal vorhanden. -5 '>' expected Ein Tag wurde nicht durch ein ´>´ -Zeichen beendet. -6 End tag mismatch Ein Endtag hat nicht denselben Namen wie das Starttag auf der gleichen Hierarchieebene. -7 Element missing XML-Dokumente müssen mindestens ein Element enthalten. -10 Missing end tag Nicht alle Elemente wurde am Datenende mit einem Endtag beendet. Interne Fehler -8 Unresolvable data duplicity Die Zuordnung der Daten geht nicht eindeutig aus der XML-Struktur hervor. -9 No inf_12 data available Dieser Fehler weist auf ein Datenbankverbindungsproblem hin. Validierungsfehler -17 Invalid occurrence of element Ein Element fehlt, das vorhanden sein muss oder ein Element, das nur einmal vorhanden sein kann, wird wiederholt. 2 - 16 Adapter - EAI One V 2.7 Validierungsfehler -18 Attribute missing Ein erforderliches Attribut fehlt. -19 Missing element definition Ein Element ist im Validierungsschema nicht definiert worden. -20 Missing attribute definition Ein Attribut ist im Validierungsschema nicht definiert worden. -22 Type missmatch Ein Attributwert oder Elementinhalte stimmen nicht mit den Definitionen ihres Typs überein. -23 Invalid value within enumeration Ein Attributwert oder Elementinhalt ist nicht in der Definition einer Aufzählung enthalten. -24 DTD/XDR information not found Die Datei soll validiert werden, aber es wurden keine Schemainformation gefunden. -25 Document type mismatch Der angegebene Wert für den DOCTYPE korreliert nicht mit dem Namen des Dokumentelements. -26 Invalid element Das Element ist definiert, darf aber an dieser Stelle nicht vorhanden sein. -27 Invalid attribute Das Attribut ist definiert, darf aber an dieser Stelle nicht vorhanden sein. -28 Out of range Ein Attributwert oder Elementinhalt liegt nicht innerhalb des erlaubten Wertebereiches. -29 Id not unique Ein Attribut des Typs id enthält keine eindeutige Id. -30 Id does not exist Ein Attribut des Typs idref enthält eine Id, die innerhalb der Datei nicht existiert. -31 Element may not contain text Ein Element, das nur Kindelemente enthalten darf, enthält Daten. Adapter - EAI One V 2.7 2 - 17 Kapitel 2 Schemadatei-Fehler Achtung: Schemadateien werden nicht validiert. EAI One extrahiert nur die Informationen und validiert die XML-Daten entsprechend diesen Informationen. -81 Schema file not found Die Schemadatei, die für diese XML-Daten definiert wurde, konnte an der angegebenen Stelle nicht gefunden werden und ist auch nicht in der EAI One Datenbank vorhanden. -82 Unable to create Schema file Die Schemadatei konnte nicht erzeugt werden. Entweder ist der EAI One Setup beschädigt oder das Bedienpersonal hat nicht die Zugriffsrechte für die Erzeugung von Dateien bzw. Ordnern im EAI One Installationsverzeichnis. -84 Unable to write Schema file Die Schemadatei konnte nicht geschrieben werden. EAI One hat nicht das Zugriffsrecht für die Erzeugung von Dateien bzw. Ordnern im EAI One Installationsverzeichnis. -85 Schema file corrupt Die Schemadatei für die Validierung ist keine wohlgeformte XML-Datei. Dynamic Validation errors -144 Dynamic validation target element for schema not found Das Element, das entsprechend des dynamischen Validierungsschemas validiert werden soll, ist nicht in den XML-Daten vorhanden. -145 Dynamic validation identifier not found Das Element, das den dynamischen Validierungsidentifier enthalten soll, ist nicht in den XML-Daten vorhanden. -146 Dynamic validation identifier invalid In der EAI One Datenbank ist kein Eintrag für den dynamischen Validierungsidentifier vorhanden. -147 Dynamic validation class not defined within EAI One Die dynamische Validierungsklasse, die für dieses Objekt festgelegt wurde, ist nicht in der EAI One Datenbank vorhanden. 2 - 18 Adapter - EAI One V 2.7 6 Editor - XML Elementdefinition im Protokollattribut Durch den Editor kann ein XML Element einem Fielditem des EAI One-Standardobjekts zugeordnet werden. Die Protokollattribute und das EAI One-Standardobjekt sind dem EAI One-Funktionsobjekt zugeordnet. Abbildung 2-6: XML - Editor 6.1 Syntax der Protokollattribute Eine Zeichenkette definiert das XML-Element oder Attribut, das die Daten für das entsprechende Fielditem enthält. Die Definition muss den Namen des Elementes und all seiner Elternelemente enthalten. Die Elementnamen werden durch doppelte Doppelpunkte “::” voneinander getrennt. Der Elementname (ElementId) des Elternelements muss vor dem Elementnamen des Kindelementes stehen. Falls die Daten in einem Attribut enthalten sind, muss der Name des Attributes (AttributeId) angegeben werden. Außerdem kann ein Attributwert (AttValue) angegeben werden. Wird die Möglichkeit genutzt, kann dasselbe Element verschiedenen Fielditems zugeordnet werden. Der Parser identifiziert die Daten nicht nur über den Elementnamen, sondern auch über den Wert, den das angegebene Attribut hat. Der Kodierer erzeugt eine Wiederholung des Elements für jedes Fielditem, zusammen mit dem Attribut, das auf den entsprechenden Wert gesetzt ist. Description ::= ElementId ( ´::´ ElementId)* (´ ´ AttributeId ( ´=´ AttValue )? )? ElementId ::= Name AttributeId ::= Name Adapter - EAI One V 2.7 2 - 19 Kapitel 2 Name wird entsprechend Definition [5] der Extensible Markup Language (XML) 1.0 Specification definiert. AttValue wird entsprechend Definition [10] der Extensible Markup Language (XML) 1.0 Specification definiert. 6.2 Fielditem Fielditem, dem das Protokollattribut zugeordnet ist 6.3 Bezeichnung Bezeichnung des Fielditems, dem das Protokollattribut zugeordnet ist. 6.4 Wiederholbar Dieses Kennzeichen bestimmt, ob das Element (oder sein Eltern- oder Grosselternelement) wiederholbar ist. Die Ebene legt fest, welches Element wiederholbar ist. Ist ein Element durch eines seiner Kindelemente als Wiederholbar gesetzt, wird es als wiederholbar gehandhabt. • Das Element selbst ist wiederholbar. • Das Elternelement des Elements ist wiederholbar. • Das Elternelement des Elternelements (Grosselternelement) des Elements ist wiederholbar. • Das Elternelement des Grosselternelements (Urgrosselternelement) des Elements ist wiederholbar usw. Die höchstmögliche Ebene ist 9. 6.5 Erforderlich Dieses Kennzeichen bestimmt ob das Element (oder sein Eltern- oder sein Grosselternelement) erforderlich ist. Die Ebene legt fest, welches Element erforderlich ist. Ist ein Element durch eines seiner Kindelemente als erforderlich gesetzt, wird es als erforderlich gehandhabt. • Das Element selbst ist erforderlich. • Das Elternelement des Elements ist erforderlich. • Das Elternelement des Elternelements (Grosselternelement) des Elements ist erforderlich. • Das Elternelement des Grosselternelements (Urgrosselternelement) des Elements ist erforderlich usw. Die höchstmögliche Ebene ist 9. 6.6 Typ Datentyp des Protokollattributs 6.7 Index Indizierung mehrerer Protokollattribute zum selben Fielditem. 2 - 20 Adapter - EAI One V 2.7 7 Referenzen • Extensible Markup Language (XML) 1.0 W3C Recommendation 10-February-1998 http://www.w3.org/TR/1998/REC-xml-19980210 Adapter - EAI One V 2.7 2 - 21 Kapitel 2 2 - 22 Adapter - EAI One V 2.7 SAP® - RFC Adapter Standard-Protokolladapter für EAI One 1 Allgemeines RFC (Remote Function Call) ist ein SAP®-Schnittstellenprotokoll, das auf CPI-C beruht. Damit wird die Programmierung von Kommunikationsabläufen zwischen Systemen wesentlich vereinfacht. Mit RFCs können vordefinierte Funktionen auf einem entfernten System - oder innerhalb des gleichen Systems - aufgerufen und ausgeführt werden. RFCs übernehmen die Kommunikationssteuerung, die Parameterübergabe und die Fehlerbehandlung. 2 Besondere Funktionalität • Jede “Prozessor-Definition” referenziert ein EAI One Funktionsobjekt. • Der Adapter kann in zwei Richtungen arbeiten: 1. Er empfängt RFC-Daten und legt diese in einem EAI One-Standardobjekt ab, das durch das den Daten zugeordnete EAI One Funktionsobjekt festgelegt wird (Server). 2. Er empfängt EAI One-Standardobjekte und kodiert diese in eine RFC-Struktur, die durch das EAI One Funktionsobjekt festgelegt ist (Client). 2.1 Empfang von EAI One Standardobjekten • Der Adapter ruft einen RFC-Funktionsbaustein im SAP®-System auf. • Die Übergabeparameter für den Funktionsbaustein werden durch die Feldinhalte des Standardobjekts festgelegt. • Der Funktionsbaustein RFC_READ_TABLE wird gesondert unterstützt. Weitere Informationen dazu finden Sie im Abschnitt 4.2 "Funktionsbaustein RFC_READ_TABLE" auf Seite 2-34. 2.2 Empfang von Daten aus einem RFC-Funktionsbausteinaufruf • Der Adapter wird als RFC-Server verwendet. Er stellt dem SAP®-System einen Funktionsbaustein zur Verfügung, der vom SAP®-System aufgerufen wird. • In den übergebenen Daten sind Workflowschlüssel (WF Schlüssel) enthalten. Mit den Workflowschlüsseln wird die Zuordnung der Übergabeparameter zu einem Funktionsobjekt ermittelt. • Ein zweiter RFC-Adapter kann als Client (RFC_Read_Table) konfiguriert werden. Der Adapter ermittelt aus den Übergabeparametern des Funktionsbausteins die Daten, die für das EAI One Standardobjekt notwendig sind, und sendet diese Daten weiter. Adapter - EAI One V 2.7 2 - 23 Kapitel 2 3 Einstellungen Die Einstellungen für den RFC-Adapter werden im Bildschirm ATTRIBUTE\PROTOKOLLATTRIBUTE vorgenommen. 3.1 Einstellungen mit dem Assistenten bearbeiten - RFC Server • Markieren Sie die das gewünschte Objekt Erweitern Sie im Container ANWENDUNGEN die Anwendung, die das Basisobjekt enthält, für das Sie die Einstellungen vornehmen möchten. Markieren Sie dieses Basisobjekt. • Klicken Sie auf die Schaltfläche EINSTELLUNGEN Der ASSISTENT ZUR KONFIGURATION DER PROTOKOLLATTRIBUTE wird geöffnet und zeigt Einstellmöglichkeiten für Protokollattribute zum ausgewählten Objekt an. Der Bildschirm RFC AKTION wird angezeigt. 3.1.1 RFC Aktion Abbildung 2-7: Assistent - RFC Aktion für Server • Geben Sie den Namen des Funktionsbausteins ein Geben Sie einen gültigen RFC Funktionsbaustein ein, der dem SAP®-System zur Verfügung gestellt werden soll. Dieser Name ist im SAP®-System festgelegt worden. Beachten Sie die korrekte Schreibweise. • Klicken Sie auf WEITER Der Bildschirm RFC SERVER wird angezeigt. 2 - 24 Adapter - EAI One V 2.7 3.1.2 RFC Server Abbildung 2-8: Assistent - RFC Server • Geben Sie den Namen für die Registrierung ein Mit diesem Namen registriert sich EAI One am SAP®-System. • Aktivieren Sie, falls erforderlich, das Kontrollkästchen MANDANT AN REGISTRIERUNG ANHÄNGEN Aktivieren Sie dieses Kontrollkästchen, wenn RFC-Aufrufe aus verschiedenen Mandanten desselben SAP®-Systems auf verschiedene RFC-Server geschickt werden sollen. Die Registrierung des RFC-Servers beim SAP®-System erfolgt dann unter dem aus Registrierung und Mandant zusammengesetzten Namen. • Geben Sie einen Kommentar zu dieser Registrierung ein Geben Sie einen Kommentar zur Registrierung am SAP® Gateway ein. • Geben Sie ein, nach wieviel Minuten ein automatischer Wiederaufbau gestartet werden soll Geben Sie ein, wieviele Minuten bei automatischem Wiederaufbau der Verbindung verstreichen sollen, bevor ein erneuter Versuch gestartet werden soll. • Geben Sie, falls erforderlich, zu ignorierende Benutzer ein Aufrufe von RFC-Funktionsbausteinen, die von diesem Benutzer initiiert wurden, werden ignoriert. • Geben Sie, falls erforderlich, den erlaubten SAP® Transaktionscode ein Geben Sie den SAP® Transaktionscode ein, wenn Daten verarbeitet werden sollen, die aus einer SAP® Transaktion stammen. Mehrere Transaktionscodes müssen durch Kommata getrennt sein. • Klicken Sie auf WEITER Der Bildschirm PARAMETER01 wird angezeigt. Adapter - EAI One V 2.7 2 - 25 Kapitel 2 3.1.3 Ein-/Ausgabeparameter Abbildung 2-9: Assistent - RFC Ein-/Ausgabeparameter für Server • Aktivieren Sie, falls erforderlich, das Kontrollkästchen PARAMETER 01 - ’IN’ Aktivieren Sie das Kontrollkästchen, wenn dieser RFC-Parameter als 'IN'-Parameter verwendet werden soll. Andernfalls wird der Parameter als 'OUT'-Parameter verwendet. • Geben Sie den Feldnamen für den Parameter 01 ein Geben Sie den Feldnamen für den 1. Parameter ein, der im RFC-Aufruf eines Funktionsbausteins im SAP®-System verwendet wird. • Geben Sie die Feldlänge für den Parameter 01 ein Geben Sie die Feldlänge für den 1. Parameter ein, der im RFC-Aufruf eines Funktionsbausteins im SAP®-System verwendet wird. • Wählen Sie das Fielditem für den Parameter 01 aus Wählen Sie das Fielditem aus, das dem 1. Parameter im RFC-Aufruf eines Funktionsbausteins im SAP®-System zugeordnet ist. • Füllen Sie auf die gleiche Weise, falls erforderlich, die Parameter 02 bis 08 aus • Klicken Sie auf FERTIGSTELLEN Wenn Sie alle gewünschten Parameter ausgefüllt haben, klicken Sie auf FERTIGSTELLEN. Die geänderten Einstellungen werden zurück in die Datenbank geschrieben. 3.2 Einstellungen mit dem Assistenten bearbeiten - RFC Client • Markieren Sie die das gewünschte Objekt Erweitern Sie im Container ANWENDUNGEN die Anwendung, die das Basisobjekt enthält, für das Sie die Einstellungen vornehmen möchten. Markieren Sie dieses Basisobjekt. 2 - 26 Adapter - EAI One V 2.7 • Klicken Sie auf die Schaltfläche EINSTELLUNGEN Der ASSISTENT ZUR KONFIGURATION DER PROTOKOLLATTRIBUTE wird geöffnet und zeigt Einstellmöglichkeiten für Protokollattribute zum ausgewählten Objekt an. 3.2.1 RFC Aktion Abbildung 2-10: Assistent - RFC Aktion für Client • Aktivieren Sie, falls erforderlich, das Kontrollkästchen RFC_READ_TABLE Der Funktionsbaustein RFC_READ_TABLE wird im SAP®-System aufgerufen. Die Schlüsselwerte für die Selektion der Daten werden im Standardobjekt übergeben. Der Adapter sendet ein Standardobjekt mit dem Selektionsergebnis zurück. • Geben Sie den Namen des Funktionsbausteins ein Geben Sie einen gültigen RFC Funktionsbaustein ein, der im SAP®-System aufgerufen werden soll. Dieser Name ist im SAP®-System festgelegt worden. Beachten Sie die korrekte Schreibweise. • Geben Sie die RFC Fehlerobjekt Id ein Liefert ein RFC_READ_TABLE ein unvollständiges oder leeres Ergebnis, wird ein Objekt mit dieser ID als Antwort geschickt. Ist des Kontrollkästchen AUCH UNVOLLSTÄNDIGE ERGEBNISSE ZURÜCKLIEFERN aktiviert, wird nur bei einem leeren Ergebnis mit dem Fehlerobjekt geantwortet. • Geben Sie die RFC Klausel ein Ist das Kontrollkästchen RFC_READ_TABLE aktiviert, geben Sie hier die Klausel ein, um die Ergebnisse der Selektion aus den einzelnen Tabellen miteinander zu verknüpfen. • Geben Sie die Maximale Anzahl der Einträge ein Geben Sie die Maximale Anzahl der Datensätze RFC_READ_TABLE Aufruf gelesen werden. ein, die bei einem • Aktivieren Sie, falls erforderlich das Kontrollkästchen VERBINDUNG HALTEN Aktivieren Sie das Kontrollkästchen, wenn die Verbindung, über die der Funktionsaufruf im SAP erfolgte, nach Beendigung des Aufrufes gehalten werden soll. Adapter - EAI One V 2.7 2 - 27 Kapitel 2 • Aktivieren Sie, falls erforderlich, das Kontrollkästchen AUCH UNVOLLSTÄNDIGES ERGEBNIS ZURÜCKLIEFERN Liefert der RFC_READ_TABLE bei einer oder mehreren der Tabellen kein Ergebnis, wird das Teilergebnis trotzdem zurückgeliefert. • Klicken Sie auf den Reiter NACHRICHTENIDENTIFIKATION Der Bildschirm NACHRICHTENIDENTIFIKATION wird angezeigt. 3.2.2 Nachrichtenidentifikation Abbildung 2-11: Assistent - RFC Nachrichtenidentifikation für Client • Geben Sie die Nachrichtentyp Id ein Geben Sie die SAP® Workflow Id für das Ereignis ein, das das ausgewählte Objekt erzeugt. • Wählen Sie das Fielditem für das WF Item Nr. 01 ein Die Nummer wird zur Identifikation der Daten im Datenstrom des Workflow-Ereignisses verwendet. • Geben Sie den Offset für das WF Item Nr. 01 ein Geben Sie das Offset für die Daten im Datenstrom des Workflow-Ereignisses ein. • Geben Sie die Länge für das WF Item Nr. 01 ein Geben Sie die maximale Länge des Dateninhaltes der Daten im Datenstrom des Workflow-Ereignisses ein. • Füllen Sie auf die gleiche Weise, falls erforderlich, die WF Items Nr. 02 bis 04 • Klicken Sie auf FERTIGSTELLEN Wenn Sie alle gewünschten Parameter ausgefüllt haben, klicken Sie auf FERTIGSTELLEN. Die geänderten Einstellungen werden zurück in die Datenbank geschrieben. 2 - 28 Adapter - EAI One V 2.7 4 Parametertabelle Parameter Beschreibung -201 Nachrichtentyp ID Stimmt der Anfang der Nachrichten ID eines aufgerufenen Funktionsbausteins mit diesem Text überein, wird der Funktionsbaustein diesem Objekt zugeordnet. -202 RFC_READ_TABLE Ein EAI One Standardobjekt von diesem Typ ruft den RFC_READ_TABLE-Funktionsbaustein im SAP®-System auf. -204 Klausel Mit dieser Klausel werden die Klauseln für die RFC_READ_TABLE-Aufrufe generiert. Weitere Informationen zu diesem Parameter finden Sie im Abschnitt 4.1 "Klausel" auf Seite 2-33 -205 Maximale Anzahl zu selektierender Einträge Die maximale Anzahl der Datensätze die bei einem RFC_READ_TABLE-Aufruf gelesen werden. -206 RFC Registrierung Name der Registrierung -207 RFC Funktionsbaustein Name des Funktionsbausteins -208 Beschreibung Kommentar zur Registrierung am SAP® Gateway. -260 Parameter 1 Fielditem Fielditem für 1. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -209 Parameter 1 Eingang Richtung für 1. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -210 Parameter 1 Feldname Feldname für 1. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -211 Parameter 1 Feldlänge Feldlänge für 1. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -261 Parameter 2 Fielditem Fielditem für 2. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -212 Parameter 2 Eingang Richtung für 2. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System Adapter - EAI One V 2.7 2 - 29 Kapitel 2 Parameter Beschreibung -213 Parameter 2 Feldname Feldname für 2. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -214 Parameter 2 Feldlänge Feldlänge für 2. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -262 Parameter 3 Fielditem Fielditem für 3. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -215 Parameter 3 Eingang Richtung für 3. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -216 Parameter 3 Feldname Fieldname für 3. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -217 Parameter 3 Feldlänge Fieldlänge für 3. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -263 Parameter 4 Fielditem Fielditem für 4. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -218 Parameter 4 Eingang Richtung für 4. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -219 Parameter 4 Feldname Fieldname für 4. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -220 Parameter 4 Feldlänge Fieldlänge für 4. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -264 Parameter 5 Fielditem Fielditem für 5. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -281 Parameter 5 Eingang Richtung für 5. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -282 Parameter 5 Feldname Fieldname für 5. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -283 Parameter 5 Feldlänge Fieldlänge für 5. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -265 Parameter 6 Fielditem Fielditem für 6. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System 2 - 30 Adapter - EAI One V 2.7 Parameter Beschreibung -284 Parameter 6 Eingang Richtung für 6. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -285 Parameter 6 Feldname Fieldname für 6. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -286 Parameter 6 Feldlänge Fieldlänge für 6. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -266 Parameter 7 Fielditem Fielditem für 7. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -287 Parameter 7 Eingang Richtung für 7. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -288 Parameter 7 Feldname Fieldname für 7. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -289 Parameter 7 Feldlänge Fieldlänge für 7. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -267 Parameter 8 Fielditem Fielditem für 8. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -290 Parameter 8 Eingang Richtung für 8. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -291 Parameter 8 Feldname Fieldname für 8. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -292 Parameter 8 Feldlänge Fieldlänge für 8. Parameter des Aufrufs eines Funktionsbausteins im SAP®-System -221 RFC Reconnect Nach Ablauf dieser Zeit (in Minuten) verbindet sich das System erneut zum SAP®, wenn die Verbindung zur Zeit nicht aktiv ist. Wird der Zyklus auf 0 gesetzt, verbindet sich das System erst dann erneut, wenn die Verbindung zusammengebrochen ist. -222 Fehlerobjekt ID Liefert ein RFC_READ_TABLE ein unvollständiges oder leeres Ergebnis, wird ein Objekt mit dieser ID als Antwort geschickt. Ist der Parameter -226 gesetzt, wird nur bei einem leeren Ergebnis mit dem Fehlerobjekt geantwortet. Adapter - EAI One V 2.7 2 - 31 Kapitel 2 Parameter Beschreibung -223 Ignoriere Objekt von Benutzer Aufrufe von RFC-Funktionsbausteinen, die von diesem Benutzer initiiert wurden, werden ignoriert. -224 Verbindung halten Die Verbindung, über die der Funktionsaufruf im SAP®-System erfolgte, wird nach Beendigung des Aufrufes gehalten. -226 Auch unvollständige Ergebnisse zurückliefern Liefert der RFC_READ_TABLE bei einer oder mehreren der Tabellen kein Ergebnis, wird das Teilergebnis trotzdem zurückgeliefert. -228 Erlaubte SAP Transaktionen Dieser Parameter schränkt die Transaktionen ein, die zu diesem Funktionsbaustein akzeptiert werden. Weitere Informationen zu diesem Parameter finden Sie im Abschnitt 4.3 "Erlaubte SAP® Transaktionen" auf Seite 2-34. -230 Server WF Schlüssel 1 Fielditem Fielditem im EAI One Standardobjekt, das dem Workflow Schlüssel 1 zugeordnet ist. -240 Server WF Schlüssel 1 Offset Offset im RFC-Übergabeparameterdatenstrom, das dem Workflow Schlüssel 1 zugeordnet ist. -250 Server WF Schlüssel 1 Länge Länge im RFC-Übergabeparameterdatenstrom, die dem Workflow Schlüssel 1 zugeordnet ist. -231 Server WF Schlüssel 2 Fielditem Fielditem im EAI One Standardobjekt, das dem Workflow Schlüssel 2 zugeordnet ist. -241 Server WF Schlüssel 2 Offset Offset im RFC-Übergabeparameterdatenstrom, das dem Workflow Schlüssel 2 zugeordnet ist. -251 Server WF Schlüssel 2 Länge Länge im RFC Übergabeparameterdatenstrom, die dem Workflow Schlüssel 2 zugeordnet ist. -232 Server WF Schlüssel 3 Fielditem Fielditem im EAI One Standardobjekt, das dem Workflow Schlüssel 3 zugeordnet ist. -242 Server WF Schlüssel 3 Offset Offset im RFC-Übergabeparameterdatenstrom, das dem Workflow Schlüssel 3 zugeordnet ist. -252 Server WF Schlüssel 3 Länge Länge im RFC-Übergabeparameterdatenstrom, die dem Workflow Schlüssel 3 zugeordnet ist. -233 Server WF Schlüssel 4 Fielditem Fielditem im EAI One Standardobjekt, das dem Workflow Schlüssel 4 zugeordnet ist. 2 - 32 Adapter - EAI One V 2.7 Parameter Beschreibung -243 Server WF Schlüssel 4 Offset Offset im RFC-Übergabeparameterdatenstrom, das dem Workflow Schlüssel 4 zugeordnet ist. -253 Server WF Schlüssel 4 Länge Länge im RFC-Übergabeparameterdatenstrom, die dem Workflow Schlüssel 4 zugeordnet ist. -280 Mandant an RFC Registrierung anhängen RFC-Aufrufe aus verschiedenen Mandanten desselben SAP®-Systems sollen auf verschiedene RFC-Server geschickt werden. Die Registrierung des RFC-Servers beim SAP®-System erfolgt dann unter dem aus Registrierung und Mandant zusammengesetzten Namen. 4.1 Klausel Die in den Einstellungen eingegebene Klausel legt fest, in welcher Reihenfolge die Tabellen ausgelesen werden und wie die Ergebnisse miteinander verknüpft werden. Für jede SAP®-Tabelle wird ein Funktionsbaustein RFC_READ_TABLE aufgerufen. Jede Tabelle, die ausgelesen werden soll, muss in der Klausel angegeben sein. In der Klausel wird festgelegt, wie das Ergebnis der Aufrufe genutzt wird, um das Auslesen anderer Tabellen einzuschränken. Die erste Tabelle muss eine Einschränkung auf sich selbst enthalten, z.B. CSKS::KOSTL=CSKS::COSTL. Die Tabellen werden in der Reihenfolge ausgelesen, in der sie in der Klausel angegeben sind. Die Tabelle, die am weitesten links angegeben ist, wird zuerst ausgelesen. Klausel Die Klausel besteht aus mehreren Einschränkungen, die durch das Wort “AND” miteinander verknüpft sind. Clause ::= Restriction (´ AND ´ Restriction)* Einschränkung Eine Einschränkung vergleicht ein Attribut mit einem anderen Attribut oder einer Konstante. Das Attribut auf der linken Seite ist für die Selektionsreihenfolge relevant. Das Attribut auf der rechten Seite muss in den Protokollattributen definiert worden sein. Restriction ::= Attribute Operator (Attribute | Constant) Attribut Ein Attribut besteht aus dem SAP®-Tabellennamen und dem Namen des Attributs in dieser Tabelle. Attribute ::= Table ’::’ AttributeName Adapter - EAI One V 2.7 2 - 33 Kapitel 2 Tabelle Ein SAP® Tabellenname,. Table ::= [A-Z0-9/_]+ Attributname Name des Attributs in der Tabelle. Attribute ::= [A-Z0-9_]+ Konstante Eine Konstante wird in einfache Hochkommata gesetzt Constant ::= ’’’ [A-Za-z0-9_/!$%&#*+-]* ’’’ 4.2 Funktionsbaustein RFC_READ_TABLE Der Adapter kann für ein Standardobjekt mehrere Aufrufe durchführen. In einem EAI One Standardobjekt können Attribute aus verschiedenen Tabellen enthalten sein. Für jede Tabelle, die in der Klausel angegeben ist, wird ein Funktionsbaustein RFC_READ_TABLE-Aufruf generiert. 4.3 Erlaubte SAP® Transaktionen Der Parameter legt fest, welche Transaktionen für dieses Objekt erlaubt sind und welche nicht. Transaktionsliste Eine Liste von Transaktionen. Ein vorangestelltes ’!’ legt fest, dass die nachfolgenden Transaktionen nicht erlaubt sind. TransactionList ::= (’!’)? Transaction (’,’ Transaction)* Transaktion Ein SAP® Transaktionsname Transaction 2 - 34 ::= [A-Za-z0-9]+ Adapter - EAI One V 2.7 5 Editor - RFC-Attribute im Protokollattribut Durch die Definition im Editor kann ein RFC-Attribut einem Fielditem des Standardobjekts zugeordnet werden, das der RFC-Protokolldefinition zugeordnet ist. Abbildung 2-12: RFC - Editor 5.1 Syntax der Protokollattribute Eine Zeichenkette definiert das RFC-Attribut, das die Daten für das entsprechende Fielditem enthält. Die Definition muss den Namen der SAP®-Tabelle und des Attributs in der Tabelle enthalten. Description ::= Table ´::´ AttributeName 5.2 Erforderlich Ohne Bedeutung. 5.3 Wiederholbar Ohne Bedeutung. 5.4 Typ Der Typ bestimmt den Datentyp im SAP®-System. Folgende Datentypen werden unterstützt: C Zeichenkette D Datum T Zeit Adapter - EAI One V 2.7 2 - 35 Kapitel 2 N Numerische Zeichenkette P Dezimal I Ganze Zahl X Hexadezimalzahl 5.5 Länge Die Länge des Dateninhaltes im SAP®-Datenstrom. Dieses Feld wird automatisch von EAI One gefüllt, wenn die RFC-Datenstruktur eingelesen wird. 5.6 Offset Das Offset des Dateninhaltes im SAP®-Datenstrom. Dieses Feld wird automatisch von EAI One gefüllt, wenn die RFC-Datenstruktur eingelesen wird. 6 Systemzugriffe In der Maske VIRTUELLE MASCHINEN\SYSTEMZUGRIFFE werden die Daten festgelegt, die zum Anmelden an eine Fremdapplikation notwendig sind. • Wählen Sie das Land aus Wählen Sie im Dropdown-Listenfeld LAND das Land für das System aus, mit dem die virtuelle Maschine kommunizieren soll. • Wählen Sie das gewünschte System aus Wählen Sie im Dropdown-Listenfeld SYSTEM das SAP®-System R... aus, mit dem die virtuelle Maschine kommunizieren soll. • Geben Sie die Benutzerkennung ein Geben Sie in das Feld KENNUNG den Benutzernamen an, mit dem sich EAI One am SAP®-System anmelden soll. • Geben Sie das Kennwort ein Geben Sie in das Feld KENNWORT das Kennwort für die Kennung im SAP®-System ein. • Geben Sie den Mandanten ein Geben Sie in das Feld MANDANT die ID des Mandanten ein, mit dem EAI One Daten austauschen soll. • Geben Sie die Systemnummer ein Geben Sie, falls erforderlich, in das Feld SYSTEM danten ein. NR. die Systemnummer des Man- • Geben Sie den Releasestand ein Geben Sie, falls erforderlich, in das Feld RELEASE den aktuellen Releasestand ein. Diese Angabe wird für einige Protokolle, z.B. IDoc, benötigt. Dieses Feld ist alphanumerisch und darf maximal 12 Zeichen lang sein. • Geben Sie das Ziel ein Geben Sie in das Feld DESTINATION die Bezeichnung des Ziels ein. Diese Angabe wird für SAP® R/2® benötigt. Hier muss der Name des Ziel-SAP®Systems eingetragen werden. 2 - 36 Adapter - EAI One V 2.7 • Geben Sie die System I D ein In manchen Fällen wird für SAP® eine eindeutige Systemkennung benötigt, um das Zielsystem zu identifizieren. Geben Sie diese Kennung, falls erforderlich, in das Feld SYSTEM ID ein. • Geben Sie die I P-Adresse des Zielsystems ein Geben Sie in das Feld ADRESSE die IP-Adresse des SAP®-Applikationsservers ein. 7 Referenzen • SAP SDK Online Dokumentation Adapter - EAI One V 2.7 2 - 37 Kapitel 2 2 - 38 Adapter - EAI One V 2.7 HL7 Adapter Standard-Protokolladapter für EAI One 1 Allgemeines Der speziell für das Gesundheitswesen entwickelte Kommunikationsstandard HL7 ermöglicht die Kommunikation zwischen nahezu allen Institutionen und Bereichen des Gesundheitswesens. Mit HL7 lassen sich alle wesentlichen Kommunikationsaufgaben abwickeln. Die wichtigsten Merkmale und Ziele von HL7 sind • Bereitstellung von Formaten und Protokollen zum Austausch bestimmter Datensätze zwischen Computersystemen im Gesundheitswesen • Standardisierung der Inhalte und damit Vereinheitlichung der Schnittstellen • Verbesserung der Effizienz der Kommunikationswege • Leitfaden bei Gesprächen der Kommunikationsparteien im Vorfeld von Verhandlungen • Deutliche Verminderung des Aufwands bei der Implementierung der Schnittstellen (erfahrungsgemäß 60-80%) 2 Besondere Funktionalität • Jede HL/7 Nachrichten ID referenziert zusammen mit der Ereignis ID auf ein EAI One Funktionsobjekt. • Der Adapter kann in zwei Richtungen arbeiten: 1. Er empfängt ein EAI One-Standardobjekt und kodiert die enthaltenen Daten in die HL/7-Struktur, die durch das EAI One Funktionsobjekt festgelegt ist. 2. Er empfängt HL/7-Daten und legt diese in einem EAI One-Standardobjekt ab. Das EAI One-Funktionsobjekt, das den Daten zugeordnet ist, legt das dafür verwendete HL/7-Standard-Parsing fest. 2.1 Empfang von EAI One Standardobjekten • Der Adapter kann aus mehreren Wiederholungen des EAI One-Standardobjekts eine HL/7-Nachricht mit sich wiederholenden Segmenten erzeugen. • Nur Segmente bzw. Felder, die in den Protokollattributen als wiederholbar gekennzeichnet sind, werden wiederholt. • Einige Daten können nur dann in der HL/7-Nachricht kodiert werden, wenn die erforderlichen Segmente bzw. Felder wiederholbar sind. • Daten gehen verloren, wenn die erforderlichen Segmente bzw. Felder nicht wiederholbar sind. 2.2 Empfang von HL/7 Daten • Der Adapter kann aus einer HL/7-Nachricht mit sich wiederholenden Segmenten bzw. Feldern mehrere Wiederholungen des EAI One-Standardobjekts erzeugen. Adapter - EAI One V 2.7 2 - 39 Kapitel 2 3 Einstellungen Die Einstellungen für den HL7-Adapter werden im Bildschirm ATTRIBUTE\PROTOKOLLATTRIBUTE vorgenommen. • Markieren Sie die das gewünschte Objekt Erweitern Sie im Container ANWENDUNGEN die Anwendung, die das Basisobjekt enthält, für das Sie die Einstellungen vornehmen möchten. Markieren Sie dieses Basisobjekt. • Klicken Sie auf die Schaltfläche EINSTELLUNGEN Der ASSISTENT ZUR KONFIGURATION DER PROTOKOLLATTRIBUTE wird geöffnet und zeigt Einstellmöglichkeiten für Protokollattribute zum ausgewählten Objekt an: Der Bildschirm NACHRICHTENIDENTIFIKATION wird angezeigt. Abbildung 2-13: Assistent - HL7 Nachrichtenidentifikation Die Felder Ereignisgruppe und Ereignis sollten bereits Daten enthalten. • Geben Sie in das Feld Definition der Separatoren die gewünschten Zeichen Üblicherweise sollten Sie dafür Sonderzeichen wählen, beispielsweise: | ^ & ~ \ • Klicken Sie auf FERTIGSTELLEN Die geänderten Einstellungen werden zurück in die Datenbank geschrieben. 2 - 40 Adapter - EAI One V 2.7 4 Parametertabelle Parameter -301 HL7 Ereignisgruppe Beschreibung Version Jeder eingehende HL7 Datenstrom muss identifiziert werden. Dazu werden objektbezogene Einstellparameter verwendet. Wenn die Ereignisgruppe und das Ereignis den in den Parametern -301 und -302 definierten Werten entsprechen, wird die Nachricht als das entsprechende Funktionsobjekt identifiziert. 2.6 Der Parameter entspricht der ersten Komponente des Feldes 00009 im MSH Segment. Weitere Informationen zu diesem Parameter finden Sie im Abschnitt 4.1 "Ereignisgruppe" auf Seite 2-42. -302 HL7 Ereignis Wenn die Ereignisgruppe und das Ereignis den in den Parametern -301 und -302 definierten Werten entsprechen, wird die Nachricht als das entsprechende Funktionsobjekt identifiziert. 2.5 Der Parameter entspricht der zweiten Komponente des Feldes 00009 im MSH Segment. Weitere Informationen zu diesem Parameter finden Sie im Abschnitt 4.2 "Ereignis" auf Seite 2-42. -303 HL7 Separatoren Diese Zeichenkette ist ähnlich der HL7Trennzeichenkette am Anfang der HL7Nachricht. Sie kann verwendet werden, um ausgehendende Nachrichten mit unterschiedlichen Trennern zu erzeugen. Sie hat keine Auswirkungen auf eingehende Nachrichten. 2.4 Der Parameter entspricht den Feldern 00001 und 00002 im MSH Segment. Weitere Informationen zu diesem Parameter finden Sie in der HL7.0 Specification, 2.1 Well-Formed HL7 Documents, definition [1] Adapter - EAI One V 2.7 2 - 41 Kapitel 2 4.1 Ereignisgruppe Die Ereignisgruppe wurde der Liste in Tabelle 0076 der HL7 Norm entnommen. messageId entnommen aus der Tabelle 0076 der HL7 Norm, Version 2.3 4.2 Ereignis Das Ereignis wurde der Liste in Tabelle 0003 der HL7 Norm entnommen. MessageEvent entnommen aus der Tabelle 0003 der HL7 Norm, Version 2.3 5 Editor - HL7 Durch die Definition im Protokollattribut kann ein HL/7 Feld, eine HL/7 Komponente oder eine HL/7 Unterkomponente einem Fielditem des EAI One-Standardobjekts zugeordnet werden. Die Protokollattribute und das EAI One-Standardobjekt sind dem EAI OneFunktionsobjekt zugeordnet. Abbildung 2-14: HL7 - Editor 5.1 Syntax der HL7 Felddefinition, Komponenten oder Unterkomponenten Eine Zeichenkette definiert das Feld, die Komponente oder Unterkomponente, das die Daten für das entsprechende Fielditem enthält. Die Zeichenkette muss den Namen des Segments und den Namen das Feldes enthalten. Sie kann den Namen der Komponente und Unterkomponente enthalten. Dem nachfolgenden Segment muss der Name des vorhergehenden Segments vorangestellt werden, wenn ein Segment bei einer Wiederholung mit einem anderen Segment zusammen wiederholt werden muss. Der Segmentname muss der Name des HL/7 Segments sein. Alle anderen Namen können frei gewählt werden. Als Feldname sollte die HL/7 Feldnummer gewählt werden. Die Position der Felder wird durch die Reihenfolge 2 - 42 Adapter - EAI One V 2.7 im Segment oder Feld festgelegt. Es wird empfohlen die HL/7 Nummern der Felder innerhalb eines Segmentes als Feldnamen zu benutzen. Description ::= [GroupId ´::´] SegmentId ´::´ FieldId [´::´ ComponentId [´::´ SubId]?]? GroupId ::= Name SegmentId ::= definiert entsprechend der HL7 Norm, Version 2.3 FieldId ::= Name ComponentId ::= Name SubId ::= Name Name ::= [Digit | Char]+ Digit ::= [´0´ - ´9´] Char ::= [´a´ - ´z´ | ´A´-´Z´] 5.2 Position Die Position bestimmt die Reihenfolge der Felder. Felder mit einem niedrigeren Positionswert stehen vor Feldern mit höherer Position. Der Name der ersten Komponente in einem Felde kann weggelassen werden. Der Name der ersten Unterkomponente in einer Komponente kann ebenfalls weggelassen werden. 5.3 Wiederholbar Dieses Kennzeichen bestimmt, ob das Segment oder Feld wiederholbar ist. Ebene 1 legt fest, dass das Segment wiederholbar ist. Ebene 0 oder darunter legt fest, dass das Feld wiederholbar ist. Nur das erste Segment in einer sich wiederholenden Folge von Segmenten muss als wiederholbar definiert werden. 5.4 Erforderlich Dieses Kennzeichen bestimmt ob das Segment, die Feldkomponente oder Unterkomponente erforderlich ist. Ebene 1legt fest, dass das Segment erforderlich ist. Ebene 0 oder darunter legt fest, dass das Feld erforderlich ist. 6 Referenzen Version 2.3 of the Health Level Seven (HL7) Standard for electronic data exchange in healthcare environments. Adapter - EAI One V 2.7 2 - 43 Kapitel 2 2 - 44 Adapter - EAI One V 2.7 SQL Adapter Standard-Protokolladapter für EAI One 1 Allgemeines SQL (Structured Query Language) ist eine strukturierte Abfragesprache für Datenbanken, mit der Daten aus einer Datenbank gelesen und eine Datenbank aktualisiert werden kann. Obwohl SQL sowohl von der ISO als auch von der ANSI genormt wurden, unterstützen viele Datenbank-Produkte SQL durch proprietäre Erweiterungen der genormten Sprache. Abfragen werden mittels eines Befehlssatzes durchgeführt. Dieser Befehlssatz ermöglicht das Auswählen, Einfügen, Aktualisieren, Finden von Daten in einer Datenbank usw. Der SQL-Adapter unterstützt den SQL Entry Level 92 (SQL2). SQL3 implementiert unter anderem objektorientierte Datenbank-Abfragen, die vom SQL Adapter allerdings nicht unterstützt werden. 2 Besondere Funktionalität • Jede SQL-Definition referenziert ein EAI One Funktionsobjekt. • Der Adapter arbeitet nur in eine Richtung: Er empfängt EAI One-Standardobjekte und führt einen oder mehrere SQL-Befehle aus. 2.1 Empfang von EAI One Standardobjekten • Der Adapter führt eine SQL-Anweisung in der Datenbank aus. • Die Übergabeparameter für die Anweisung werden durch die Feldinhalte des Standardobjekts festgelegt. • Das Ergebnis einer SELECT-Anweisung wird als Liste mehrerer EAI One-Datensätze zurückgegeben. 3 Einstellungen Die Einstellungen für den SQL-Adapter werden im Bildschirm ATTRIBUTE\PROTOKOLLATTRIBUTE vorgenommen. • Markieren Sie die das gewünschte Objekt Erweitern Sie im Container ANWENDUNGEN die Anwendung, die das Basisobjekt enthält, für das Sie die Einstellungen vornehmen möchten. Markieren Sie dieses Basisobjekt. • Klicken Sie auf die Schaltfläche EINSTELLUNGEN Der ASSISTENT ZUR KONFIGURATION DER PROTOKOLLATTRIBUTE wird geöffnet und zeigt Einstellmöglichkeiten für Protokollattribute zum ausgewählten Objekt an. Für die Einstellung der SQL-Daten benötigen Sie nur die vier Bildschirme AKTION, KLAUSEL, BESTÄTIGUNG und VERBINDUNG. Der Bildschirm AKTION wird angezeigt. Adapter - EAI One V 2.7 2 - 45 Kapitel 2 3.1 Aktion Abbildung 2-15: SQL - Aktion • Aktivieren Sie die gewünschten Kontrollkästchen Einige Kontrollkästchen werden je nach Auswahl ein- bzw. ausgeblendet. Nähere Angaben zu den einzelnen Wahlmöglichkeiten finden Sie in der “Parametertabelle” auf Seite 2-51. • Klicken Sie auf WEITER Der Bildschirm KLAUSEL wird angezeigt. 2 - 46 Adapter - EAI One V 2.7 3.2 Klausel Abbildung 2-16: SQL - Klausel • Geben Sie eine Where Klausel-Erweiterung ein Mit der Where Klausel-Erweiterung werden Einschränkungen festgelegt: Bei einem SELECT wird das Abfrageergebnis zusätzlich zu den automatischen Einschränkungen nochmals gefiltert. Bei einem UPDATE wird die Menge der veränderten Datensätze zusätzlich zu den automatischen Einschränkungen nochmals eingeschränkt. Die automatischen Einschränkungen ergeben sich aus den Einstellungen, die im Editor in der Spalte Klausel ausgewählt werden. Angaben zur Where-Klausel finden Sie in der “Parametertabelle” auf Seite 2-51 und dem Abschnitt “Automatisch generierte WHERE-Klausel” auf Seite 2-52. • Klicken Sie auf WEITER Der Bildschirm BESTÄTIGUNG (COMMIT) wird angezeigt. Adapter - EAI One V 2.7 2 - 47 Kapitel 2 3.3 Bestätigung (Commit) Abbildung 2-17: SQL - Bestätigung (Commit) • Aktivieren Sie die gewünschten Kontrollkästchen Einige Kontrollkästchen werden je nach Auswahl automatisch deaktiviert, wenn sich die Befehle widersprechen (Commit - kein Commit). Nähere Angaben zu den einzelnen Wahlmöglichkeiten finden Sie in der “Parametertabelle” auf Seite 2-51. • Klicken Sie auf WEITER Der Bildschirm VERBINDUNG wird angezeigt. 2 - 48 Adapter - EAI One V 2.7 3.4 Verbindung Abbildung 2-18: SQL - Verbindung • Aktivieren bzw. deaktivieren Sie das Kontrollkästchen Legen Sie fest, ob die Verbindung zur Datenbank nach jeder Transaktion getrennt werden soll oder nicht. Solange die Verbindung besteht, ist die Datenbank für den Zugriff durch andere Benutzer oder andere Abfragen gesperrt. Trennen Sie die Verbindung auf jeden Fall nach der letzten durchgeführten Abfrage. • Klicken Sie auf FERTIGSTELLEN Die geänderten Einstellungen werden zurück in die Datenbank geschrieben. Adapter - EAI One V 2.7 2 - 49 Kapitel 2 3.5 Trigger-Nachrichtenidentifikation Abbildung 2-19: Assistent - RFC Nachrichtenidentifikation für Client • Geben Sie die Nachrichtentyp Id ein Geben Sie die SQL Trigger Id für das Ereignis ein, das das ausgewählte Objekt erzeugt. • Wählen Sie das Fielditem für das Trigger Item Nr. 01 ein Die Nummer wird zur Identifikation der Daten im Datenstrom des Trigger-Ereignisses verwendet. • Geben Sie den Offset für das Trigger Item Nr. 01 ein Geben Sie das Offset für die Daten im Datenstrom des Workflow-Ereignisses ein. • Geben Sie die Länge für das Trigger Item Nr. 01 ein Geben Sie die maximale Länge des Dateninhaltes der Daten im Datenstrom des Trigger-Ereignisses ein. • Füllen Sie auf die gleiche Weise, falls erforderlich, die Trigger Items Nr. 02 bis 04 • Klicken Sie auf FERTIGSTELLEN Wenn Sie alle gewünschten Parameter ausgefüllt haben, klicken Sie auf FERTIGSTELLEN. Die geänderten Einstellungen werden zurück in die Datenbank geschrieben. 2 - 50 Adapter - EAI One V 2.7 4 Parametertabelle Parameter Beschreibung -101 Einfügen Die empfangenen Daten werden in die Datenbank eingefügt (SQL-Befehl INSERT). -102 Einfügen/Ändern Die empfangenen Daten werden in die Datenbank eingefügt (SQL-Befehl INSERT). Schlägt der Versuch, die Daten einzufügen, fehl, werden vorhandene Daten aktualisiert (SQL-Befehl UPDATE). Weitere Informationen zu diesem Parameter finden Sie im Abschnitt 4.1 "Automatisch generierte WHERE-Klausel" auf Seite 2-52. -103 Ändern Vorhandene Daten werden mit den empfangenen Daten aktualisiert (SQL-Befehl UPDATE). Weitere Informationen zu diesem Parameter finden Sie im Abschnitt 4.1 "Automatisch generierte WHERE-Klausel" auf Seite 2-52. -104 Entfernen Die empfangenen Daten bestimmen, welche Daten aus der Datenbank gelöscht werden sollen (SQLBefehl DELETE). Weitere Informationen zu diesem Parameter finden Sie im Abschnitt 4.1 "Automatisch generierte WHERE-Klausel" auf Seite 2-52. -105 Selektieren Aus den empfangenen Daten wird ein Schlüssel generiert, mit dem Daten aus der Datenbank gelesen werden. (SQL-Befehl SELECT) Weitere Informationen zu diesem Parameter finden Sie im Abschnitt 4.1 "Automatisch generierte WHERE-Klausel" auf Seite 2-52. -106 Commit Nachdem das Standardobjekt erfolgreich abgearbeitet wurde, wird der SQL-Befehl COMMIT in der Datenbank ausgeführt. -107 Kein Commit Der SQL-Befehl COMMIT wird nicht ausgeführt. -108 Rollback Nachdem das Standardobjekt abgearbeitet wurde, wird der SQL-Befehl ROLLBACK in der Datenbank ausgeführt. Adapter - EAI One V 2.7 2 - 51 Kapitel 2 Parameter Beschreibung -109 Dieser Text wird hinter die automatisch generierten WHERE Klausel gehängt. WHERE Klausel Erweiterung Weitere Informationen zu diesem Parameter finden Sie im Abschnitt 4.1 "Automatisch generierte WHERE-Klausel" auf Seite 2-52. -110 Verbindung nach Zugriff trennen Nachdem das empfangene Standardobjekt verarbeitet worden ist, wird die Verbindung zur Datenbank getrennt. -111 Ändern überprüfen Der Adapter überprüft, ob Datensätze zur Aktualisierung zur Verfügung stehen. Damit der Parameter -111 gesetzt werden kann, muss zuvor der Parameter -103 gesetzt worden sein. -112 Commit vor Überprüfung Bevor geprüft wird, ob Datensätze zur Aktualisierung zur Verfügung stehen, wird der SQL Befehl COMMIT ausgeführt. Damit der Parameter -112 gesetzt werden kann, muss zuvor der Parameter -111 gesetzt worden sein. -113 Maximale Datensätze im Objekt Legt fest, wieviele Datensätze aus dem SELECT Ergebnis maximal mit einem Paket versendet werden. 4.1 Automatisch generierte WHERE-Klausel Die WHERE Klausel für die SQL Befehle UPDATE, DELETE und SELECT wird aus den Protokollattributen und den Daten generiert, die mit dem EAI One Standardobjekt übergeben wurden. Klausel Die Klausel besteht aus mehreren Vergleichen, die durch das Wort “AND” miteinander verknüpft sind. An die Klausel wird die im Parameter -109 definierte Erweiterung der WHERE-Klausel angefügt. Clause ::= Comparison (´ AND ´ Comparison)* UserClause Vergleiche Es können Vergleiche mit einem Dateninhalt, dem Wert 0 und einer Zeichenkette mit der Länge 0 erzeugt werden. Außerdem kann eine NULL-Abfrage durchgeführt werden. Comparison 2 - 52 ::= CmpData | Cmp0 | CmpLen0 | NULLQuery Adapter - EAI One V 2.7 Vergleich mit Dateninhalt Für jedes Fielditem, das in den Protokollattributen mit einem Offset ungleich 0 versehen wurde, wird ein Vergleich mit dem Dateninhalt erzeugt, falls das empfangene Standardobjekt Daten zu diesem Fielditem enthält. CmpData ::= ColumnName Operator Data Spaltenname Der Name der Spalte in der entsprechenden Datenbanktabelle (Siehe SQL-3 Syntaxdefinition). Daten Die Daten aus dem Standardobjekt. Die Daten werden in Abhängigkeit von Datentyp der Spalte in Hochkommata gesetzt. Operator Der Operator für einen Vergleich kann am Ende der Definition des Protokollattributes angegeben werden. Wird kein Operator angegeben, wird der Operator ’=’ benutzt. Operator ::= ’ = ’ | ’ < ’ | ’ > ’ | ’ <= ’ | ’ >= ’ Vergleich mit 0 Für jedes Fielditem vom Typ Integer oder Numeric, das in den Protokollattributen mit einem Offset von -4 oder -5 versehen wurde, wird ein Vergleich mit 0 erzeugt, falls das empfangene Standardobjekt keine Daten zu diesem Fielditem enthält. Cmp0 ::= ColumnName ’=0’ Vergleich mit leerer Zeichenkette Für jedes Fielditem vom Typ Character oder Varchar, das in den Protokollattributen mit einem Offset von -4 oder -5 versehen wurde, wird ein Vergleich mit ’’ erzeugt, falls das empfangene Standardobjekt keine Daten zu diesem Fielditem enthält. CmpLen0 ::= ColumnName “=’’” NULL Abfrage Für jedes Fielditem, das in den Protokollattributen mit einem Offset von -3 oder -5 versehen wurde, wird eine NULL-Abfrage erzeugt, falls das empfangene Standardobjekt keine Daten zu diesem Fielditem enthält. NULLQuery ::= IsNULL | IsNULLOrEmpty | IsNullOr0 Ist das Attribut NULL? Für jedes Fielditem, das in den Protokollattributen mit einem Offset von -3 versehen Adapter - EAI One V 2.7 2 - 53 Kapitel 2 wurde, wird eine Abfrage auf NULL erzeugt, falls das empfangene Standardobjekt keine Daten zu diesem Fielditem enthält. IsNULL ::= ColumnName ’=NULL’ Ist das Attribut NULL oder Leer? Für jedes Fielditem vom Typ Character oder Varchar, das in den Protokollattributen mit einem Offset von -5 versehen wurde, wird eine Abfrage auf NULL oder Leer erzeugt, falls das empfangene Standardobjekt keine Daten zu diesem Fielditem enthält. IsNULLOrEmpty ::= ’(’ ColumnName ’=NULL OR’ ColumnName “=’’)” Ist das Attribut NULL oder 0? Für jedes Fielditem vom Typ Integer oder Numeric, das in den Protokollattributen mit einem Offset von -5 versehen wurde, wird eine Abfrage auf NULL oder 0 erzeugt, falls das empfangene Standardobjekt keine Daten zu diesem Fielditem enthält. IsNULLOrEmpty ::= ’(’ ColumnName ’=NULL OR’ ColumnName “=0)” 4.2 Automatisch generierte Spaltenliste Für die SQL Befehle INSERT, UPDATE und SELECT wird aus den Protokollattributen und den Daten, die im EAI One Standardobjekt empfangen wurden, eine Spaltenliste generiert. Spaltenliste für SELECT Für jedes Fielditem, das in den Protokollattributen zugeordnet ist, wird der Spaltenname in die Spaltenliste eingefügt. SelColList ::= ColumnName [’,’ ColumnName]* Spalten- und Werteliste für INSERT Für jedes Fielditem, für das im EAI One Standardobjekt Daten vorhanden sind oder das in den Protokollattributen auf Erforderlich gesetzt ist, wird der Spaltenname in die Spaltenliste und der Inhalt in die Werteliste eingefügt. InsColValList ::= ’(’ InsColList ’) VALUES (’ InsValList ’)’ Spaltenliste für INSERT Für jedes Fielditem, für das im EAI One Standardobjekt Daten vorhanden sind oder das in den Protokollattributen auf Erforderlich gesetzt ist, wird der Spaltenname in die Spaltenliste eingefügt. InsColList 2 - 54 ::= ColumnName (’, ’ ColumnName)* Adapter - EAI One V 2.7 Werteliste für INSERT Für jedes Fielditem, für das im EAI One Standardobjekt Daten vorhanden sind oder das in den Protokollattributen auf Erforderlich gesetzt ist, wird der Dateninhalt aus dem EAI One Standardobjekt in die Werteliste eingefügt. InsValList ::= Data (’, ’ Data)* Spaltenliste für UPDATE Für jedes Fielditem, das in den Protokollattributen mit einem Offset ungleich 0 oder +1 wird eine Zuweisung in die Spaltenliste eingefügt. UpdColList ::= Assignment [’,’ Assignment]* Zuweisung In der Zuweisung wird ein Dateninhalt einer Spalte zugewiesen. Assignment ::= ColumnName ’=’ Data 4.3 Automatisch generierte Tabellenliste Für die SQL Befehle INSERT, UPDATE, DELETE und SELECT wird aus den Protokollattributen eine Tabellenliste generiert. Tabellenliste Für jedes Fielditem, das in den Protokollattributen zugeordnet ist wird der Tabellenname in die Tabellenliste eingefügt, falls dieser in der Liste noch nicht vorhanden ist. TableList ::= TableName [’,’ TableName]* 4.4 Automatisch generierter SQL Befehl Für die SQL Befehle INSERT, UPDATE, DELETE und SELECT wird aus den Protokollattributen und den Daten die im EAI One Standardobjekt empfangen wurden ein SQL befehl generiert. SQL SELECT SQL SELECT Befehle werden wie folgt generiert: StmntSELECT ::= ’SELECT ’ SelColList ’ FROM ’ TableList ’ WHERE ’ Clause SQL INSERT SQL INSERT Befehle werden wie folgt generiert: StmntINSERT ::= ’INSERT INTO’ TableList InsColValList Adapter - EAI One V 2.7 2 - 55 Kapitel 2 SQL UPDATE SQL UPDATE Befehle werden wie folgt generiert: StmntUPDATE ::= ’UPDATE ’ UpdColList ’ WHERE ’ Clause SQL DELETE SQL Befehle werden wie folgt generiert: StmntSELECT ::= ’DELETE FROM ’ TableList ’ WHERE ’ Clause 5 Editor - Tabellenspalten im Protokollattribut Durch die Definition im Editor kann eine Tabellenspalte einem Fielditem des Standardobjekts zugeordnet werden. Abbildung 2-20: SQL - Editor 5.1 Syntax der Protokollattribute Eine Zeichenkette definiert die Tabellenspalte, die die Daten für das entsprechende Fielditem enthält. Die Definition muss den Namen der SQL-Tabelle und der Spalte in der Tabelle enthalten. An die Definition kann ein Operator angehängt werden. Description ::= TableName ´::´ ColumnName Operator 5.2 Erforderlich Bestimmt, ob leere Felder in die Spalten- und Werteliste für den INSERT Befehl übernommen werden. 2 - 56 Adapter - EAI One V 2.7 5.3 Wiederholbar Ohne Bedeutung. 5.4 Typ Der Typ bestimmt den Datentyp. Folgende Datentypen werden unterstützt: C Zeichenkette (Char) V Zeichenkette variabler Länge (Varchar) I Ganzzahl (Integer) N Numerischer Datentyp (Numeric) D Datum (Date) T Uhrzeit (Time) S Zeitstempel bzw. Datum und Uhrzeit (Timestamp) L Großes Objekt (Large Object) B Boolscher Wert (Boolean) M Geldwert 5.5 Länge Die Länge des Dateninhaltes in der Spalte in der SQL-Datenbank. Dieses Feld wird automatisch von EAI One gefüllt, wenn die Datenbank-Datenstruktur eingelesen wird. 5.6 Offset Entscheidet, ob der Wert in der Klausel und/oder der Spaltenliste vorhanden ist. 6 Systemzugriffe In der Maske VIRTUELLE MASCHINEN\SYSTEMZUGRIFFE werden die Daten festgelegt, die zum Anmelden an eine Fremdapplikation notwendig sind. • Wählen Sie das gewünschte System aus Wählen Sie im Dropdown-Listenfeld SYSTEM das System DATENBANK aus. • Geben Sie die Benutzerkennung ein Geben Sie in das Feld KENNUNG den Benutzernamen an, mit dem sich EAI One an der Datenbank anmelden soll. • Geben Sie das Kennwort ein Geben Sie in das Feld KENNWORT das Kennwort für die Kennung an der Datenbank ein. • Geben Sie den Mandanten ein Geben Sie in das Feld MANDANT den ODBC Aliasnamen der Datenbank ein. Adapter - EAI One V 2.7 2 - 57 Kapitel 2 • Geben Sie die System I D ein Wählen Sie im Dropdown-Listenfeld SYSTEM ID den Typ der Datenbank aus. 7 Referenzen SQL Entry Level 92 Syntaxdefinition 2 - 58 Adapter - EAI One V 2.7 SQL Trigger Adapter Standard- SQL Transportadapter für EAI One 1 Allgemeines Um Daten in Echtzeit aus Datenbanken zu kommunizieren, stellen die verschiedenen Datenbankhersteller unterschiedlichste Mechanismen zur Verfügung. Hier werden die häufigst verwendeten Methoden angesprochen. Durch einen sogenannten “Datenbanktrigger” kann auf ein zuvor definiertes Ereignis auf einer Tabelle eine Prozedur ( innerhalb der Datenbanksprache) abgearbeitet werden, die es widerum erlaubt externe Funktionen ( hier in der Programmiersprache “C” ) aufzurufen. Somit kann sichergestellt werden, daß bei einem Einfügen eines Datensatzes in eine Datenbank, zusätzliche externe Programme ausgerufen werden ( z.B. Ausdruck einer Liste) , um einen Gesamtprozess abzubilden. 2 Die Funktionsweise des Datenbanktrigger Adapters Der Datenbanktrigger Adapter ist eine Dynamic Link Labrary (DLL). Sie exportiert eine Funktion Ttrigger‘, die im Kontext einer Stored Procedure oder eines Triggers der Datenbanksysteme IBM DB/2 oder Oracle als externe Prozedur aufgerufen werden kann. Ein von der Datenbankprozedur übergebener Textparameter wird unverändert an die in der DLL eingestellte Zieladresse gesendet. Kann die Nachricht nicht gesendet werden oder erfolgt keine positive Bestätigung der Nachricht durch das Zielsystem, wird diese zum Zweck des späteren Versandes in einer ebenfalls in der DLL eingestellten Datei gespeichert. Ist weder ein erfolgreicher Versand noch eine Zwischenspeicherung der Nachricht möglich wird an die aufrufende Datenbankprozedur ein einstellbarer Fehlercode zurückgeliefert. Adapter - EAI One V 2.7 2 - 59 Kapitel 2 3 Einstellung der Datenbank und Registrierung der DLL Die vorzunehmenden Einstellungen der Datenbank und die Registrierung der externen Prozedur erfolgt anhand des Beispiels Oracle 8.0.5 für Windows. 3.1 Einstellung des Oracle Listeners Eine externe Prozedur wird von Oracle durch den Oracle Listener gestartet. Dazu muß ein Service für die externe Prozedur eingerichtet werden. Dazu ist folgendermaßen vorzugehen. • Starten Sie den Oracle Net8 Assistenten in der Programmgruppe Oracle für Windows. • Eine eventuelle Warnung, das die Konfigurationsdatei Kommentare enthält, welche verloren gehen können, kann ignoriert werden. • Wählen Sie in der linken Liste den Eintrag Service Namen aus • Durch Doppelklick des Eintrages wird die Liste der Registrierten Services geöffnet • Überprüfen Sie, ob ein Service mit dem Namen EXTPROC_CONNECTION_DATA existiert • Existiert der Service bereits, können Sie das Programm schließen • Wählen Sie den Menüpunkt Bearbeiten/Erzeugen aus, wenn der Service noch nicht existiert • Tragen Sie EXTPROC_CONNECTION_DATA in das Feld Service Name ein • Setzen Sie fort, indem Sie die Schaltfläche weiter anklicken • Wählen Sie aus der Liste der Protokolle den Eintrag IPC (lokaler Prozeß) aus • Setzen Sie fort, indem Sie die Schaltfläche weiter anklicken • Tragen Sie EXTPROC0 in das Feld IPC Schlüsselwert ein • Setzen Sie fort, indem Sie die Schaltfläche weiter anklicken • Tragen Sie extproc in das Feld Datenbank SID ein • Beenden Sie die Konfiguration, indem Sie die Schaltfläche Fertigstellen anklicken • Damit ist der Service serverseitig eingerichtet. Zum einrichten des Service auf der Clientseite ist folgendermaßen vorzugehen. • Starten Sie den Oracle Net8 Konfigurator in der Programmgruppe Oracle für Windows • Eine eventuelle Warnung, das die Konfigurationsdatei Kommentare enthält, welche verloren gehen können, kann ignoriert werden. • Überprüfen Sie, ob in der Liste existierender Services ein Service mit dem Namen EXTPROC_CONNECTION_DATA existiert • Existiert der Service bereits, können Sie das Programm schließen • Wählen Sie den Auswahlknopf Neuen Service Anlegen aus • Tragen Sie EXTPROC_CONNECTION_DATA in das Feld Neuer Service Name ein • Setzen Sie fort, indem Sie die Schaltfläche weiter anklicken • Wählen Sie aus der Liste der Protokolle den Eintrag IPC (lokaler Prozeß) aus • Setzen Sie fort, indem Sie die Schaltfläche weiter anklicken • Tragen Sie EXTPROC0 in das Feld IPC Schlüsselwert ein • Setzen Sie fort, indem Sie die Schaltfläche weiter anklicken 2 - 60 Adapter - EAI One V 2.7 • Tragen Sie extproc in das Feld Datenbank SID ein • Beenden Sie die Konfiguration, indem Sie die Schaltfläche Fertigstellen anklicken Damit ist auch die Einrichtung des Service auf der Clientseite vorgenommen. 3.2 Registrieren der DLL und der externen Funktion Die Registrierung der DLL erfolgt über ein SQL Interface beispielsweise Oracle SQL Plus. Für die Registrierung der DLL werden administrative Rechte auf der Datenbank benötigt. Das SQL Script für die Registrierung der DLL hat beispielsweise folgende Form. create or replace library eaitrg00 as 'c:\programs\eaione\eaitrg00.dll'; / create or replace function schema.oratrigger (message varchar2) return binary_integer as external library eaitrg00 name "trigger" language C; / Die erste Anweisung registriert die DLL eaitrg00.dll als Bibliothek eaitrg00, die sich in diesem Beispiel im dem Verzeichnis c:\programs\eaione befindet. Die zweite Anweisung definiert eine externe Datenbankprozedur mit dem Namen oratrigger, die die Funktion trigger aus der Bibliothek eaitrg00 verwendet. Um die DLL und die Funktion zu registrieren ersetzen sie den Beispielpfad durch den realen Pfad der DLL und den Schemanamen schema durch den realen Schemanamen und führen Sie das Script beispielsweise im Oracle SQL Plus aus. • Geben Sie dazu in der Kommandozeile folgenden Text ein · plus80 Nutzer@Datenbankalias Der Datenbankalias ist der beschreibt die Datenbank, auf der die externe Funktion registriert werden soll, der Nutzer der Name eines Nutzers mit administrativen Rechten. • Geben Sie das Passwort für den Datenbanknutzer ein bestätigen Sie mit ENTER • Führen Sie das Script aus, indem Sie ein @ und den Pfad der Scriptdatei eingeben und mit ENTER bestätigen. • Geben Sie commit ein und bestätigen Sie mit ENTER • Beenden Sie das Programm mit quit und bestätigen Sie mit ENTER Die Bibliothek und die externe Funktion sind damit registriert. Die externe Funktion kann nun aus jeder Datenbankprozedur oder –trigger heraus aufgerufen werden. Adapter - EAI One V 2.7 2 - 61 Kapitel 2 3.3 Aufruf der externen Funktion aus einem Datenbanktrigger Den Aufruf der externen Funktion aus einem Trigger zeigt das folgende Beispiel. create or replace trigger schema.trigger after insert or update or delete on schema.tabelle for each row declare message varchar(64); status integer:=0; begin if inserting then message:=‘inserted‘; elsif deleting then message:=‘deleted‘; else message:=‘updated‘; end if; status:=oratrigger(message); if status <> 0 then raise_application_error(-20256,'external function returned ' || status); end if; end; / Passen Sie das Script an die Erfordernisse an und Führen Sie es beispielsweise wie im vorigen Abschnitt beschrieben im Oracle SQL Plus aus. 2 - 62 Adapter - EAI One V 2.7 4 Einstellung der Kommunikationsparameter in der DLL 4.1 Die Kommunikationsparameter und ihre Voreinstellungen Die Kommunikation des Adapters wird durch in der DLL festgelegte Parameter gesteuert. Zu diesen Parametern gehören: Host: Name oder Adresse des Zielsystems, an die die Nachricht geschickt werden soll Service: Name des Service oder Nummer des Ports des Systems zu dem die Verbindung aufgebaut wird Log: Pfad des Verzeichnisses, unter dem nicht gesendete Nachrichten gespeichert werden sollen Ack: Zeichenkette, die als positive Bestätigung des Eingangs der Nachricht erwartet wird LengthHeader: (0 oder 1) Bestimmt, ob der Nachricht eine Längeninformation vorangestellt werden soll Timeout: Wartezeit (ms), innerhalb der eine Bestätigung des Nachrichteneingangs erwartet wird ErrorReturn: (ganzzahlig) Fehlercode, der an die aufrufende Datenbankprozedur zurückgegeben wird, wenn die Nachricht weder gesendet noch gespeichert werden konnte. Für die Kommunikationsparameter sind folgende Werte voreingestellt. Host: EAIONE Service: EAIPORT Log: /data/ Ack: [ACK] LengthHeader: 1 Timeout: 5000 ErrorReturn: -1 4.2 Manuelle Veränderung der Parameter Die Kommunikationsparameter können in der DLL mittels des Programms eaitrg00.exe nachträglich verändert werden. Dazu rufen sie das Programm für die einzelnen Parameter wie folgt auf. • Host • eaitrg00 eaitrg00.dll –h <host/adresse> • Service • eaitrg00 eaitrg00.dll –s <service/port> • Log • eaitrg00 eaitrg00.dll –p <verzeichnis> • Ack • eaitrg00 eaitrg00.dll –a <zeichenkette> • LengthHeader Adapter - EAI One V 2.7 2 - 63 Kapitel 2 • eaitrg00 eaitrg00.dll –a 0|1 • Timeout • eaitrg00 eaitrg00.dll –t <wartezeit> • ErrorReturn • eaitrg00 eaitrg00.dll –e <rückgabewert> 4.3 Zur Beachtung Folgende Sachverhalte müssen bei der Einstellung der Parameter beachtet werden. Das Log Verzeichnis muß ein auf dem jeweiligen System gültiger Pfad zu einem Verzeichnis sein, auf das die Datenbankinstanz Schreib- und Leserechte besitzt. Der Pfad ist mit dem Verzeichnistrenner abzuschließen. Wenn das Vorausenden der Längeninformation eingeschaltet ist, wird diese auch bei der zu empfangenen Bestätigung erwartet. Das setzen einer Wartezeit von 0 bedeutet, daß das Programm wartet, bis eine Bestätigung eingeht oder die Verbindung abbricht. Wenn die Funktion durch einen Datenbanktrigger direkt ausgelöst wird, bleibt die auslösende Datenbanktransaktion blockiert bis die Funktion zurückkehrt. Wenn die externe Funktion in einem Datenbanktrigger verwendet wird und sie nicht aufgerufen werden kann, weil beispielsweise sich die DLL nicht unter dem registrierten Pfad befindet oder auf sie nicht zugegriffen werden kann, schlägt die auslösende Transaktion fehl. Damit können Datenbanktabellen nicht mehr veränderbar sein. Gleiches gilt, wenn der Rückgabewert der externen Funktion ausgewertet wird und zum Auslösen eines Fehlers wie im oben gezeigten Beispiel führt. 2 - 64 Adapter - EAI One V 2.7 EDIFACT Adapter Standard-Protokolladapter für EAI One 1 Allgemeines EDIFACT, definiert und gepflegt von Gremien der Vereinten Nationen (UN), dient zur Standardisierung beim elektronischen Austausch von Handelsdokumenten und Geschäftsnachrichten. Durch die Schirmherrschaft der UN wird EDIFACT oft auch als UN/EDIFACT bezeichnet. Allen EDIFACT-Nachrichten liegt die ISO9735 zugrunde, in der die einzelnen Syntaxeinheiten detailliert beschrieben sind. Dort ist auch der Aufbau der Steuersegmente (z.B. UNH, UNT) definiert, da diese standardübergreifend für alle Nachrichten gelten. In den von der UN herausgegebenen Standards sind Regeln definiert, anhand derer die einzelnen EDIFACT-Nachrichten zu erstellen sind. Diese Regeln beschreiben den Aufbau und die Form der Inhalte der jeweiligen Nachricht. Durch die wohldefinierten Strukturen der Nachrichten und deren Inhalte ist der Informationsaustausch über unterschiedliche Computersysteme hinweg leichter möglich als durch den Einsatz proprietärer Datenformate. Die EDIFACT-Standards werden gemäß ihrem Erscheinungsjahr beziffert. Zum Umsetzen von EDIFACT-Nachrichten aus bzw. in das vom jeweilig eingesetzten Anwendungssystem verwendbaren Datenformat kommt ein sogenannter Konverter zum Einsatz. Der EAI One EDIFACT-Adapter stellt die Funktionalität eines solchen Konverters zur Verfügung. 2 Besondere Funktionalität • Jede EDIFACT Nachrichten ID referenziert zusammen mit der Version und dem Release auf ein EAI One Funktionsobjekt. • Der Adapter kann in zwei Richtungen arbeiten: 1. Er empfängt ein EAI One-Standardobjekt und kodiert die enthaltenen Daten in die EDIFACT-Struktur, die durch das EAI One Funktionsobjekt festgelegt ist. 2. Er empfängt EDIFACT-Daten und legt diese in einem EAI One-Standardobjekt ab. Das EAI One-Funktionsobjekt, das den Daten zugeordnet ist, legt die dafür verwendete EDIFACT Standard-Konvertierung fest. 2.1 Empfang von EAI One Standardobjekten • Der Adapter kann aus mehreren Wiederholungen des EAI One-Standardobjekts eine EDIFACT-Nachricht mit sich wiederholenden Segmenten bzw. Datenelementen erzeugen. • Nur Segmente bzw. Datenelemente, die in den Protokollattributen als wiederholbar gekennzeichnet sind, werden wiederholt. • Einige Daten können nur dann in der EDIFACT-Nachricht kodiert werden, wenn die erforderlichen Segmente bzw. Datenelemente wiederholbar sind. • Daten gehen verloren, wenn die erforderlichen Segmente bzw. Datenelemente nicht wiederholbar sind. Adapter - EAI One V 2.7 2 - 65 Kapitel 2 2.2 Empfang von EDIFACT Daten • Der Adapter kann aus einer EDIFACT-Nachricht mit sich wiederholenden Segmenten bzw. Datenelementen mehrere Wiederholungen des EAI One-Standardobjekts erzeugen. 3 Einstellungen Die Einstellungen für den Edifact-Adapter werden im Bildschirm ATTRIBUTE\PROTOKOLLATTRIBUTE vorgenommen. • Markieren Sie die das gewünschte Objekt Erweitern Sie im Container ANWENDUNGEN die Anwendung, die das Basisobjekt enthält, für das Sie die Einstellungen vornehmen möchten. Markieren Sie dieses Basisobjekt. • Klicken Sie auf die Schaltfläche EINSTELLUNGEN Der ASSISTENT ZUR KONFIGURATION DER PROTOKOLLATTRIBUTE wird geöffnet und zeigt Einstellmöglichkeiten für Protokollattribute zum ausgewählten Objekt an. 3.1 Nachrichtenidentifikation Abbildung 2-21: Edifact - Nachrichtenidentifikation • Geben Sie Nachrichtenidentifikation, Version und Release ein Version und Release sind numerische Werte. 2 - 66 Adapter - EAI One V 2.7 3.2 Sonderzeichen Abbildung 2-22: Edifact - Sonderzeichen • Geben Sie die Sonderzeichen für die Nachrichtenerzeugung ein Geben Sie für die Nachrichtenerzeugung die Sonderzeichen für DatenelementTrenner, Komponentendatenelement-Trenner, Trenner für Datenelementwiederholung und Release-Zeichen ein. 4 Parametertabelle Parameter Beschreibung Version -501 Jeder eingehende EDIFACT Datenstrom muss identifiziert werden. Dazu werden objektbezogene Einstellparameter verwendet. Wenn die Nachrichtentyp Identifikation, Nachrichtenversion und der Nachrichtenrelease den in den Parametern -501, -502 und -503 definierten Werten entspechen, wird die Nachricht als das entsprechende Funktionsobjekt identifiziert. 2.6 EDIFACT Nachrichtentyp Identifikation Der Parameter enthält die Nachrichten-ID. Das entspricht dem Tag 0065 im UNH bzw. UIH Segment. Adapter - EAI One V 2.7 2 - 67 Kapitel 2 Parameter Beschreibung Version -502 Wenn die Nachrichtentyp Identifikation, Nachrichtenversion und der Nachrichtenrelease den in den Parametern -501, -502 und -503 definierten Werten entspechen, wird die Nachricht als das entsprechende Funktionsobjekt identifiziert. 2.5 EDIFACT Nachrichtenversion Der Parameter enthält die Nachrichtenversionsnummer. Das entspricht dem Tag 0052 im UNH bzw. UIH Segment. -503 EDIFACT Nachrichtenrelease Wenn die Nachrichten-ID, Nachrichtenversion und der Nachrichtenrelease den in den Parametern -501, -502 und -503 definierten Werten entspechen, wird die Nachricht als das entsprechende Funktionsobjekt identifiziert. 2.5 Der Parameter enthält die Nachrichtenreleasenummer. Das entspricht dem Tag 0054 im UNH bzw. UIH Segment. -510 EDIFACT Segmentende Das Sonderzeichen, das als Segmentende für ausgehende EDIFACT-Nachrichten genutzt wird. Es wird im UNA-Segment der ausgehenden Nachricht kodiert. 2.4 Der Parameter entspricht der Position 060 im UNA-Segment. -511 EDIFACT Datenelementtrenner Der Datenelementtrenner, der für ausgehende EDIFACT-Nachrichten genutzt wird. Er wird im UNA-Segment der ausgehenden Nachricht kodiert. 2.4 Der Parameter entspricht der Position 020 im UNA-Segment. -512 EDIFACT Komponentendatenelement-Trenner Der Komponentendatenelement-Trenner, der für ausgehende EDIFACT-Nachrichten genutzt wird. Er wird im UNA-Segment der ausgehenden Nachricht kodiert. Der Parameter entspricht der Position 010 im UNA-Segment. 2 - 68 Adapter - EAI One V 2.7 2.4 Parameter Beschreibung Version -513 Der Trenner für Datenelementwiederholung, der für ausgehende EDIFACT-Nachrichten genutzt wird. Er wird im UNA-Segment der ausgehenden Nachricht kodiert. 2.4 EDIFACT Trenner für Datenelementwiederholung Der Parameter entspricht der Position 050 im UNA-Segment. -514 EDIFACT ReleaseZeichen Das Release-Zeichen, das für ausgehende EDIFACT-Nachrichten genutzt wird. Es wird im UNA-Segment der ausgehenden Nachricht kodiert. 2.4 Der Parameter entspricht der Position 040 im UNA-Segment. 5 Editor - EDIFACT Element-, oder Unterkomponentendefinition Durch die Definition im Editor kann ein EDIFACT-Datenelement oder ein EDIFACTKomponentendatenelement einem Fielditem des EAI One-Standardobjekts zugeordnet werden. Die Protokollattribute und das EAI One-Standardobjekt sind dem EAI OneFunktionsobjekt zugeordnet. Abbildung 2-23: Edifact - Editor 5.1 Syntax der Protokollattribute Eine Zeichenkette definiert das Datenelement oder Komponentendatenelement, das die Daten für das entsprechende Fielditem enthält. Adapter - EAI One V 2.7 2 - 69 Kapitel 2 Die Zeichenkette muss den Namen der übergeordneten Segmente und die Tagnummer für das Element enthalten. Sie kann die Tagnummer des Komponentenelementes enthalten. Die Segmentnamen sind die Namen der EDIFACT-Segmente. Die Tagnummern können frei gewählt werden. Ihre Bedeutung wird durch die Reihenfolge im Segment oder Element festgelegt. Es wird empfohlen, die EDIFACT Tagnummern der Elemente innerhalb eines Segmentes als Feldnamen zu benutzen. Ein ’*’ nach dem Segmentnamen weist dieses Segment als optional und wiederholbar aus. Ein ’+’ nach dem Segmentnamen weist dieses Segment als wiederholbar aus. Ein ’?’ nach dem Segmentnamen weist dieses Segment als optional aus. Description ::= [SegmentId[’*’ | ’?’ | ’+’]? ´::´]+ FieldId [´;;´ ComponentId]? SegmentId ::= definiert entsprechend der ISO 9735-1 FieldId ::= Name ComponentId ::= Name SubId ::= Name Name ::= [Digit | Char]+ Digit ::= [´0´ - ´9´] Char ::= [´a´ - ´z´ | ´A´-´Z´] 5.2 Position Die Position bestimmt die Reihenfolge der Elemente. Elemente mit einem niedrigeren Positionswert stehen vor Elementen mit höherer Position. Der Name des ersten Komponentenelements in einem Element kann weggelassen werden. 5.3 Wiederholbar Nicht benutzt. 5.4 Erforderlich Nicht benutzt. 6 Referenzen ISO 9735 - EDIFACT Application level syntax rules 2 - 70 Adapter - EAI One V 2.7 EDI Adapter Standard-Protokolladapter für EAI One 1 Allgemeines Der EDI Adapter übernimmt die Kodierung und Dekodierung von Nachrichten, die keinem festgelegten Standardformat entsprechen. Der EDI Adapter ist aus diesem Grund sehr flexibel zu parametrieren. Die Erkennung von Nachrichten und Segmenten erfolgt mit Hilfe erweiterter regulärer Ausdrücke (Extended Regular Expressions). 2 Besondere Funktionalität • Jede EDI Nachrichten ID referenziert zusammen mit der Version und dem Release auf ein EAI One-Funktionsobjekt. • Der Adapter kann in zwei Richtungen arbeiten: 1. Er empfängt ein EAI One-Standardobjekt und kodiert die enthaltenen Daten in die EDI-Struktur, die durch das EAI One Funktionsobjekt festgelegt ist. 2. Er empfängt EDI-Daten und legt diese in einem EAI One-Standardobjekt ab. Das EAI One-Funktionsobjekt, das den Daten zugeordnet ist, legt die dafür verwendete EDI Standard-Konvertierung fest. 2.1 Empfang von EAI One Standardobjekten • Der Adapter kann aus mehreren Wiederholungen des EAI One-Standardobjekts eine EDI-Nachricht mit sich wiederholenden Segmenten bzw. Datenelementen erzeugen. • Nur Segmente bzw. Datenelemente, die in den Protokollattributen als wiederholbar gekennzeichnet sind, werden wiederholt. • Einige Daten können nur dann in der EDI-Nachricht kodiert werden, wenn die erforderlichen Segmente bzw. Datenelemente wiederholbar sind. • Daten gehen verloren, wenn die erforderlichen Segmente bzw. Datenelemente nicht wiederholbar sind. 2.2 Empfang von EDI Daten • Der Adapter kann aus einer EDI-Nachricht mit sich wiederholenden Segmenten bzw. Datenelementen mehrere Wiederholungen des EAI One-Standardobjekts erzeugen. 3 Einstellungen Die Einstellungen für den EDI-Adapter werden im Bildschirm ATTRIBUTE\PROTOKOLLATTRIBUTE vorgenommen. • Markieren Sie die das gewünschte Objekt Erweitern Sie im Container ANWENDUNGEN die Anwendung, die das Basisobjekt enthält, für das Sie die Einstellungen vornehmen möchten. Markieren Sie dieses Basisobjekt. Adapter - EAI One V 2.7 2 - 71 Kapitel 2 • Klicken Sie auf die Schaltfläche EINSTELLUNGEN Der ASSISTENT ZUR KONFIGURATION DER PROTOKOLLATTRIBUTE wird geöffnet und zeigt Einstellmöglichkeiten für Protokollattribute zum ausgewählten Objekt an. 3.1 Nachrichtenidentifikation Abbildung 2-24: EDI - Nachrichtenidentifikation • Geben Sie Nachrichtenkennung ein Die Nachrichtenkennung muss ein Erweiterter Regulärer Ausdruck sein. Entspricht die Nachricht dem eingegebenen Ausdruck, wird sie diesem Funktionsobjekt zugeordnet. Ein Assistent kann bei der Erstellung des Ausdruckes helfen. • Klicken Sie gegebenenfalls das Kontrollkästchen OFFSET DEFINIEREN an Wenn die Feldinhalte der Nachricht an einem fest definierten Offset zu finden sind, klicken Sie auf das Kontrollkästchen OFFSET DEFINIEREN. • Segmenttrenner Geben Sie hier den Segmenttrenner ein. Es werden folgende Sonderzeichen unterstützt: \a \b \f \n \r \t 2 - 72 Alarm Backspace Formfeed Newline Carriage Return (Carriage Return-Linefeed wird automatisch zu Carriage Return umgewandelt. Horizontal Tab Adapter - EAI One V 2.7 \v Vertical Tab • Feldtrenner Hier wird das Trennzeichen für Felder in Nachrichten eingegeben, die nicht über feste Offsets verfügen. 4 Parametertabelle Parameter -601 Beschreibung EDI Nachrichtenkennung Version Jeder eingehende EDI Datenstrom muss identifiziert werden. Wenn die Nachricht zu dem hier angegebenen erweiterten regulären Ausdruck passt, wird die Nachricht als das entsprechende Funktions objekt identifiziert. Der Parameter enthält einen erweiterten regulären Ausdruck. -602 Offset definieren Gesetzt, wenn die Feldinhalte der Nachricht an einem fest definierten Offset zu finden sind. 2.5 -610 EDI Segmenttrenner Zeichenfolge, durch die die Segmente in der EDI Nachricht voneinander getrennt werden. 2.5 -610 EDI Feldtrenner Zeichen, durch das die Felder der EDI Nachricht voneinander getrennt werden. 2.4 Adapter - EAI One V 2.7 2 - 73 Kapitel 2 5 Editor – EDI Element-, oder Unterkomponentendefinition Durch die Definition im Editor kann ein EDI-Datenelement einem Fielditem des EAI One-Standardobjekts zugeordnet werden. Die Protokollattribute und das EAI OneStandardobjekt sind dem EAI One-Funktionsobjekt zugeordnet. Abbildung 2-25: Edi - Editor 5.1 Syntax der Protokollattribute Eine Zeichenkette definiert das Datenelement, das die Daten für das entsprechende Fielditem enthält. Die Zeichenkette muss den Namen der übergeordneten Segmente und einen Feldnamen für das Element enthalten. Die Segmentnamen und Feldnamen können frei gewählt werden. Ihre Bedeutung wird durch die Reihenfolge im Segment oder Element festgelegt. Ein ’*’ nach dem Segmentnamen weist dieses Segment als optional und wiederholbar aus. Ein ’+’ nach dem Segmentnamen weist dieses Segment als wiederholbar aus. Ein ’?’ nach dem Segmentnamen weist dieses Segment als optional aus. 2 - 74 Description ::= [SegmentId[’*’ | ’?’ | ’+’]? ´::´]+ FieldId SegmentId ::= Name FieldId ::= Name Name ::= [Digit | Char]+ Digit ::= [´0´ - ´9´] Char ::= [´a´ - ´z´ | ´A´-´Z´] Adapter - EAI One V 2.7 In einem gesonderten Protokollattribut muss dem Segmentnamen ein erweiterter regulärer Ausdruck zugewiesen werden. Dieses Protokollattribut sollte dem Fielditem 9 zugeordnet werden. Die Syntax für diese Zuweisung lautet: SegmentId’=’REGEX REGEX steht hier für einen gültigen regulären Ausdruck, der das Segment identifiziert, 5.2 Fielditem Zugeordnetes Fielditem aus dem Standardobjekt. 5.3 Beschreibung Fielditem Beschreibung des Fielditem au dem Standardobjekt 5.4 Protokollattribut EDI Protokollattribut 5.5 Länge Länge des Feldinhaltes. 5.6 Index Index für mehrere Protokollattribute, die dem gleichen Fielditem zugeordnet sind. 5.7 Offset Offset des Feldinhaltes innerhalb des Segments. Das erste Zeichen des Segments hat das Offset 1. 5.8 Beschreibung Hier sollte eine Beschreibung angegeben werden um den Feldinhalt zu erläutern. 6 Referenzen • Google FAQs, Help, and Tutorials http://directory.google.com/Top/Computers/Programming/Languages/Regular_Expressions/FAQs,_Help,_and_Tutorials/ • Regular expressions http://www.opengroup.org/onlinepubs/7908799/xbd/re.html • Regex http://www.sunsite.ualberta.ca/Documentation/Gnu/rx1.5/html_node/regex_toc.html • Perl regular expressions http://www.perldoc.com/perl5.8.0/pod/perlre.html Adapter - EAI One V 2.7 2 - 75 Kapitel 2 2 - 76 Adapter - EAI One V 2.7 SAP® - IDoc Adapter Standard-Protokolladapter für EAI One 1 Allgemeines IDoc ist das SAP®-Standardformat zum elektronischen Datenaustausch zwischen Systemen. Verschiedene Nachrichtentypen (z.B. Lieferschein oder Bestellung) entsprechen in der Regel verschiedenen speziellen Formaten, den sogenannten IDOC-Typen. Einem IDoc-Typ können aber durchaus mehrere, inhaltlich zusammengehörige Nachrichtentypen zugeordnet sein. Das sind die logischen Nachrichten, die unterschiedlichen Geschäftsprozessen entsprechen. Beispielsweise überträgt der IDoc-Typ ORDERS01 die logischen Nachrichtentypen ORDERS (Bestellung) und ORDRSP (Bestellbestätigung). Ein IDoc-Typ wird durch folgende Komponenten beschrieben: • Einen Kontrollsatz: Sein Format ist für alle IDoc-Typen gleich. • Einen oder mehrere Datensätze: Ein Datensatz besteht aus einem fixen Verwaltungsteil und dem Datenteil (Segment). IDoc-Typen unterscheiden sich in Anzahl und Format der Segmente. • Die Statussätze: Sie beschreiben Verarbeitungsstationen, die ein IDoc durchlaufen kann. Die Statussätze haben für alle IDoc-Typen das gleiche Format. IDocs werden z.B. zur Kommunikation zwischen einem SAP®-System und einem Fremdsystem (EDI-Subsystem) eingesetzt. 2 Besondere Funktionalität Jeder IDoc-Typ referenziert auf ein EAI One-Funktionsobjekt. • Der Adapter kann in zwei Richtungen arbeiten: 1. Er empfängt ein EAI One-Standardobjekt und kodiert die enthaltenen Daten in die IDoc-Struktur, die durch das EAI One Funktionsobjekt festgelegt ist. 2. Er empfängt IDoc-Daten und legt diese in einem EAI One-Standardobjekt ab. Das EAI One-Funktionsobjekt, das den Daten zugeordnet ist, legt das dafür verwendete IDoc-Standard-Parsing fest. 2.1 Empfang von EAI One Standardobjekten • Das Standardobjekt wird in eine IDoc-Struktur kodiert, die durch das EAI OneFunktionsobjekt festgelegt ist, und sendet es über RFC an das SAP®-System. • Der Adapter identifiziert durch Einstellungsparameter des EAI One-Funktionsobjekts das Objekt, das zu den eingehenden IDoc-Nachrichten gehört. Nachrichten, die nicht identifiziert werden können, werden zurückgewiesen. • Der Adapter kann aus mehreren Wiederholungen des EAI One Standardobjekts eine IDoc-Nachricht mit sich wiederholenden Segmenten erzeugen. • Einige Daten können nur dann in der IDoc-Nachricht kodiert werden, wenn die erforderlichen Segmente wiederholbar sind. • Daten gehen verloren, wenn die erforderlichen Elemente nicht wiederholbar sind. Adapter - EAI One V 2.7 2 - 77 Kapitel 2 2.2 Empfang von IDoc • Die über RFC empfangenen Daten in der IDoc-Struktur werden in ein EAI OneStandardobjekt geschrieben. Das EAI One-Funktionsobjekt legt die Zuordnung der Daten fest. Das Standardobjekt wird über TCP/IP versendet. • Der Adapter kann aus einer IDoc Nachricht mit sich wiederholenden Segmenten mehrere Wiederholungen des EAI One-Standardobjekts erzeugen. Wenn die Daten innerhalb von IDoc nicht sauber referenziert werden, kann dadurch ein nicht lösbarer Daten-Duplizitätsfehler verursacht werden. • Der Adapter erzeugt eine IDoc-Nachricht aus einer EAI One-Nachricht mit mehreren Datensätzen, indem er wiederholte Elemente innerhalb der IDoc-Nachricht erzeugt. Nur die Elemente werden wiederholt, die als wiederholbar eingestellt sind. Wenn keine Elementwiederholung für die Aufnahme aller Daten erlaubt ist, werden die Daten nicht als IDoc-Nachricht kodiert. 2.3 Empfang von XML kodiertem IDoc • Ein XML-kodiertes IDoc, welches mittels TCP/IP verschickt wurde, wird wie ein über RFC empfangenes IDoc behandelt. 3 Einstellungen Die Einstellungen für den IDoc-Adapter werden im Bildschirm ATTRIBUTE\PROTOKOLLATTRIBUTE vorgenommen. • Markieren Sie die das gewünschte Objekt Erweitern Sie im Container ANWENDUNGEN die Anwendung, die das Basisobjekt enthält, für das Sie die Einstellungen vornehmen möchten. Markieren Sie dieses Basisobjekt. • Klicken Sie auf die Schaltfläche EINSTELLUNGEN Der ASSISTENT ZUR KONFIGURATION DER PROTOKOLLATTRIBUTE wird geöffnet und zeigt Einstellmöglichkeiten für Protokollattribute zum ausgewählten Objekt an. Der Bildschirm NACHRICHTENIDENTIFIKATION wird angezeigt. 2 - 78 Adapter - EAI One V 2.7 3.1 Nachrichtenidentifikation Abbildung 2-26: IDoc - Nachrichtenidentifikation • Geben Sie die benötigten Daten ein SAP Program ID, Nachrichtentyp, -variante und -funktion, Basistyp und SAP Release. Es können mehrere Nachrichtentypen getrennt durch ein Komma übergeben werden. Damit können zu einem IDOC mehrere Nachrichtetypen für eine Methode zugeordnet werden. Beispiel .: ORDERS05,ORDCHG • Klicken Sie auf WEITER Der Bildschirm ABSENDER wird angezeigt. Adapter - EAI One V 2.7 2 - 79 Kapitel 2 3.2 Absender Abbildung 2-27: IDoc - Absender • Geben Sie Absenderport, Partnerrolle, Partnerart und - nummer des Absenders ein • Aktivieren Sie das Kontrollkästchen “IDOC INBOUND PROCESS STATT IDOC INBOUND ASYNCHRONOUS” Aktivieren Sie dieses Kontrollkästchen, wenn das System, mit dem Sie kommunizieren wollen älter als SAP® Release 4 ist. • Klicken Sie auf WEITER Der Bildschirm EMPFÄNGER wird angezeigt. 2 - 80 Adapter - EAI One V 2.7 3.3 Empfänger Abbildung 2-28: IDoc - Empfänger • Geben Sie Partnerart, Partnerrolle und -nummer des Empfängers ein • Klicken Sie auf WEITER Der Bildschirm KUNDENERWEITERUNG wird angezeigt. 3.4 Kundenerweiterung Abbildung 2-29: IDoc - Kundenerweiterung Adapter - EAI One V 2.7 2 - 81 Kapitel 2 • Geben Sie, falls erforderlich, die Kundenerweiterung ein • Klicken Sie auf WEITER Der Bildschirm BESTÄTIGUNG wird angezeigt. 3.5 Bestätigung Abbildung 2-30: IDoc - Bestätigung • Geben Sie den Status ein, der bei einem negativen Acknowledgement an das SAP®-System zurückgegeben werden soll • Geben Sie den Status ein, der bei einem positiven Acknowledgement an das SAP®-System zurückgegeben werden soll • Klicken Sie auf FERTIGSTELLEN Die geänderten Einstellungen werden zurück in die Datenbank geschrieben. 4 Parametertabelle Parameter Beschreibung Version -17 IDoc SAP®-Release SAP®-Release der IDoc Struktur 2.6 -18 IDoc Basistyp Name des IDoc-Basistyps, der die EAI One Objektreferenz festlegt. 2.6 SAP IDOCTYP 2 - 82 Adapter - EAI One V 2.7 Parameter Beschreibung Version -19 IDoc-Nachrichtentyp, der die EAI One Objektreferenz festlegt. 2.6 IDoc Nachrichtentyp SAP MESTYP -20 IDoc Nachrichtenvariante IDoc-Nachrichtenvariante 2.6 SAP MESCOD -21 IDoc Nachrichtenfunktion IDoc-Nachrichtenfunktion 2.6 SAP MESFCT -22 IDOC INBOUND PROCESS statt IDOC INBOUND ASYNCHRONOUS Ist dieser Parameter aktiviert, wird das RFC IDOC INBOUND PROCESS statt IDOC INBOUND ASYNCHRONOUS aufgerufen. Dies ist erforderlich um mi SAP® Versionen vor Version 4.0 zu kommunizieren. Dieser Parameter kann nur aktiviert oder deaktiviert werden. -25 IDoc Absenderport Absenderport 2.6 SAP SNDPOR -26 IDoc Partnerart des Absenders Partnertyp des Absenders 2.6 SAP SNDPRT -27 IDoc Partnerrolle des Absenders Partnerrolle des Absenders 2.6 SAP SNDPFC -28 Partnernummer des Absenders Partnernummer des Absenders 2.6 SAP SNDPRN -29 IDoc Partnerart des Empfängers Partnertyp des Empfängers 2.6 SAP RCVPRT -30 IDoc Partnerrolle des Empfängers Partnerrolle des Empfängers 2.6 SAP RCVPFC Adapter - EAI One V 2.7 2 - 83 Kapitel 2 Parameter Beschreibung Version -31 Partnernummer des Empfängers 2.6 IDoc Partnernummer des Empfängers SAP RCVPRN -33 IDoc Kundenerweiterung IDoc-Erweiterung (definiert durch den Kunden) 2.6 SAP CIMTYP -34 IDoc Status acknowledgement positiv Reserviert 2.6 -35 IDoc Status acknowledgement negativ Reserviert 2.6 -36 IDOC Program ID SAP Programm ID für RFC Registrierung und Kommunikation -37 Transactionaler Modus Modus für Transaktionale RFC Kommunikation 2 - 84 Adapter - EAI One V 2.7 5 Editor - IDoc Felddefinition im Protokollattribut Durch die Felddefinition im Protokollattribut kann ein IDoc Feld einem Fielditem des EAI One-Standardobjekts zugeordnet werden. Die Protokollattribute und das EAI OneStandardobjekt sind dem EAI One-Funktionsobjekt zugeordnet. Abbildung 2-31: IDoc - Editor 5.1 Beschreibung Eine Zeichenkette definiert das Feld, das die Daten für das entsprechende Fielditem enthält. Die Definition muss den Namen des Segments (SegmentID) sowie die Untersegmente mit Feld und Feldnamen (FieldID) enthalten. Segment- und Feldname werden durch doppelte Doppelpunkte “::” voneinander getrennt. Der Segmentname (SegmentId) des übergeordneten Segments muss vor dem Namen des untergeordneten Segments stehen. Ein Feld kann über einen Qualifier-Bezeichner-String (QualDesStr) als Qualifier-Feld ausgewiesen werden. Felder, die als Qualifier ausgewiesen wurden, sollten den Fielditems 1101 bis 1105 zugeordnet werden. Der Qualifier-Bezeichner-String QualDesStr muss einen Beispielwert (SampleValue) für den Qualifier enthalten, der die maximal mögliche Länge für den Wert des Qualifiers angibt. Ein Feld kann als Qualified-Feld ausgewiesen werden, indem der Wert des Qualifiers (QualVal) der Definition hinzugefügt wird. Der Inhalt der Qualified-Felder wird dem festgelegten Fielditem nur dann zugewiesen, wenn der Wert des Qualifier-Feldes in diesem Segment mit dem angegebenen Wert des Qualifiers (QualVal) übereinstimmt. Adapter - EAI One V 2.7 2 - 85 Kapitel 2 Beim Kodieren eines IDocs wird für jeden Qualifier-Wert eine Wiederholung des Segmentes erzeugt. Jede Wiederholung enthält einen der Qualifier-Werte und den Inhalt des Fielditems zu dem der entsprechende Qualifier-Wert festgelegt wurde. Description ::= [ SegmentId ´::´]+ FieldId [´ ´ [QualDesStr | QualVal ] ]? SegmentId enthält den Namen des IDoc-Segments wie in der IDocDefinition angegeben. FieldId enthält den Namen des IDoc-Feldes, wie in der IDocDefinition angegeben. QualDesStr ::= SampleValue ´ $Q´ QualVal enthält einen Wert des Segment-Qualifiers, der den Inhalt identifiziert. SampleValue enthält einen Wert des Qualifiers, der die maximal mögliche Länge angibt. 5.2 Wiederholbar Dieses Kennzeichen bestimmt, ob das Element (oder sein Eltern- oder sein Grosselternelement) wiederholbar ist. Die Ebene legt fest, welches Element wiederholbar ist. Ist ein Element durch eines seiner Kindelemente als ’Wiederholbar’ gesetzt, wird es als wiederholbar gehandhabt. • Das Element selbst ist wiederholbar. • Das Elternelement des Elements ist wiederholbar. • Das Elternelement des Elternelements (Grosselternelement) des Elements ist wiederholbar. • Das Elternelement des Grosselternelements (Urgrosselternelement) des Elements ist wiederholbar usw. Die höchstmögliche Ebene ist 9. 5.3 Erforderlich Dieses Kennzeichen bestimmt ob das Element (oder sein Eltern- oder sein Grosselternelement) erforderlich ist. Die Ebene legt fest, welches Element erforderlich ist. Ist ein Element durch eines seiner Kindelemente als erforderlich gesetzt, wird es als erforderlich gehandhabt. • Das Element selbst ist erforderlich. • Das Elternelement des Elements ist erforderlich. • Das Elternelement des Elternelements (Grosselternelement) des Elements ist erforderlich. • Das Elternelement des Grosselternelements (Urgrosselternelement) des Elements ist erforderlich usw. Die höchstmögliche Ebene ist 9. 6 Systemzugriffe In der Maske VIRTUELLE MASCHINEN\SYSTEMZUGRIFFE werden die Daten festgelegt, die zum Anmelden an eine Fremdapplikation notwendig sind. 2 - 86 Adapter - EAI One V 2.7 • Wählen Sie das Land aus Wählen Sie im Dropdown-Listenfeld LAND das Land für das System aus, mit dem die virtuelle Maschine kommunizieren soll. • Wählen Sie das gewünschte System aus Wählen Sie im Dropdown-Listenfeld SYSTEM das SAP® virtuelle Maschine kommunizieren soll. SYSTEM R... aus, mit dem die • Geben Sie die Benutzerkennung ein Geben Sie in das Feld KENNUNG den Benutzernamen an, mit dem sich EAI One am SAP®-System anmelden soll. • Geben Sie das Kennwort ein Geben Sie in das Feld KENNWORT das Kennwort für die Kennung im SAP®-System ein. • Geben Sie den Mandanten ein Geben Sie in das Feld MANDANT die ID des Mandanten ein, mit dem EAI One Daten austauschen soll. • Geben Sie die Systemnummer ein Geben Sie, falls erforderlich, in das Feld SYSTEM danten ein. NR. die Systemnummer des Man- • Geben Sie den Releasestand ein Geben Sie, falls erforderlich, in das Feld RELEASE den aktuellen Releasestand ein. Diese Angabe wird für einige Protokolle, z.B. IDoc, benötigt. Dieses Feld ist alphanumerisch und darf maximal 12 Zeichen lang sein. • Geben Sie das Ziel ein Geben Sie in das Feld DESTINATION die Bezeichnung des Ziels ein. Diese Angabe wird für SAP® R/2® benötigt. Hier muss der Name des Ziel-SAP®Systems eingetragen werden. • Geben Sie die System I D ein In manchen Fällen wird für das SAP®-System eine eindeutige Systemkennung benötigt, um das Zielsystem zu identifizieren. Geben Sie diese Kennung, falls erforderlich, in das Feld SYSTEM ID ein. • Geben Sie die I P-Adresse des Zielsystems ein Geben Sie in das Feld ADRESSE die IP-Adresse des Fremdsystems, z.B. die des SAP®-Applikationsservers ein. 7 Referenzen • SAP® Online Dokumentation Adapter - EAI One V 2.7 2 - 87 Kapitel 2 2 - 88 Adapter - EAI One V 2.7 SAP® - BAPI Adapter Standard-Protokolladapter für EAI One 1 Allgemeines Business Application Programming Interfaces (BAPIs) sind offene, stabile, objektorientierte Schnittstellen, mit deren Hilfe die Integration betriebswirtschaftlicher Anwendungen beispielsweise über das Internet möglich wird. Dabei können Systeme gekoppelt werden, auch wenn sie auf unterschiedlichen Technologien beruhen. 2 Besondere Funktionalität Ein BAPI Programmname referenziert auf ein Funktionsobjekt. Der Adapter arbeitet zwei Richtungen: 1. Er empfängt ein EAI One-Standardobjekt und übergibt die enthaltenen Daten an das BAPI. 2. Er liest die Rückgabewerte des BAPI Aufrufes aus und legt diese in einem EAI One Standardobjekt ab. Der Adapter kann nicht als BAPI Server arbeiten. 2.1 Empfang von EAI One Standardobjekten • Der Adapter ruft ein BAPI im SAP®-System auf. • Die Übergabeparameter werden durch die Feldinhalte des Standardobjekts festgelegt. • Der Adapter kann aus mehreren Wiederholungen des EAI One-Standardobjekts mehrere Datensätze in den an das BAPI übergebenen Tabellen erzeugen. 2.2 Auslesen der BAPI Rückgabewerte • Der Adapter kann aus den Rückgabedaten eines BAPI-Aufrufes mehrere Wiederholungen des EAI One-Standardobjektes erzeugen. 3 Einstellungen Die Einstellungen für den BAPI-Adapter werden im Bildschirm ATTRIBUTE\PROTOKOLLATTRIBUTE vorgenommen. • Markieren Sie die das gewünschte Objekt Erweitern Sie im Container ANWENDUNGEN die Anwendung, die das Basisobjekt enthält, für das Sie die Einstellungen vornehmen möchten. Markieren Sie dieses Basisobjekt. • Klicken Sie auf die Schaltfläche EINSTELLUNGEN Der ASSISTENT ZUR KONFIGURATION DER PROTOKOLLATTRIBUTE wird geöffnet und zeigt Einstellmöglichkeiten für Protokollattribute zum ausgewählten Objekt an. Adapter - EAI One V 2.7 2 - 89 Kapitel 2 Der Bildschirm BAPI AKTION wird angezeigt. Abbildung 2-1: BAPI - Aktion 4 Parametertabelle Parameter Beschreibung Version -1101 BAPI Programmname Der Parameter enthält den SAP® Programmnamen des aufzurufenden BAPI. 2.6 -1102 Rückgabeobjekt ID Das zurückgesendete EAI One-Standardobjekt wird mit dieser Funktionsobjekt ID gesendet. 2.5 -1103 Bestätigen Keine Bedeutung 2.4 5 Editor - BAPI Übergabeparameterdefinition Durch die Definition im Protokollattribut kann ein BAPI Übergabeparameter oder Tabellenfeld in einer an das BAPI übergebenen Tabelle einem Fielditem des EAI One-Stan- 2 - 90 Adapter - EAI One V 2.7 dardobjekts zugeordnet werden. Die Protokollattribute und Standardobjekt sind dem EAI One-Funktionsobjekt zugeordnet. das EAI One- Abbildung 2-2: BAPI - Editor 5.1 Syntax der BAPI Übergabeparameterdefinition Eine Zeichenkette definiert den Übergabeparameter, oder das Tabellenfeld, das die Daten für das entsprechende Fielditem enthält. Die Zeichenkette muss den Namen des Parameters oder den Namen der Tabelle und des enthaltenen Feldes enthalten. Dieses Feld wird automatisch von EAI One gefüllt, wenn die BAPI-Datenstruktur eingelesen wird. Description ::= (ParName | Table ’::’ FieldName ParName ::= Name des SAP® Übergabeparameters Table ::= Name der SAP® Tabelle die an das BAPI übergeben wird FieldName ::= Name des Feldes in der an das BAPI übergebenen Tabelle. 5.2 Position Die Position bestimmt die Reihenfolge der Felder. Dieses Feld wird automatisch von EAI One gefüllt, wenn die BAPI-Datenstruktur eingelesen wird. 5.3 Wiederholbar Beim BAPI ohne Bedeutung. Adapter - EAI One V 2.7 2 - 91 Kapitel 2 5.4 Erforderlich Beim BAPI ohne Bedeutung. 5.5 Typ Der Typ bestimmt den Datentyp im SAP®-System. Folgende Datentypen werden unterstützt: C Zeichenkette D Datum T Zeit N Numerische Zeichenkette P Dezimal I Ganze Zahl X Hexadezimalzahl Dieses Feld wird automatisch von EAI One gefüllt, wenn die BAPI-Datenstruktur eingelesen wird. 5.6 Länge Maximale Länge des Parameter- oder Tabellenfeldinhaltes. Dieses Feld wird automatisch von EAI One gefüllt, wenn die BAPI-Datenstruktur eingelesen wird. 5.7 Index Erlaubt das Anlegen mehrerer Einträge zu demselben Fielditem. Dieses Feld wird automatisch von EAI One gefüllt, wenn die BAPI-Datenstruktur eingelesen wird. 5.8 Offset Offset des Parameter- oder Tabellenfeldinhaltes im Datenstrom. Dieses Feld wird automatisch von EAI One gefüllt, wenn die BAPI-Datenstruktur eingelesen wird. 5.9 Nachkommastellen Anzahl der Nachkommastellen numerischer Werte. Dieses Feld wird automatisch von EAI One gefüllt, wenn die BAPI-Datenstruktur eingelesen wird. 5.10Trenner Enthält ’O’ wenn es sich um einen SAP®-Outparameter handelt und ’I’ wenn es sich um einen Inparameter handelt. Dieses Feld wird automatisch von EAI One gefüllt, wenn die BAPI-Datenstruktur eingelesen wird. 5.11Beschreibung Beim BAPI ohne Bedeutung. 2 - 92 Adapter - EAI One V 2.7 6 Systemzugriffe In der Maske VIRTUELLE MASCHINEN\SYSTEMZUGRIFFE werden die Daten festgelegt, die zum Anmelden an eine Fremdapplikation notwendig sind. • Wählen Sie das Land aus Wählen Sie im Dropdown-Listenfeld LAND das Land für das System aus, mit dem die virtuelle Maschine kommunizieren soll. • Wählen Sie das gewünschte System aus Wählen Sie im Dropdown-Listenfeld SYSTEM das SAP®-SYSTEM R... aus, mit dem die virtuelle Maschine kommunizieren soll. • Geben Sie die Benutzerkennung ein Geben Sie in das Feld KENNUNG den Benutzernamen an, mit dem sich EAI One am SAP®-System anmelden soll. • Geben Sie das Kennwort ein Geben Sie in das Feld KENNWORT das Kennwort für die Kennung im SAP®-System ein. • Geben Sie den Mandanten ein Geben Sie in das Feld MANDANT die ID des Mandanten ein, mit dem EAI One Daten austauschen soll. • Geben Sie die Systemnummer ein Geben Sie, falls erforderlich, in das Feld SYSTEM danten ein. NR. die Systemnummer des Man- • Geben Sie den Releasestand ein Geben Sie, falls erforderlich, in das Feld RELEASE den aktuellen Releasestand ein. Diese Angabe wird für einige Protokolle, z.B. IDoc, benötigt. Dieses Feld ist alphanumerisch und darf maximal 12 Zeichen lang sein. • Geben Sie das Ziel ein Geben Sie in das Feld DESTINATION die Bezeichnung des Ziels ein. Diese Angabe wird für SAP® R/2® benötigt. Hier muss der Name des Ziel-SAP®Systems eingetragen werden. • Geben Sie die System I D ein In manchen Fällen wird für das SAP®-System eine eindeutige Systemkennung benötigt, um das Zielsystem zu identifizieren. Geben Sie diese Kennung, falls erforderlich, in das Feld SYSTEM ID ein. • Geben Sie die I P-Adresse des Zielsystems ein Geben Sie in das Feld ADRESSE die IP-Adresse des Fremdsystems, z.B. die des SAP®-Applikationsservers ein. 7 Referenzen Version 2.3 of the Health Level Seven (HL7) Standard for electronic data exchange in healthcare environments. Adapter - EAI One V 2.7 2 - 93 Kapitel 2 2 - 94 Adapter - EAI One V 2.7 ANSI X12 Adapter Standard-Applikationsadapter für EAI One 1 Allgemeines ANSI X12, definiert und gepflegt von Gremien der Data Interchange Standards Association (DISA) und dem American National Standards Institute (ANSI), dient als Standardisierung beim elektronischen Austausch von Handelsdokumenten und Geschäftsnachrichten, vor allem in den Vereinigten Staaten von Amerika. Diese Dokumentation wird noch vervollständigt. 2 Besondere Funktionalität • Jeder ANSI X12 Transaction Set Identifier Code referenziert auf ein EAI One Funktionsobjekt. • Der Adapter kann in zwei Richtungen arbeiten: 1. Er empfängt ein EAI One-Standardobjekt und kodiert die enthaltenen Daten in die ANSI X12-Struktur, die durch das EAI One Funktionsobjekt festgelegt ist. 2. Er empfängt ANSI X12-Daten und legt diese in einem EAI One-Standardobjekt ab. Das EAI One-Funktionsobjekt, das den Daten zugeordnet ist, legt das dafür verwendete ANSI X12 Standard-Konvertierung fest. 2.1 Empfang von EAI One Standardobjekten • Der Adapter kann aus mehreren Wiederholungen des EAI One-Standardobjekts eine ANSI X12-Nachricht mit sich wiederholenden Segmenten erzeugen. • Nur Elemente, die in den Protokollattributen als wiederholbare Elemente gekennzeichnet sind, werden wiederholt. • Einige Daten können nur dann in der ANSI X12-Nachricht kodiert werden, wenn die erforderlichen Elemente wiederholbar sind. • Daten gehen verloren, wenn die erforderlichen Elemente nicht wiederholbar sind. 2.2 Empfang von ANSI X12 Daten • Der Adapter kann aus einer ANSI X12-Nachricht mit sich wiederholenden Segmenten mehrere Wiederholungen des EAI One-Standardobjekts erzeugen. Adapter - EAI One V 2.7 2 - 95 Kapitel 2 3 Einstellungen Parameter Beschreibung Version -801 Jeder eingehende ANSI X12 Datenstrom muss identifiziert werden. Dazu werden objektbezogene Einstellparameter verwendet. Wenn der Transaction Set Identifier Code den in den Parametern -801 definierten Werten entspricht, wird die Nachricht als das entsprechende Funktionsobjekt identifiziert. 2.6 ANSI X12 Transaction Set Identifier Code Der Parameter enthält den Transaction Set Identifier Code. Das entspricht dem ersten feld im Transaction Set Header (ST) Segment. 4 Editor - ANSI X12 Element- oder Unterkomponentendefinition im Protokollattribut Durch die Definition im Protokollattribut kann ein ANSI X12 Feld einem Fielditem des EAI One-Standardobjekts zugeordnet werden. Die Protokollattribute und das EAI OneStandardobjekt sind dem EAI One-Funktionsobjekt zugeordnet 4.1 Syntax der Protokollattribute Eine Zeichenkette definiert das Feld, das die Daten für das entsprechende Fielditem enthält. Die Zeichenkette muss den Namen der übergeordneten Segmente und die Nummer für das Element enthalten. Die Segmentnamen sind die IDs der ANSI X12 Segmente. Die Elementnummern können frei gewählt werden. Ihre Bedeutung wird durch die Reihenfolge im Segment oder Element festgelegt. Ein ’*’ nach dem Segmentnamen weist dieses Segment als optional und wiederholbar aus. Ein ’+’ nach dem Segmentnamen weist dieses Segment als wiederholbar aus. Ein ’?’ nach dem Segmentnamen weist dieses Segment als optional aus. Die Hierarchieebene (HLevel) eines Hierachiesegmentes (HL Segment) muss direkt im Anschluss an den Segmentnamen angegeben werden. 2 - 96 Description ::= [SegmentId [HLevel]? [’*’ | ’?’ | ’+’]? ´::´]+ FieldId SegmentId ::= definiert entsprechend der ANSI X12 Vorgabe HLevel ::= Digit Digit FieldId ::= Name ComponentId ::= Name Adapter - EAI One V 2.7 SubId ::= Name Name ::= [Digit | Char]+ Digit ::= [´0´ - ´9´] Char ::= [´a´ - ´z´ | ´A´-´Z´] 4.2 Position Die Position bestimmt die Reihenfolge der Elemente. Elemente mit einem niedrigeren Positionswert stehen vor Elementen mit höherer Position. Der Name des ersten Komponentenelements in einem Element kann weggelassen werden. 4.3 Wiederholbar Nicht benutzt. 4.4 Erforderlich Nicht benutzt. 5 Referenzen ISO 9735 - EDIFACT Application level syntax rules Adapter - EAI One V 2.7 2 - 97 Kapitel 2 2 - 98 Adapter - EAI One V 2.7 Applikationsadapter 1 Applikationsadapter unter EAI One EAI One enthält folgende Applikationsadapter: • C-API 2 Systemarchitektur Abbildung 3-1: Applikationsadapter - Systemarchitektur Alle Adapter bauen auf der gleichen Adapter-Basisklasse auf. Diese Basisklasse umfasst die gesamte Kommunikation der Adapter. Dabei wird der TCP/IP-Socket als Kommunikationsprotokoll definiert, über das Daten ausgetauscht werden. Außerdem sind Queuing, Retrieval, Scheduling, Load-Balancing und Fail Over-Verhalten sowie Startund Stopp-Prozeduren festgelegt. Diese sieben Vorgänge regeln das Kommunikationsverhalten der Adapter für die jeweilige Situation. Je nach Adaptertyp gehört zu dieser Basisklasse eine andere Adaptertypbasis. Für den Applikationsadapter besteht diese Adaptertypbasis aus der Definition der Standardobjekte und Dialoge sowie einem Interpreter. Auf Adapter-Basisklasse und Adaptertypbasis setzt eine Ableitung auf, die für den jeweiligen Adapter, z.B. den C-API-Applikationsadapter, spezifisch ist. Hier werden Standardobjekte und Protokolle empfangen, konvertiert und verarbeitet. Die Kommunikation erfolgt über TCP/IP. Der Applikationsadapter kommuniziert mit einer Anwendung, z.B. SAP® R/3® Release 4.6, die vorher festgelegt wird. Außerdem werden SAP® API-Aufrufe und Dialog-Erweiterungen eingerichtet. Diese Festlegungen entscheiden darüber, ob es sich um einen C-API-Adapter oder einen anderen Applikationsadapter handelt. Adapter - EAI One V 2.7 3-1 Kapitel 3 Applikationsadapter 2.1 Arbeitsrichtung Ein Applikationsadapter arbeitet unidirektional. 2.2 Datenempfang Ein Applikationsadapter sendet und empfängt Nachrichten auf der anderen Seite und führt Prozessschritte in der Fremdapplikation aus. 2.3 Konvertierung Applikationsadapter führen Applikationsdialoge aus. Die Prozessschritte der Applikationsdialoge benutzen API’s, um über die EAI One Dialogsprache die Standardobjekte in der Fremdapplikation zu verarbeiten. 2.4 Dialog-Erweiterungen Dialog-Erweiterungen umfassen proprietäre Aufrufe, um z.B. eine SAP® Transaktion zu bearbeiten. 3-2 Adapter - EAI One V 2.7 SAP® - C-API Adapter Standard-Applikationsadapter für EAI One 1 Allgemeines Die folgenden Texte sind auszugsweise aus der Original-Dokumentation der SAP AG entnommen. Sie finden Sie auf der CD "SAP-Bibliothek 4.6C" vom April 2002. Diese Texte sind von SAP nicht übersetzt worden. Der Herausgeber bedankt sich für die freundliche Genehmigung der SAP AG, die Texte im Rahmen des vorliegenden Titels verwenden zu dürfen. Die SAP AG ist jedoch nicht Herausgeberin des vorliegenden Titels oder sonst dafür presserechtlich verantwortlich. Tool Type GUI Library C API (Documented as part of the SAP Automation GUI interfaces) Function Language(s) C Like "screen-scraping" programs, the GUI Library takes the contents of R/3 SAP GUI screens and makes them accessible through standard data structures and function calls. Allows you to write programs that provide an alternative user interface to the standard R/3 SAP GUI. This alternative interface can be GUI or nonGUI. Also allows you to write programs that record the interaction between an end user and SAP GUI screens. R/3 Application Server Communication The R/3 application server sends and receives data to and from its SAP GUI when displaying R/3 application screens to an end user. The SAP GUI process interacts with one or more Front processes, one for each user session. Using the GUI interfaces to R/3, an external program can access the data that is communicated between the R/3 application server and its SAP GUI as a method of getting data from or into R/3. Adapter - EAI One V 2.7 3-3 Kapitel 3 As the following diagram illustrates, the GUI interfaces allow an external program to access R/3 screen data by communicating with the R/3 application server and the SAP GUI. By using the GUI interfaces an external program can replace the standard SAP GUI with another user interface, which can be either graphical or non-graphical (for example, it can be voice driven). Programming using the GUI interfaces also allows an external program to monitor or record an end user interaction with SAP GUI screens. Using the GUI interfaces method requires no knowledge of ABAP programming. It also eliminates the need to learn the business and transaction logic behind an existing R/3 application for which the external program is providing an alternative user interface. However, since R/3 transaction screens may change between R/3 versions, using this method of integration with R/3 is the most vulnerable to changes. SAP Automation GUI Interfaces SAP Automation is a suite of products that allow external programs to integrate with R/3. SAP Automation GUI Interfaces is a set of products that uses the SAP GUI interface (also called GUI channel). These products allow desktop and PC programmers to: Develop another GUI interface for existing R/3 applications The alternative GUI you develop may better fit your users or it may better satisfy the application requirements in your company. Integrate alternative interfaces with R/3 You can integrate non-GUI interfaces, such as interactive voice response (IVR) telephone systems, multimedia kiosks, or World Wide Web pages, into external programs that access R/3. For example, the Human resources (HR) component of R/3 is geared towards the HR department personnel entering data through the standard SAPGUI set of transactions and screens. You may use the SAP Automation GUI interfaces to create an application that allows any employee to enter their personal data over the Web or even through the regular phone system, instead. The advantage of using the SAP Automation GUI Interfaces as a way to provide alternative interface to R/3 applications, over programming using RFC or business object BAPIs, for example, is that you preserve the business rules and application logic built into the various R/3 screens and transactions. With SAP Automation GUI Interfaces you are replacing only the interface to the R/3 application; you are not building the R/3 application from start to finish. You are therefore leveraging on the research and development effort put forth by the SAP development team into designing business process, and into integrating the application with the rest of the enterprise software. For example, when programming an alternative personal data entry as in the above example, you 3-4 Adapter - EAI One V 2.7 provide a different way for an employee to change his or her address. You do not have to then program the functions that propagate the change of address into the payroll system. You leave this functionality to the R/3 HR component. Use the SAP Automation GUI interfaces if you need a quick way to provide new interfaces to integrate with an existing R/3 application. However, if you need to develop a new application and integrate it to an R/3 system, the better alternative is a combination of programming in ABAP and using SAP Automation RFC interfaces. Monitor or record an interaction of an end user with R/3 screens Client applications can use the SAP Automation GUI interfaces alongside the standard SAPGUI, recording, for example the user's data entry at the SAP GUI screens. Using the SAP Automation GUI Interfaces a client application can then play back the user actions on R/3 screens. Recording an end-user interaction can be used for testing or for user interface design, for example. SAP Automation GUI can therefore be viewed as a first enabling step to moving R/3 interface development to the presentation server, leaving the business logic at the ABAP application level. Examples of Application Partner companies have developed several new application interfaces with SAP Automation GUI. Here are some examples: A kiosk application for self-service entry, update, and review of personnel qualifications Telephone interfaces to financial and logistics applications An interface for service monitoring of the R/3 plant management system, which can call or fax the responsible party when it sees that equipment is failing frequently Within SAP, we have used SAP Automation GUI to develop self-service Human Resources applications. Availability Though SAP Automation GUI software began shipping with R/3 Desktop Integration in Release 3.0C, the software works with Release 2.1 and later of the R/3 application servers. Starting with 3.1H, the SAP Automation GUI software also works with R/2 systems. 2 Besondere Funktionalität • Ein EAI One Funktionsobjekt kann auf einen C-API Dialog referenzieren. • Beim Empfang des EAI One-Standardobjekts wird der dem Funktionsobjekt zugeordnete Dialog ausgeführt. • Ein Dialog kann andere Dialoge aufrufen. Adapter - EAI One V 2.7 3-5 Kapitel 3 • Mehr Informationen zum Erstellen von Dialogen finden Sie im EAI One-Handbuch für das Projekt-Modul im Kapitel "Definition von Dialogen". • Die Dialogsprache beinhaltet Befehle zur Interaktion mit dem SAP®-System. 2.1 Empfang von EAI One Standardobjekten • Der Dialog zu dem im Standardobjekt angegebenen Funktionsobjekt wird aufgerufen. • Der Dialog kann auf die Daten des Standardobjekts zugreifen und sie verarbeiten. 3 Dialogsprache Die Dialogsprache wird im EAI One Referenzhandbuch für SAP®-C-API-Dialoge beschrieben. 4 Editor - C-API Dialoge Die Definitionen für den C-API-Adapter werden im Bildschirm ATTRIBUTE\DIALOGE vorgenommen. Abbildung 3-2: C-API - Editor 5 Systemzugriffe In der Maske VIRTUELLE MASCHINEN\SYSTEMZUGRIFFE werden die Daten festgelegt, die zum Anmelden an eine Fremdapplikation notwendig sind. • Wählen Sie das Land aus Wählen Sie im Dropdown-Listenfeld LAND das Land für das System aus, mit dem die virtuelle Maschine kommunizieren soll. • Wählen Sie das gewünschte System aus Wählen Sie im Dropdown-Listenfeld SYSTEM das System SAP® dem die virtuelle Maschine kommunizieren soll. 3-6 Adapter - EAI One V 2.7 SYSTEM R... aus, mit • Geben Sie die Benutzerkennung ein Geben Sie in das Feld KENNUNG den Benutzernamen an, mit dem sich EAI One am SAP®-System anmelden soll. • Geben Sie die Benutzerkennung ein Geben Sie in das Feld KENNUNG den Benutzernamen an, mit dem sich EAI One am SAP®-System anmelden soll. • Geben Sie das Kennwort ein Geben Sie in das Feld KENNWORT das Kennwort für die Kennung im SAP®-System ein. • Geben Sie den Mandanten ein Geben Sie in das Feld MANDANT die ID des Mandanten ein, mit dem EAI One Daten austauschen soll. • Geben Sie die Systemnummer ein Geben Sie, falls erforderlich, in das Feld SYSTEM danten ein. NR. die Systemnummer des Man- • Geben Sie den Releasestand ein Geben Sie, falls erforderlich, in das Feld RELEASE den aktuellen Releasestand ein. Diese Angabe wird für einige Protokolle, z.B. IDoc, benötigt. Dieses Feld ist alphanumerisch und darf maximal 12 Zeichen lang sein. • Geben Sie das Ziel ein Geben Sie in das Feld DESTINATION die Bezeichnung des Ziels ein. Diese Angabe wird für SAP® R/2® benötigt. Hier muss der Name des Ziel-SAP®Systems eingetragen werden. • Geben Sie die System I D ein In manchen Fällen wird für das SAP®-System eine eindeutige Systemkennung benötigt, um das Zielsystem zu identifizieren. Geben Sie diese Kennung, falls erforderlich, in das Feld SYSTEM ID ein. • Geben Sie die I P-Adresse des Zielsystems ein Geben Sie in das Feld ADRESSE die IP-Adresse des Fremdsystems, z.B. die des SAP®-Applikationsservers ein. Adapter - EAI One V 2.7 3-7 Kapitel 3 3-8 Adapter - EAI One V 2.7 Transportadapter 1 Transportadapter unter EAI One EAI One enthält folgende Transportadapter: • File • HTTP • SSL • ZIP. 2 Systemarchitektur Abbildung 4-1: Transportadapter - Systemarchitektur Alle Adapter bauen auf der gleichen Adapter-Basisklasse auf. Diese Basisklasse umfasst die gesamte Kommunikation der Adapter. Dabei wird der TCP/IP-Socket als Kommunikationsprotokoll definiert, über das Daten ausgetauscht werden. Außerdem sind Queuing, Retrieval, Scheduling, Load-Balancing und Fail Over-Verhalten sowie Startund Stopp-Prozeduren festgelegt. Diese sieben Vorgänge regeln das Kommunikationsverhalten der Adapter für die jeweilige Situation. Ein Transportadapter weist keine Adaptertypbasis auf. Auf die Adapter-Basisklasse setzt eine Ableitung auf, die für den jeweiligen Adapter, z.B. den HTTP-Transportadapter, spezifisch ist. Dazu wird für das eingestellte Protokoll, z.B. XML, TCP/IP als Kommunikationsprotokoll festgelegt. Dieses Protokoll wird mit einem Transportprotokoll, z.B. http, verknüpft. Diese Festlegungen entscheiden darüber, ob es sich um einen HTTP-Adapter, einen SSL-Adapter usw. handelt. Adapter - EAI One V 2.7 4-1 Kapitel 4 Transportadapter 2.1 Arbeitsrichtung Ein Protokolladapter arbeitet bidirektional. 2.2 Datenemfang Ein Transportadapter sendet und empfängt Nachrichten auf beiden Seiten. 2.3 Konvertierung Transportadapter transportieren Nachrichten ohne sie inhaltlich zu verändern (z.B. Mail, File, SSL). 4-2 Adapter - EAI One V 2.7 File Adapter Standard-Transportadapter für EAI One 1 Allgemeines Eine Datei ist eine Sammlung von Daten, die auf einem Datenträger gespeichert ist. Dateien werden vom Betriebssystem verwaltet, das den Zugriff auf die Dateien steuert und Dateioperationen zur Verfügung stellt. Übliche Dateioperationen sind Erstellen, Lesen, Schreiben, Löschen und Verschieben. Das Betriebssystem stellt Funktionen zur Verfügung, mit denen der Zeitpunkt der letzten Änderungen an der Datei festgestellt werden kann. 2 Besondere Funktionalität Der File Adapter reagiert auf Daten, die er an seinem TCP/IP Serverport empfangen hat, oder auf die Erstellung oder Änderungen von Dateien. Mit dem Parametrieren wird festgelegt, auf welche Dateien der Adapter reagieren soll. Der File-Adapter kann nur Dateien von Microsoft Betriebssystemen lesen. 2.1 Empfang von Daten • Der Adapter ermittelt das für die empfangenen Daten gültige Funktionsobjekt. Er schreibt die Daten in die für dieses Objekt festgelegte Datei. Der festgelegte Dateiname kann eine besondere Zeichenkette enthalten, die durch eine Ziffernfolge ersetzt wird. Diese Ziffernfolge wird aus der Systemzeit erzeugt. • Für den Adapter muss in der Maschinendefinition die Eingangsadresse und der Eingangsport angegeben werden. 2.2 Lesen, Verarbeiten und/ oder Ändern von Dateien • Der Adapter überprüft den Datenträger auf neue oder geänderte Dateien. Dateien können vor der Verarbeitung umbenannt werden. • Verarbeitete Dateien können gelöscht, in ein anderes Verzeichnis verschoben oder unverändert gelassen werden. • Damit der Adapter im Client-Modus arbeiten kann, muss die Eingangsadresse und der Eingangsport leer gelassen werden. Außerdem darf der Adapter nicht als Server festgelegt werden. 3 Einstellungen Die Einstellungen für den FILE-Adapter werden im Bildschirm ATTRIBUTE\TRANSPORTPROTOKOLLE vorgenommen. • Wählen Sie das gewünschte Transportprotokoll aus Erweitern Sie im Container ANWENDUNGEN die Anwendung und das File-Transportprotokoll, zu dem Sie Einstellungen vornehmen möchten. In der Baumstruktur werden unter dem Transportprotokoll alle in EAI One definierten Basisobjekte angezeigt. In der Registerkarte PROTOKOLLE werden die Daten des ausgewählten Transportprotokolls angezeigt. Adapter - EAI One V 2.7 4-3 Kapitel 4 • Markieren Sie die das gewünschte Basisobjekt Markieren Sie das Basisobjekt, für das Sie ein Einstellungen vornehmen wollen. In der Registerkarte OBJEKTE FÜR TRANSPORTPROTOKOLLE werden die Daten des ausgewählten Basisobjekts angezeigt. • Klicken Sie auf die Schaltfläche EINSTELLUNGEN Der ASSISTENT ZUR KONFIGURATION DER PROTOKOLLATTRIBUTE wird geöffnet und zeigt Einstellmöglichkeiten für Protokollattribute zum ausgewählten Objekt an. Der Bildschirm AKTION wird angezeigt. Abbildung 4-1: Assistent - FILE Aktion 3.1 Dateien lesen • Aktivieren Sie das Kontrollkästchen DATEIEN VON LAUFWERK LESEN Das Register LESEEINSTELLUNGEN sowie die Kontrollkästchen VOR DEM SENDEN UMBENENNEN und BEI ERFOLG LÖSCHEN werden aktiviert. • Aktivieren Sie, falls erforderlich, das Kontrollkästchen BEI ERFOLG LÖSCHEN Diese Option empfiehlt sich bei großen Dateimengen. Wenn Sie die gelesenen Dateien nicht auf diese Weise automatisch löschen, sollten Sie sie von Zeit zu Zeit manuell löschen. • Geben Sie die Anzahl der Tage ein, nach der Fehlerdatensätze gelöscht werden Geben Sie die Anzahl der Tage ein, nach der die Datensätze gelöscht werden, die durch die fehlerhafte Abarbeitung von Dateien erzeugt wurden. • Geben Sie die Anzahl der Tage ein, nach der OK Datensätze gelöscht werden Geben Sie die Anzahl der Tage ein, nach der die Datensätze gelöscht werden, die durch die erfolgreiche Abarbeitung von Dateien erzeugt wurden. 4-4 Adapter - EAI One V 2.7 • Klicken Sie auf den Reiter LESEEINSTELLUNGEN Der Bildschirm LESEEINSTELLUNGEN wird angezeigt. Abbildung 4-2: Assistent - FILE Leseeinstellungen • Geben Sie den Pfad des Verzeichnisses ein, aus dem die Dateien gelesen werden sollen Absolute Pfadangaben sind vorzuziehen. Für Netzwerkpfade müssen Computer, Kennung und Kennwort in den Systemzugriffen festgelegt werden. • Geben Sie das Suchmuster ein, mit dem zu lesende Dateien gesucht werden sollen • Geben Sie das Intervall ein, in dem auf dem Datenträger nach neuen Dateien gesucht werden soll Geben Sie das Suchintervall in Sekunden ein. • Geben Sie die Anzahl der Tage ein, nach der Fehlerdatensätze gelöscht werden Geben Sie die Anzahl der Tage ein, nach der die Datensätze gelöscht werden, die durch die fehlerhafte Abarbeitung von Dateien erzeugt wurden. • Geben Sie die Anzahl der Tage ein, nach der OK Datensätze gelöscht werden Geben Sie die Anzahl der Tage ein, nach der die Datensätze gelöscht werden, die durch die erfolgreiche Abarbeitung von Dateien erzeugt wurden. • Klicken Sie auf FERTIGSTELLEN Die geänderten Einstellungen werden zurück in die Datenbank geschrieben. 3.2 Dateien schreiben • Aktivieren Sie im Bildschirm AKTION keine Kontrollkästchen • Geben Sie, falls erforderlich, einen Offset ein Die Nachricht wird positiv identifiziert, wenn die Nachrichten-ID sich an der angegebenen Offset-Position befindet. Der Offset wird nicht benötigt, wenn eine Startzeichenfolge angegeben ist. Adapter - EAI One V 2.7 4-5 Kapitel 4 • Klicken Sie auf WEITER Der Bildschirm LESE-/SCHREIBEINSTELLUNGEN wird angezeigt. Abbildung 4-3: Assistent - FILE Lese-/Schreibeinstellungen • Geben Sie den Pfad des Zielverzeichnisses ein Empfangene und verarbeitete Dateien werden in dieses Verzeichnis geschrieben. • Geben Sie den Namen der Dateien an, die vom Adapter erzeugt werden sollen Existiert die Datei bereits, wird eine Zahl an den Dateinamen angehängt. • Aktivieren Sie, falls erforderlich, das Kontrollkästchen IM TEXTMODUS ÖFFNEN Aktivieren Sie das Kontrollkästchen, wenn Dateien im Textmodus geöffnet werden sollen. Sie werden sonst im Binärmodus geöffnet. Diese Option ist nur sinnvoll, wenn Sie Daten an ein eine bereits bestehende Datei anhängen wollen. Um Daten anzuhängen, müssen Sie im Bildschirm SCHREIBEINSTELLUNGEN das Kontrollkästchen NACHRICHT AN ZIELDATEI ANHÄNGEN aktivieren. • Geben Sie den Pfad für das Verzeichnis für Bestätigungen ein Die Bestätigung für verarbeitete Dateien wird in dieses Verzeichnis geschrieben. • Geben Sie den Namen der Bestätigungsdatei an Er wird analog zum Namen der Zieldatei behandelt. 4-6 Adapter - EAI One V 2.7 • Klicken Sie auf WEITER Der Bildschirm SCHREIBEINSTELLUNGEN wird angezeigt. Abbildung 4-4: Assistent - FILE Schreibeinstellungen • Geben Sie die Startzeichenfolge ein Geben Sie die Zeichenfolge ein, die die eingehende Nachricht identifiziert. Die Zeichenfolge muss ein erweiterter regulärer Ausdruck sein. Die Startzeichenfolge wird nicht benötigt, wenn ein Offset angegeben ist. • Geben Sie die Endezeichenfolge ein Geben Sie die Zeichenfolge ein, die die eingehende Nachricht identifiziert. Die Zeichenfolge muss ein erweiterter regulärer Ausdruck sein. Die Endezeichenfolge wird nicht benötigt, wenn eine Startzeichenfolge oder ein Offset angegeben ist. • Geben Sie die Länge der Nachrichtentyp-Identifikation ein Geben Sie die Länge der Nachrichten-ID-Zeichenfolge ein. Diese wird nicht benötigt, wenn eine Startzeichenfolge angegeben ist. • Aktivieren Sie, falls erforderlich, das Kontrollkästchen NACHRICHT AN ZIELDATEI ANHÄNGEN Aktivieren Sie das Kontrollkästchen, wenn Nachrichten an eine bereits existierende Datei angehängt werden sollen. Sonst erzeugt jede Nachricht eine eigene Datei. • Klicken Sie auf FERTIGSTELLEN Die geänderten Einstellungen werden zurück in die Datenbank geschrieben. 3.3 Dateien lesen und schreiben • Aktivieren Sie das Kontrollkästchen DATEIEN VON LAUFWERK LESEN Das Register LESEEINSTELLUNGEN sowie die Kontrollkästchen VOR DEM SENDEN UMBENENNEN und BEI ERFOLG LÖSCHEN werden aktiviert. Die Kontrollkästchen VOR DEM SENDEN UMBENENNEN und BEI ERFOLG LÖSCHEN sind Optionsschaltflächen. Sie können nur eine von beiden aktivieren. Adapter - EAI One V 2.7 4-7 Kapitel 4 • Aktivieren Sie, falls erforderlich, das Kontrollkästchen VOR UMBENENNEN DEM SENDEN Sollte während des Sendens ein Fehler auftreten, ist die Datei unter anderem Namen noch vorhanden. Wenn Sie dieses Kontrollkästchen aktiviert haben, müssen Sie anschließend im Bildschirm LESE-/SCHREIBEINSTELLUNGEN den Namen der Zieldatei eingeben. • Aktivieren Sie das Kontrollkästchen BEI ERFOLG LÖSCHEN Diese Option empfiehlt sich großen Dateimengen. Wenn Sie die gelesenen Dateien nicht auf diese Weise automatisch löschen, sollten Sie sie von Zeit zu Zeit manuell löschen. • Klicken Sie auf WEITER Der Bildschirm LESE-/SCHREIBEINSTELLUNGEN wird angezeigt. Abbildung 4-5: Assistent - FILE Lese-/Schreibeinstellungen • Geben Sie den Pfad des Zielverzeichnisses ein Empfangene und verarbeitete Dateien werden in dieses Verzeichnis geschrieben. • Geben Sie den Namen der Dateien an, die vom Adapter erzeugt werden sollen Existiert die Datei bereits, wird eine fortlaufende Zahl an den Dateinamen angehängt. • Aktivieren Sie, falls erforderlich, das Kontrollkästchen IM TEXTMODUS ÖFFNEN Aktivieren Sie das Kontrollkästchen, wenn Dateien im Textmodus geöffnet werden sollen. Sie werden sonst im Binärmodus geöffnet. Diese Option ist nur sinnvoll, wenn entweder Sie das Kontrollkästchen VOR DEM SENDEN UMBENENNEN aktiviert haben oder Daten an ein eine bereits bestehende Datei anhängen wollen. Um Daten anzuhängen, müssen Sie im Bildschirm SCHREIBEINSTELLUNGEN das Kontrollkästchen NACHRICHT AN ZIELDATEI ANHÄNGEN aktivieren. • Geben Sie den Pfad für das Verzeichnis für Bestätigungen ein Die Bestätigung für verarbeitete Dateien wird in dieses Verzeichnis geschrieben. 4-8 Adapter - EAI One V 2.7 • Geben Sie den Namen der Bestätigungsdatei an Er wird analog zum Namen der Zieldatei behandelt. • Klicken Sie auf WEITER Der Bildschirm LESEEINSTELLUNGEN wird angezeigt. Abbildung 4-6: Assistent - FILE Leseeinstellungen • Geben Sie den Pfad des Verzeichnisses ein, aus dem die Dateien gelesen werden sollen Absolute Pfadangaben sind vorzuziehen. Für Netzwerkpfade müssen Computer, Kennung und Kennwort in den Systemzugriffen festgelegt werden. • Geben Sie das Suchmuster ein, mit dem zu lesende Dateien gesucht werden sollen • Geben Sie das Intervall ein, in dem auf dem Datenträger nach neuen Dateien gesucht werden soll Geben Sie das Suchintervall in Sekunden ein. Adapter - EAI One V 2.7 4-9 Kapitel 4 • Klicken Sie auf WEITER Der Bildschirm SCHREIBEINSTELLUNGEN wird angezeigt. Abbildung 4-7: Assistent - FILE Schreibeinstellungen • Geben Sie die Startzeichenfolge ein Geben Sie die Zeichenfolge ein, die die eingehende Nachricht identifiziert. Die Zeichenfolge muss ein erweiterter regulärer Ausdruck sein. Die Startzeichenfolge wird nicht benötigt, wenn ein Offset angegeben ist. • Geben Sie die Endezeichenfolge ein Geben Sie die Zeichenfolge ein, die die eingehende Nachricht identifiziert. Die Zeichenfolge muss ein erweiterter regulärer Ausdruck sein. Die Endezeichenfolge wird nicht benötigt, wenn eine Startzeichenfolge oder ein Offset angegeben ist. • Geben Sie die Länge der Nachrichtentyp-Identifikation ein Geben Sie die Länge der Nachrichten-ID-Zeichenfolge ein. Diese wird nicht benötigt, wenn eine Startzeichenfolge angegeben ist. • Aktivieren Sie, falls erforderlich, das Kontrollkästchen NACHRICHT AN ZIELDATEI ANHÄNGEN Aktivieren Sie das Kontrollkästchen, wenn Nachrichten an eine bereits existierende Datei angehängt werden sollen. Sonst erzeugt jede Nachricht eine eigene Datei. • Klicken Sie auf FERTIGSTELLEN Die geänderten Einstellungen werden zurück in die Datenbank geschrieben. 4 - 10 Adapter - EAI One V 2.7 4 Parametertabelle Parameter Beschreibung -901 POSIX erweiterter, regulärer Ausdruck, der ein Suchmuster definiert. Der Adapter ermittelt mit diesem Suchmuster das Funktionsobjekt, das zu den Daten gehört. Startzeichenfolge Weitere Informationen zu diesem Parameter finden Sie im Abschnitt “Ermitteln der Funktionsobjekt ID” auf Seite 4-13. -902 Endezeichenfolge POSIX erweiterter, regulärer Ausdruck, der ein Suchmuster definiert. Der Adapter ermittelt mit diesem Suchmuster das Funktionsobjekt, das zu den Daten gehört. Weitere Informationen zu diesem Parameter finden Sie im Abschnitt “Ermitteln der Funktionsobjekt ID” auf Seite 4-13. -903 Offset für die Nachrichtentyp-Identifikation Offset in einem Datenstrom. Der Adapter ermittelt mit diesem Offset das Funktionsobjekt, das zu den Daten gehört. Weitere Informationen zu diesem Parameter finden Sie im Abschnitt “Ermitteln der Funktionsobjekt ID” auf Seite 4-13. -904 Länge der Nachrichtentyp-Identifikation Länge in einem Datenstrom. Der Adapter ermittelt mit dieser Länge das Funktionsobjekt, das zu den Daten gehört. Weitere Informationen zu diesem Parameter finden Sie im Abschnitt “Ermitteln der Funktionsobjekt ID” auf Seite 4-13, -905 Pfad des Leseverzeichnisses Der Pfad, in dem nach neuen oder geänderten Daten zu diesem Funktionsobjekt gesucht werden soll. -906 Dateiname Suchmuster Neue oder geänderte Dateien werden verarbeitet, deren Dateiname diesem Suchmuster entspricht. Adapter - EAI One V 2.7 4 - 11 Kapitel 4 Parameter Beschreibung -907 Ist dieser Parameter aktiviert, werden Dateien im Textmodus gelesen oder geschrieben. Ist dieser Parameter nicht aktiviert, werden Dateien im Binärmodus gelesen oder geschrieben. Im Textmodus öffnen Dieser Parameter kann nur aktiviert oder deaktiviert werden. -908 Suchintervall (Sekunden) Nachdem der Adapter den Suchpfad auf neue oder geänderte Dateien überprüft hat, wartet er diese Zeitspanne ab, bevor er erneut das Verzeichnis überprüft. -910 Fehlerdatensätze löschen nach Anzahl der Tage, nach der die Datensätze gelöscht werden, die durch die fehlerhafte Abarbeitung von Dateien erzeugt wurden. -911 OK Datensätze löschen nach Anzahl der Tage, nach der die Datensätze gelöscht werden, die durch die erfolgreiche Abarbeitung von Dateien erzeugt wurden. -940 Zielverzeichnis Der Pfad, in dem empfangene Daten gespeichert werden sollen. -960 Name der Zieldatei Der Name der Datei, die geschrieben werden soll. Der Name kann eine besondere Zeichenkette enthalten, die durch einen Zeitstempel ersetzt wird. Weitere Informationen zu diesem Parameter finden Sie im Abschnitt “Zeichenketten, die durch Zeitstempel ersetzt werden” auf Seite 4-14. -970 Verzeichnis für Bestätigungen Der Pfad, in dem die empfangene Antwort auf versendete Daten gespeichert werden soll. -980 Name der Bestätigungsdatei Der Dateiname, in dem die empfangene Antwort auf versendete Daten gespeichert werden soll. -990 Vor dem Senden umbenennen Ist dieser Parameter aktiviert, werden Dateien vor der Verarbeitung umbenannt. Die Datei erhält den Namen, der im Parameter -960 angegeben wurde. Dieser Parameter kann nur aktiviert oder deaktiviert werden. 4 - 12 Adapter - EAI One V 2.7 Parameter Beschreibung -991 Ist dieser Parameter aktiviert, werden Dateien nach der Verarbeitung gelöscht. Bei Erfolg löschen Dieser Parameter kann nur aktiviert oder deaktiviert werden. -992 Nachricht an Zieldatei anhängen Ist dieser Parameter aktiviert, werden die Daten an bestehende Dateien angehängt, falls bereits Dateien vorhanden sind. Dieser Parameter kann nur aktiviert oder deaktiviert werden. -999 Dateien von Laufwerk lesen Ist dieser Parameter aktiviert, wird ein Thread erzeugt. Dieser Thread überprüft im unter Parameter -908 angegebenen Intervall den Datenträger auf neue oder geänderte Dateien. Dieser Parameter kann nur aktiviert oder deaktiviert werden. 5 Ermitteln der Funktionsobjekt ID Die ermittelte Funktionsobjekt ID legt fest, welche Parameter für die empfangenen Daten angewendet werden sollen. Die Parameter legen fest, in welchem Verzeichnis und unter welchem Dateinamen die empfangenen Daten auf dem Datenträger abgelegt werden sollen. 5.1 Nur Startzeichenfolge gesetzt - Startzeichenfolge gefunden Die eingehenden Daten werden dem Funktionsobjekt zugeordnet, zu dem diese Startzeichenfolge definiert ist. 5.2 Start-, Offset und Endezeichenfolge gesetzt - beide Muster gefunden Das Funktionsobjekt muss zwischen dem Anfang der Startzeichenfolge plus dem Offset und dem Anfang der Endezeichenfolge stehen, falls das Offset nicht negativ ist. Das Funktionsobjekt muss zwischen dem Ende der Startzeichenfolge plus dem Offset und dem Anfang der Endezeichenfolge stehen, falls das Offset negativ ist. 5.3 Startzeichenfolge, Offset und Länge gesetzt - Startzeichenfolge gefunden Das Funktionsobjekt steht am Anfang der Startzeichenfolge plus dem Offset und hat die gegebene Länge, falls das Offset nicht negativ ist. Das Funktionsobjekt steht am Ende der Startzeichenfolge plus dem Offset und hat die gegebene Länge, falls das Offset negativ ist. 5.4 Startzeichenfolge, Offset gesetzt - Startzeichenfolge gefunden Das Funktionsobjekt steht am Anfang der Startzeichenfolge plus dem Offset. Adapter - EAI One V 2.7 4 - 13 Kapitel 4 5.5 Start- und Endezeichenfolge gesetzt - beide Muster gefunden Das Funktionsobjekt muss zwischen dem Ende der Startzeichenfolge und dem Anfang der Endezeichenfolge stehen. 5.6 Startzeichenfolge und Länge gesetzt - Startzeichenfolge gefunden Das Funktionsobjekt muss am Anfang der Startzeichenfolge stehen und die angegebene Länge haben, falls die Länge nicht negativ ist. 5.7 Offset und Endezeichenfolge gesetzt - Endezeichenfolge gefunden Das Funktionsobjekt muss zwischen dem Offset und dem Anfang der Endezeichenfolge stehen, falls das Offset nicht negativ ist. Das Funktionsobjekt muss zwischen dem Offset und dem Ende der Endezeichenfolge stehen, falls das Offset negativ ist. 5.8 Offset und Länge gesetzt Das Funktionsobjekt muss an der Position des Offsets stehen und die angegebene Länge haben. 6 Zeichenketten, die durch Zeitstempel ersetzt werden Der erstellte Dateiname kann eine Zeichenkette enthalten, die durch einen Zeitstempel ersetzt wird. 4 - 14 Zeichenkette wird ersetzt durch [TS-ISO] YYYY MM DD ’_’ hh mm ss [TSTISO] YYYY MM DD ’T’ hh mm ss [TSISO] YYYY MM DD hh mm ss [TS-T:ISO] YYYY ’-’ MM ’-’ DD ’T’ hh ’:’ mm ’:’ ss Bezeichner steht für YYYY Vierstellige Jahreszahl MM Zweistellige Monatszahl DD Zweistellige Tageszahl hh Zweistellige Stundenzahl mm Zweistellige Minutenzahl ss Zweistellige Sekundenzahl Adapter - EAI One V 2.7 7 Systemzugriffe In der Maske VIRTUELLE MASCHINEN\SYSTEMZUGRIFFE werden die Daten festgelegt, die zum Anmelden an einen Fileserver notwendig sind. Diese Angaben müssen gemacht werden, wenn sich die Dateien auf einer anderen Maschine befinden. • Land Ohne Bedeutung. • Wählen Sie das gewünschte System aus Wählen Sie im Dropdown-Listenfeld SYSTEM das System MS FILESERVER aus. • Geben Sie die Benutzerkennung ein Geben Sie in das Feld KENNUNG den Benutzernamen an, mit dem sich EAI One an dem Server anmelden soll. • Geben Sie das Kennwort ein Geben Sie in das Feld KENNWORT das Kennwort für die Kennung auf dem Fileserver ein. • Mandanten, Systemnummer, Releasestand, Ziel, System I D Ohne Bedeutung • Geben Sie die I P-Adresse ein Geben Sie die IP-Adresse oder den Computer-Namen des Fileservers ein. 8 Referenzen The GNU Regular Expression Language/Library Regex edition 0.12a 19 September 1992 by Kathryn A. Hargreaves and Karl Berry http://sunsite.utk.edu/gnu/regex/regex_toc.html Adapter - EAI One V 2.7 4 - 15 Kapitel 4 4 - 16 Adapter - EAI One V 2.7 HTTP Adapter Standard-Transportadapter für EAI One 1 Allgemeines Das Hypertext Transfer Protocol (HTTP) besteht aus einem Regelsatz zum Austausch von Dateien (Text-, Graphik-, Sound-, Video- und weiteren Multimedia-Dateien) über das World Wide Web. Im Vergleich mit den TCP/IP-Protokollen, die die Grundlage für den Informationsaustausch über das Internet bilden, ist HTTP eine Kombination aus Applikations- und Transportprotokoll. Zu den Grundkonzepten des HTTP gehört unter anderem die Idee, dass Dateien Referenzen auf andere Dateien enthalten, die weitere Transportaufrufe erzeugen, sobald diese Dateien ausgewählt werden. Jeder Webserver enthält neben HTML- und anderen Dateien, die er zustellen kann, einen HTTP-Daemon. Ein HTTP-Daemon dient dazu, auf HTTP-Anfragen zu warten und diese zu bearbeiten, sobald sie ankommen. Ein WebBrowser ist ein HTTP-Client, der Anfragen an Server sendet. Der HTTP-Daemon an der Zieladresse des Servers empfängt die Anfrage und gibt nach der Verarbeitung die angefragte Datei zurück. Die neueste HTTP-Version ist HTTP 1.1. 2 Besondere Funktionalität Der Adapter unterstützt unabhängig von der Übertragungsrichtung die HTTP Methoden PUT und POST. 2.1 Empfang von Applikationsdaten (Client Modus) Im Clientmodus empfängt der Adapter beliebige Applikationsdaten und kapselt sie in die HTTP Transportprotokoll Methoden PUT oder POST. Die gekapselten Daten schickt der Adapter an das Zielsystem. Der Adapter extrahiert die Antwort des Zielsystems aus den HTTP Protokolldaten und schickt sie an den Absender. 2.2 Empfang von HTTP Daten (Server Modus) Im Servermodus empfängt der Adapter in HTTP Transportprotokoll-Methoden PUT oder POST gekapselte Daten und schickt die extrahierten Applikationsdaten an das Zielsystem weiter. Die Antwort des Zielsystems kapselt der Adapter in die HTTP Transportprotokollantworten ’200 OK’ oder ’204 NO CONTENT’ für den Fall, dass die Antwort leer ist, und schickt sie an den Absender zurück. Ein Übertragungsfehler auf der Zielsystemseite signalisiert der Adapter mit der HTTP Antwort ’500 INTERNAL SERVER ERROR’. 3 Einstellungen Es gibt keine protokollspezifischen Einstellungen. Alle notwendigen Parameter werden entweder vom vorgeschalteten Adapter empfangen oder in den Systemzugriffen eingestellt. Adapter - EAI One V 2.7 4 - 17 Kapitel 4 4 Systemzugriffe In der Maske VIRTUELLE MASCHINEN\SYSTEMZUGRIFFE werden die Daten festgelegt, die zum Anmelden an eine Fremdapplikation notwendig sind. • Land Ohne Bedeutung. • Wählen Sie das gewünschte System aus Wählen Sie im Dropdown-Listenfeld SYSTEM das System WEB-SERVER aus. • Geben Sie die Benutzerkennung ein Geben Sie in das Feld KENNUNG den Benutzernamen an, mit dem sich EAI One auf dem HTTP Server anmelden soll. • Geben Sie das Kennwort ein Geben Sie in das Feld KENNWORT das Kennwort für die Kennung auf dem HTTP Server ein. • Geben Sie den Mandanten ein Geben Sie, falls erforderlich, in das Feld MANDANT den Zugriffsbereich (realm) auf dem HTTP Server ein. • Systemnummer, Releasestand Ohne Bedeutung • Geben Sie das Ziel ein Geben Sie in das Feld DESTINATION die uri auf dem HTTP Server ein. • Geben Sie die System I D ein Wählen Sie im Dropdown-Listenfeld die Methode (PUT oder POST) aus, mit der die HTTP Kommunikation erfolgen soll. • Geben Sie die I P-Adresse des Zielsystems ein Geben Sie in das Feld ADRESSE die IP-Adresse des HTTP Servers ein. 5 Referenzen HTTP Referenz- Hypertext Transfer Protocol -- HTTP/1.1 http://www.w3.org/Protocols/rfc2068/rfc2068 4 - 18 Adapter - EAI One V 2.7 SSL Adapter Standard-Transportadapter für EAI One 1 Allgemeines Die Sicherheit bei der Kommunikation beruht auf dem Verschlüsseln und Entschlüsseln von Nachrichten. Ein Dritter, der nicht den richtigen Schlüssel besitzt, soll keine versendeten Daten mitlesen oder verändern können. Verschlüsselungsverfahren verwenden Schlüssel, die dem Sender das Verschlüsseln und dem Empfänger das Entschlüsseln ermöglichen. Das SSL-Protokoll wurde von Netscape entwickelt und konnte sich durch die weite Verbreitung des Netscape Navigators etablieren. SSL arbeitet mit jedem beliebigen Transportprotokoll zusammen, z.B. mit HTTP. Das SSL-Protokoll kann zur sicheren Datenübertragung verwendet werden. SSL erweitert die Socket-Schnittstelle, welche den Standard-Zugriff auf TCP unter Unix und Windows ermöglicht, so dass seine Sicherheitsmerkmale auch den anderen Anwendungsprotokollen, wie z.B. FTP oder auch Telnet, zur Verfügung stehen. 2 Besondere Funktionalität 2.1 Empfang von unverschlüsselten Daten - SSL Client • Der Adapter baut zu jeder eingehenden TCP/IP Verbindung eine SSL-Verbindung mit einem Server auf. • Beim Aufbau der SSL Verbindung werden nach dem Empfang der Autorisierung des Servers das Verschlüsselungsverfahren und die verwendeten Schlüssel vereinbart. • Das Verbindungsverhalten, Auf- und Abbau wird unverändert vom TCP/IP Eingang auf den SSL Ausgang übernommen. • Der Adapter empfängt beliebige Daten über die eingehende TCP/IP Verbindung und verschlüsselt sie entsprechend dem mit dem Server vereinbarten Verfahren. 2.2 Empfang von SSL Daten - SSL Server • Der Adapter nimmt SSL-verschlüsselte Verbindungen entgegen. • Nachdem sich der Server autorisiert hat werden mit dem Client Verschlüsselungsverfahren und Schlüssel vereinbart. • Zu jeder eingehenden SSL Verbindung wird eine unverschlüsselte TCP/IP Verbindung am Ausgang aufgebaut. • Das Verbindungsverhalten, Auf- und Abbau wird unverändert vom SSL Eingang auf den TCP/IP Ausgang übernommen. • Der Adapter empfängt mit dem vereinbarten Verfahren verschlüsselte Daten und schickt sie auf den unverschlüsselten Ausgang weiter. 3 Einstellungen Die Einstellungen für den SSL-Adapter werden im Bildschirm ATTRIBUTE\TRANSPORTPROTOKOLLE vorgenommen. Adapter - EAI One V 2.7 4 - 19 Kapitel 4 • Wählen Sie das gewünschte Transportprotokoll aus Erweitern Sie im Container ANWENDUNGEN die Anwendung und das SSL-Transportprotokoll, zu dem Sie Einstellungen vornehmen möchten. In der Baumstruktur werden unter dem Transportprotokoll alle in EAI One definierten Basisobjekte angezeigt. In der Registerkarte PROTOKOLLE werden die Daten des ausgewählten Transportprotokolls angezeigt. • Markieren Sie die das gewünschte Basisobjekt Markieren Sie das Basisobjekt, für das Sie ein Einstellungen vornehmen wollen. In der Registerkarte OBJEKTE FÜR TRANSPORTPROTOKOLLE werden die Daten des ausgewählten Basisobjekts angezeigt. • Klicken Sie auf die Schaltfläche EINSTELLUNGEN Der ASSISTENT ZUR KONFIGURATION DER PROTOKOLLATTRIBUTE wird geöffnet und zeigt Einstellmöglichkeiten für Protokollattribute zum ausgewählten Objekt an: Der Bildschirm NACHRICHTENIDENTIFIKATION wird angezeigt. Abbildung 4-1: Assistent - SSL Zertifizierung • Geben Sie Pfad und Dateiname des SSL- Zertifikats ein Geben Sie in das Feld SSL- Zertifikat Pfad und Dateiname des SSL- Zertifikats ein. • Geben Sie Pfad und Dateiname des SSL-Schlüssels ein Geben Sie den Private Key ein. • Geben Sie den Typ des SSL-Zertifikats ein Geben Sie entweder PEM oder ASN1ein. • Geben Sie den SSL Schlüsseltyp ein Geben Sie entweder PEM oder ASN1ein. • Klicken Sie auf FERTIGSTELLEN Die geänderten Einstellungen werden zurück in die Datenbank geschrieben. 4 - 20 Adapter - EAI One V 2.7 4 Parametertabelle Parameter Beschreibung Version -1002 SSL-Zertifikat Dateiname und Pfad des SSL ServerZertifikats Parameter wird nur für den Server benötigt und ist für diesen zwingend 2.6 -1001 SSL-Schlüssel Dateiname und Pfad des privaten SSL Schlüssels Parameter wird nur für den Server benötigt und ist für diesen zwingend 2.6 -1003 Typ des SchlüsselZertifikats PEM oder ASN1 -1004 SSL-Schlüsseltyp PEM oder ASN1 5 Referenzen OpenSSL Project http://www.openssl.org/ Adapter - EAI One V 2.7 4 - 21 Kapitel 4 4 - 22 Adapter - EAI One V 2.7 Zip Adapter Standard-Transportadapter für EAI One 1 Allgemeines Das ZIP-Format dient zur verlustfreien Komprimierung von Daten. 2 Besondere Funktionalität Der ZIP-Adapter reagiert auf Daten, die er an seinem TCP/IP Serverport empfangen hat. Daten, die er von der externen Seite empfängt, werden dekomprimiert. Daten, die er von der EAI One-Seite empfängt, werden komprimiert. 3 Einstellungen Die Einstellungen für den ZIP-Adapter werden im Bildschirm ATTRIBUTE\TRANSPORTPROTOKOLLE vorgenommen. • Wählen Sie das gewünschte Transportprotokoll aus Erweitern Sie im Container ANWENDUNGEN die Anwendung und das ZIP-Transportprotokoll, zu dem Sie Einstellungen vornehmen möchten. In der Baumstruktur werden unter dem Transportprotokoll alle in EAI One definierten Basisobjekte angezeigt. In der Registerkarte PROTOKOLLE werden die Daten des ausgewählten Transportprotokolls angezeigt. • Markieren Sie die das gewünschte Basisobjekt Markieren Sie das Basisobjekt, für das Sie ein Einstellungen vornehmen wollen. In der Registerkarte OBJEKTE FÜR TRANSPORTPROTOKOLLE werden die Daten des ausgewählten Basisobjekts angezeigt. • Klicken Sie auf die Schaltfläche EINSTELLUNGEN Der ASSISTENT ZUR KONFIGURATION DER PROTOKOLLATTRIBUTE wird geöffnet und zeigt Einstellmöglichkeiten für Protokollattribute zum ausgewählten Objekt an. Adapter - EAI One V 2.7 4 - 23 Kapitel 4 Der Bildschirm DATEINAMEN wird angezeigt. Abbildung 4-1: Assistent ZIP Dateinamen 3.1 Daten komprimeren • Geben Sie den Dateinamen für die ZIP-Datei ein Geben Sie den Dateinamen ein, den die Daten innerhalb der komprimierten ZIPDaten erhalten sollen. Dies ist nicht der Dateiname der Zip-Datei selbst. Sollen die komprimierten Daten als Datei auf eine Festplatte geschrieben werden, muss dies über den FILE-Adapter geschehen. Der Name der Zip-Datei selbst wird im Transportprotokoll FILE festgelegt. • Klicken Sie auf FERTIGSTELLEN Die geänderten Einstellungen werden zurück in die Datenbank geschrieben. 3.2 Daten dekomprimieren Hierfür sind keine Einstellungen erforderlich. 4 Parametertabelle Parameter Beschreibung -1201 Dateiname, den die Daten innerhalb der ZIP Datei haben. 4 - 24 Dateiname im ZIP Adapter - EAI One V 2.7 EAI One Object Handler Standard Object Handler für EAI One 1 Allgemeines Der Object Handler verarbeitet die EAI One-Standardobjekte. Er führt die Übergabe von Daten aus einem Standardobjekt an andere Standardobjekte durch und sorgt, falls erforderlich, für die Konvertierung der Dateninhalte in ein für die Zielanwendung verständliches Format. Die EAI One-Standardobjekte werden in einem protokoll- und anwendungsneutralen Format empfangen, verarbeitet und versendet. Der Object Handler stellt den transaktionalen Zusammenhang zwischen allen beteiligten Anwendungen sicher. 2 Besondere Funktionalität • Ein EAI One-Funktionsobjekt kann auf einen Object Handling Dialog referenzieren. • Beim Empfang des EAI One-Standardobjekts wird der Dialog ausgeführt, der dem Funktionsobjekt zugeordnet ist. • Ein Dialog kann andere Dialoge aufrufen. Weitere Informationen zum Erstellen von Dialogen finden Sie im EAI One-Handbuch für das Projekt-Modul im Kapitel "Definition von Dialogen". • Die Dialogsprache beinhaltet einen Befehl zur Übergabe der Daten von einem Standardobjekt einer Applikation zum Standardobjekt einer anderen Applikation. Bei dieser Übergabe werden die den Fielditems im Standardobjekt zugeordneten Konvertierungen und Funktionsdialoge ausgeführt. • Der Dialog kann die Daten an andere Adapter versenden und von diesen Adaptern Antworten erhalten und verarbeiten. 2.1 Empfang von EAI One Standardobjekten • Der Dialog zu dem im Standardobjekt angegebenen Funktionsobjekt wird aufgerufen. • Der Dialog kann auf die Daten des Standardobjekts zugreifen und sie verarbeiten. Er kann sie an andere Standardobjekte weitergeben und weiterversenden. 3 Dialogsprache Die Dialogsprache wird im EAI One Referenzhandbuch für Object Handler-Dialoge beschrieben. Adapter - EAI One V 2.7 5-1 Kapitel 5 5-2 EAI One Object Handler Adapter - EAI One V 2.7 Glossar Im Glossar finden Sie sowohl EAI One-spezifische Terminologie erklärt als auch Terminologien anderer Hersteller. Deren Definitionen wurden direkt den Glossaren dieser Hersteller entnommen und falls nötig, übersetzt. ABAP SAP®-Entwicklungs- Advanced Business Application Programming; die sprache. ABAP ist eine Programmiersprache zum Entwickeln von Anwendungen für das SAP® R/3®- System, ein oft installiertes business application subsystem. Die neueste Version der Programmiersprache, ABAP Objects, ist objekt-orientiert. SAP® will run applications written using ABAP/4, the earlier ABAP version, as well as applications using ABAP Objects. Adapter Adapter werden unterteilt in Applikationsadapter, Protokolladapter und Transportadapter. SAP® EAI One API Application Programming Interface. Bei API’s kann es sich z.B. um die SAP® C-API oder die IBM HAL API handeln. Applikationsadapter Applikationsadapter führen Applikationsdialoge aus, um mit proprietären API’s auf die Fremdapplikation zuzugreifen. CPI-C (Common Programming Interface-Communications) Die technische Schnittstelle C PI-C wurde durch IBM als vereinfachte Schnittstelle zu SNA/LU6-2 eingeführt. CPI-C wurde Teil der X/Open-Standardisierung und wird von SAP® verwendet, um die Programm-zu-Programm Kommunikation zwischen R/3 und externen Systemen zu vereinfachen. SAP® bietet auf TCP/IP basierende CPI-C Bibliotheken. Die CPI-C ist eine Programmierschnittstelle für Anwendungen, die Programmzu-Programm-Kommunikation benötigen. Sie dient als Abstraktionsschicht zwischen Anwendung und Kommunikationsschicht. Wird CPI-C verwendet, ist darunter eine Anbindung wahlweise zu SNA- oder OSI-Protokollen der Schichten 3-7 möglich. Sie bietet: • Senden und Empfangen von Daten • Synchronisation der Verarbeitung von Programmen • Benachrichtigung von Kommunikationspartnern bei Fehlern EAI One IBM/SAP® FTP (File Transfer Protocol) FTP ist das meistgenutzte Dateiübertragungsprotokoll der TCP/IP-Protokollfamilie. Adapter - EAI One V 2.7 G-1 Kapitel G Funktionsobjekt Funktionsobjekte werden durch Nachrichten aufgerufen. Diese Nachrichten enthalten Informationen, die durch die Funktionsobjekte erkannt und abgearbeitet werden. IDoc (Intermediate Document) ® SAP -Standardformat zum elektronischen Datenaustausch zwischen Systemen. Verschiedene Nachrichtentypen (z.B. Lieferschein oder Bestellung) entsprechen in der Regel verschiedenen speziellen Formaten, den sogenannten IDOC-Typen. Protokolladapter Protokolladapter wandeln externe Nachrichtenformate in EAI One Standardobjekte um und umgekehrt. Protokollattribut Ein Protokollattribut verknüpft ein Fielditem aus einem EAI One Standardobjekt mit einem physikalischen Einzelfeld aus einem Protokoll oder einer Anwendung. Protokoll Protokolle sind standardisierte Nachrichtenformate oder API’s, welche für die Kommunikation zwischen Applikationen herangezogen werden. Die Nachrichtenformate basieren größtenteils auf internationalen Standards wie XML, EDIFact usw. Standardobjekten wird als Protokoll OBJ zugeordnet. Serviceobjekt Objekte in Kleinbuchstaben sind Serviceobjekte (z.B. clrwinfo), die von anderen Objekten benutzt werden (z.B. Unterdialoge). SQL SQL (Structured Query Language) ist eine strukturierte Abfragesprache für Datenbanken, mit der Daten aus einer Datenbank gelesen und eine Datenbank aktualisiert werden kann. Obwohl SQL sowohl von der ISO als auch von der ANSI genormt wurden, unterstützen viele Datenbank-Produkte SQL durch proprietäre Erweiterungen der genormten Sprache. Abfragen werden mittels eines Befehlssatzes durchgeführt. Dieser Befehlssatz ermöglicht das Auswählen, Einfügen, Aktualisieren und Finden von Daten in einer Datenbank. SSL Das SSL-Protokoll wurde von Netscape entwickelt und konnte sich durch die weite Verbreitung des Netscape Navigators etablieren. SSL arbeitet mit jedem beliebigen Transportprotokoll zusammen, z.B. mit HTTP. Das SSLProtokoll kann zur sicheren Datenübertragung verwendet werden. SSL erweitert die Socket-Schnittstelle, welche den Standard-Zugriff auf TCP unter Unix und Windows ermöglicht, so dass seine Sicherheitsmerkmale auch den anderen Anwendungsprotokollen, wie z.B. FTP oder Telnet, zur Verfügung stehen. G-2 Adapter - EAI One V 2.7 EAI One SAP® EAI One EAI One EAI One EAI One ANSI/ISO Standardobjekt Standardobjekte beschreiben die Eigenschaften (Attribute) eines Geschäftsprozesses, z.B. eines Auftrags. Sie beinhalten neben der Bezeichnung auch die grundlegenden Definitionen des Prozesses, z.B. Feldtypen und Feldlängen. Standardobjekte werden laut Namenskonvention in Großbuchstaben und ohne Trennzeichen geschrieben. Den Standardobjekten ist das Protokoll OBJ zugeordnet. Jedes Standardobjekt kann Konvertierungen, Logik und Vorbelegung beinhalten, um die Inhalte der Attribute zu standardisieren. Dabei sind Struktur und Inhalt standardisiert. Transportadapter Transportadapter transportieren Nachrichten ohne sie inhaltlich zu verändern (z.B. Mail, File, SSL). Adapter - EAI One V 2.7 EAI One EAI One G-3 Kapitel G G-4 Adapter - EAI One V 2.7