Abfragen der Oracle E-Business Suite mithilfe der SELECT-Anweisung
Sie können den Oracle E-Business-Adapter für den Empfang regelmäßiger Datenänderungsmeldungen konfigurieren, indem Sie eine SELECT-Anweisung verwenden, um die Schnittstellentabellen, Schnittstellenansichten, Tabellen und Sichten in Oracle E-Business Suite kontinuierlich abzufragen. Sie können eine SELECT-Anweisung als Abruf-Anweisung angeben, die der Adapter in regelmäßigen Abständen ausführt, um Oracle E-Business Suite abzufragen. Sie können auch einen PL/SQL-Codeblock nach dem Abruf angeben, der vom Adapter ausgeführt wird, nachdem die Abruf-Anweisung ausgeführt wurde.
Zum Aktivieren des Abrufs müssen Sie bestimmte Bindungseigenschaften für den WCF-Custom oder WCF-OracleEBS Empfangsport angeben. Weitere Informationen dazu, wie der Adapter Abrufe unterstützt, finden Sie unter Unterstützung für eingehende Anrufe mithilfe von Abrufen. Informationen zur Struktur der SOAP-Nachricht für Abrufvorgänge finden Sie unter Nachrichtenschemas für die Abrufvorgänge.
Konfigurieren eines Abrufvorgangs mit Den Eigenschaften der Oracle E-Business Suite-Adapterbindung
In der folgenden Tabelle sind die Bindungseigenschaften des Oracle E-Business-Adapters zusammengefasst, die Sie zum Konfigurieren des Adapters für den Empfang von Datenänderungsmeldungen verwenden. Sie müssen diese Bindungseigenschaften beim Konfigurieren des Empfangsports in BizTalk Server Verwaltungskonsole angeben.
Binding-Eigenschaft | BESCHREIBUNG |
---|---|
InboundOperationType | Gibt an, ob Sie eingehende Abfragen oder Benachrichtigungen ausführen möchten. Der Standardwert ist Polling. |
PolledDataAvailableStatement | Gibt die SQL-Anweisung an, die der Adapter ausführt, um zu bestimmen, ob Daten zum Abruf verfügbar sind. Nur wenn ein Datensatz verfügbar ist, wird die SELECT-Anweisung ausgeführt, die Sie für die PollingInput-Bindungseigenschaft angeben. |
PollingInterval | Gibt das Intervall in Sekunden an, in dem der Oracle E-Business-Adapter die anweisung ausführt, die für die Bindungseigenschaft PolledDataAvailableStatement angegeben ist. Der Standardwert ist 30 Sekunden. Das Abrufintervall bestimmt das Zeitintervall zwischen aufeinander folgenden Umfragen. Wenn die Anweisung innerhalb des angegebenen Intervalls ausgeführt wird, wird der Adapter für die verbleibende Zeit im Intervall in den Standbymodus versetzt. |
PollingInput | Gibt die Abruf-Anweisung an. Um mit einer SELECT-Anweisung abzufragen, müssen Sie eine SELECT-Anweisung für diese Bindungseigenschaft angeben. Der Standardwert ist NULL. Sie müssen einen Wert für die PollingInput-Bindungseigenschaft angeben, um die Abfrage zu aktivieren. Die Abrufanweisung wird nur ausgeführt, wenn Daten für den Abruf verfügbar sind, was durch die Bindungseigenschaft PolledDataAvailableStatement bestimmt wird. |
PollingAction | Gibt die Aktion für den Abrufvorgang an. Sie können die Abrufaktion für einen bestimmten Vorgang anhand der Metadaten ermitteln, die Sie für den Vorgang mithilfe des Add-Ins Adapterdienst nutzen generieren. |
PostPollStatement | Gibt einen Anweisungsblock an, der ausgeführt wird, nachdem die durch die PollingInput-Bindungseigenschaft angegebene Anweisung ausgeführt wurde. |
PollWhileDataFound | Gibt an, ob der Oracle E-Business-Adapter das Abrufintervall ignoriert und die Abrufanweisungen kontinuierlich ausführt, wenn Daten in der abgerufenen Tabelle verfügbar sind. Wenn in der Tabelle keine Daten verfügbar sind, wird der Adapter zurückgesetzt, um die Abruf-Anweisung im angegebenen Abrufintervall auszuführen. Der Standardwert ist "false". |
Eine ausführlichere Beschreibung dieser Eigenschaften finden Sie unter Informationen zu den Bindungseigenschaften des BizTalk-Adapters für Oracle E-Business Suite. Eine vollständige Beschreibung der Verwendung des Oracle E-Business-Adapters zum Abfragen der Oracle-Datenbank finden Sie weiter.
In diesem Thema wird die Abfrage veranschaulicht.
Um in diesem Thema zu veranschaulichen, wie der Oracle E-Business-Adapter das Empfangen von Datenänderungsmeldungen mithilfe von SELECT-Anweisungen unterstützt, erstellen Sie ein BizTalk-Projekt, und generieren Sie ein Schema für den Abfragevorgang für die Tabelle, die Sie abfragen möchten. In diesem Thema generieren wir ein Schema für den Abrufvorgang für die MS_SAMPLE_EMPLOYEE-Schnittstellentabelle in der Anwendung Application Object Library . Diese Tabelle wird erstellt, wenn Sie das skript create_apps_artifacts.sql ausführen, das mit den Beispielen bereitgestellt wird, um diese Objekte in Oracle E-Business Suite zu erstellen.
Als Nächstes verwenden wir inhaltsbasiertes Routing (Content-Based Routing, CBR) in BizTalk Server, um eine Anwendung mit einem Empfangsport zu konfigurieren, der Abrufnachrichten aus der MS_SAMPLE_EMPLOYEE Schnittstellentabelle empfängt, und leiten sie dann an einen Sendeport weiter. In diesem Fall erstellen wir einen Filter für den Sendeport, der den angegebenen Empfangsspeicherort überprüft, und die Nachricht wird an den Sendeport weitergeleitet.
Um einen Abrufvorgang zu veranschaulichen, führen wir die folgenden Schritte aus:
Geben Sie eine SELECT-Anweisung für die Bindungseigenschaft PolledDataAvailableStatement an, um zu bestimmen, wo die abzufragende Schnittstellentabelle (MS_SAMPLE_EMPLOYEE) Daten enthält. In diesem Beispiel können Sie diese Bindungseigenschaft wie folgt festlegen:
SELECT COUNT (*) FROM MS_SAMPLE_EMPLOYEE
Dadurch wird sichergestellt, dass der Adapter die Abruf-Anweisung nur ausführt, wenn die MS_SAMPLE_EMPLOYEE-Schnittstellentabelle einige Datensätze enthält.
Geben Sie eine SELECT-Anweisung für die PollingInput-Bindungseigenschaft an. Diese Anweisung ruft alle Zeilen in der MS_SAMPLE_EMPLOYEE-Schnittstellentabelle ab. In diesem Beispiel können Sie diese Bindungseigenschaft wie folgt festlegen:
SELECT * FROM MS_SAMPLE_EMPLOYEE FOR UPDATE
Hinweis
Informationen zur FOR UPDATE-Klausel, die in der SELECT-Anweisung verwendet wird, finden Sie unter Abfragen der Oracle E-Business Suite mithilfe der SELECT-Anweisung.
Geben Sie eine DELETE-Anweisung als Teil der PostPollStatement-Bindungseigenschaft an. Diese Anweisung löscht alle Daten aus MS_SAMPLE_EMPLOYEE Schnittstellentabelle. In diesem Beispiel können Sie diese Bindungseigenschaft wie folgt festlegen:
DELETE FROM MS_SAMPLE_EMPLOYEE
Sobald dies geschieht, ruft die für PollingInput angegebene Anweisung das nächste Mal keine Daten ab.
Bis der MS_SAMPLE_EMPLOYEE-Schnittstellentabelle weitere Daten hinzugefügt werden, erhalten Sie keine Abrufmeldungen. Daher müssen Sie die MS_SAMPLE_EMPLOYEE-Schnittstellentabelle erneut mit neuen Datensätzen auffüllen. Hierzu können Sie das skript insert_apps_data.sql ausführen, das mit den Beispielen bereitgestellt wird. Nachdem Sie dieses Skript ausgeführt haben, ruft der nächste Abrufvorgang die neuen Datensätze ab, die in die Tabelle eingefügt wurden.
Empfangen von Datenänderungsnachrichten aus der Oracle E-Business Suite
Das Ausführen eines Vorgangs für Oracle-Datenbank mithilfe des Oracle E-Business-Adapters mit BizTalk Server umfasst die folgenden prozeduralen Aufgaben, die unter Bausteine zum Erstellen von Oracle E-Business Suite-Anwendungen beschrieben werden. Um den Adapter so zu konfigurieren, dass oracle E-Business Suite mithilfe einer SELECT-Anweisung abgerufen wird, lauten die folgenden Aufgaben:
Erstellen Sie ein BizTalk-Projekt, und generieren Sie ein Schema für den Abfragevorgang für die Schnittstellentabelle, die Sie abfragen möchten.
Erstellen sie das BizTalk-Projekt, und stellen Sie es bereit.
Konfigurieren Sie die BizTalk-Anwendung, indem Sie Empfangs- und Sendeports erstellen. Fügen Sie außerdem filter für den Sendeport hinzu, damit der im Empfangsport angegebene Empfangsspeicherort überprüft und die abrufende Nachricht an den Sendeport weitergeleitet wird.
Wichtig
Für Szenarien für eingehende Abrufe müssen Sie immer einen unidirektionale Empfangsport konfigurieren. Bidirektionale Empfangsports werden für eingehende Vorgänge nicht unterstützt.
Starten Sie die BizTalk-Anwendung.
Dieses Thema enthält Anweisungen zum Ausführen dieser Aufgaben.
Beispiel basierend auf diesem Thema
Ein Beispiel, PollingUsingSelectStatement, das auf diesem Thema basiert, wird auch mit dem BizTalk-Adapterpaket bereitgestellt. Weitere Informationen finden Sie unter Beispiele.
Generieren eines Schemas
Sie müssen das Schema für den Abrufvorgang für die MS_SAMPLE_EMPLOYEE-Schnittstellentabelle in der Anwendung Application Object Library generieren. Führen Sie die folgenden Aufgaben aus, während Sie das Schema mithilfe des Adapterdienst-Add-Ins nutzen generieren.
Wählen Sie den Vertragstyp als Dienst (eingehender Vorgang) aus.
Generieren Sie ein Schema für den Abfragevorgang für die MS_SAMPLE_EMPLOYEE-Schnittstellentabelle. Sie können den Vorgang und die Schnittstellentabelle entweder im Knoten Anwendungsbasierte Ansicht oder im Knoten Artefaktbasierte Ansicht auswählen.
Weitere Informationen zum Generieren von Schemas finden Sie unter Durchsuchen, Suchen und Abrufen von Metadaten für Oracle E-Business Suite-Vorgänge.
Erstellen und Bereitstellen des BizTalk-Projekts
Sie müssen nun die BizTalk-Lösung erstellen und in einem BizTalk Server bereitstellen. Informationen zum Bereitstellen der Lösung für BizTalk Server finden Sie unter Bereitstellen von BizTalk-Assemblys aus Visual Studio in einer BizTalk-Anwendung.
Konfigurieren der BizTalk-Anwendung
Nachdem Sie das BizTalk-Projekt bereitgestellt haben, wird die Anwendung unter dem Knoten Anwendungen in der BizTalk Server-Verwaltungskonsole aufgeführt. Sie müssen die BizTalk Server-Verwaltungskonsole verwenden, um die Anwendung zu konfigurieren. Im Rahmen der Konfiguration der Anwendung müssen Sie einen Empfangs- und einen Sendeport in der Anwendung erstellen und dann dem Sendeport Filter hinzufügen, damit alle Nachrichten vom Empfangsport an den Sendeport weitergeleitet werden.
Das Konfigurieren einer Anwendung umfasst Folgendes:
Auswählen eines Hosts für die Anwendung.
Erstellen von Empfangs- und Sendeports.
Erstellen eines Empfangsports
Sie müssen einen WCF-Custom oder WCF-OracleEBS unidirektionale Empfangsport erstellen, der Oracle mithilfe der SELECT-Anweisung abruft, die für die PollingInput-Bindungseigenschaft angegeben ist. Informationen zum Erstellen von Empfangsports finden Sie unter Manuelles Konfigurieren einer physischen Portbindung an den Oracle E-Business-Adapter. Stellen Sie beim Erstellen des Empfangsports sicher, dass Sie die folgenden Bindungseigenschaften angeben.
Für Die Abfrage
Bindungseigenschaft | Wert |
---|---|
InboundOperationType | Legen Sie dies auf Polling fest. |
PolledDataAvailableStatement | Legen Sie für dieses Beispiel diese Bindungseigenschaft auf fest:SELECT COUNT (*) FROM MS_SAMPLE_EMPLOYEE |
PollingAction | Rufen Sie die Abrufaktion aus dem Schema ab, das für den Abfragevorgang für MS_SAMPLE_EMPLOYEE Schnittstellentabelle generiert wurde. Legen Sie in diesem Beispiel diese Bindungseigenschaft auf InterfaceTables/Poll/FND/APPS/MS_SAMPLE_EMPLOYEE fest. |
PollingInput | Geben Sie für diese Bindungseigenschaft eine SELECT-Anweisung an, um alle Datensätze aus der MS_SAMPLE_EMPLOYEE-Schnittstellentabelle abzurufen. Legen Sie für dieses Beispiel diese Bindungseigenschaft auf fest:SELECT * FROM MS_SAMPLE_EMPLOYEE FOR UPDATE |
PostPollStatement | Geben Sie die Anweisung nach der Abfrage an, um alle Daten aus der MS_SAMPLE_EMPLOYEE-Schnittstellentabelle zu löschen. Legen Sie für dieses Beispiel diese Bindungseigenschaft auf fest:DELETE FROM MS_SAMPLE_EMPLOYEE |
Zum Festlegen des Anwendungskontexts
Wenn Sie Vorgänge für Oracle E-Business Suite-Artefakte ausführen, müssen Sie Werte für die entsprechenden Bindungseigenschaften angeben, um den Anwendungskontext festzulegen. Weitere Informationen zum Anwendungskontext und zu den Bindungseigenschaften, die zum Festlegen des Anwendungskontexts erforderlich sind, finden Sie unter Festlegen des Anwendungskontexts.
Geben Sie in diesem Beispiel die entsprechenden Werte für die Bindungseigenschaften oracleUserName, oraclePassword und oracleEBSResponsibility an.
Hinweis
Es wird empfohlen, die Transaktionsisolationsstufe und das Transaktionstimeout zu konfigurieren, während eingehende Vorgänge mithilfe des Oracle E-Business-Adapters ausgeführt werden. Dazu können Sie das Dienstverhalten beim Konfigurieren des Empfangsports hinzufügen. Anweisungen zum Hinzufügen des Dienstverhaltens finden Sie unter Konfigurieren der Transaktionsisolationsstufe und des Transaktionstimeouts mit Oracle E-Business Suite.
Erstellen eines Sendeports
Definieren Sie einen Speicherort auf der Festplatte, und erstellen Sie einen entsprechenden FILE-Sendeport, an dem BizTalk Server die Nachrichten von Oracle ablegen. Diese Meldungen reagieren auf die Abfrage-Anweisung, die Sie für den Empfangsport angeben. Informationen zum Erstellen von Sendeports finden Sie unter Manuelles Konfigurieren einer physischen Portbindung an den Oracle E-Business-Adapter.
Sie müssen auch einen Filter für den Sendeport hinzufügen, um Nachrichten vom Empfangsspeicherort weiterzuleiten. So fügen Sie dem Sendeport Filter hinzu:
Doppelklicken Sie auf den Sendeport, um das Dialogfeld Porteigenschaften senden zu öffnen.
Klicken Sie im Dialogfeld Porteigenschaften senden auf die Registerkarte Filter .
Geben Sie die folgenden Werte an:
Klicken Sie in der Liste Eigenschaften auf BTS. ReceivePortName.
Klicken Sie in der Liste Operator auf ==.
Geben Sie im Feld Wert den Namen des Empfangsports an.
Klicken Sie im Dialogfeld Porteigenschaften senden auf OK.
Starten der Anwendung
Sie müssen die BizTalk-Anwendung zum Abfragen von Oracle E-Business Suite starten. Anweisungen zum Starten einer BizTalk-Anwendung finden Sie unter Starten einer Orchestrierung.
Stellen Sie in dieser Phase Folgendes sicher:
Der WCF-Custom oder WCF-OracleEBS unidirektionalen Empfangsport, der Oracle mithilfe der SELECT-Anweisung abruft, die für die PollingInput-Bindungseigenschaft angegeben ist.
Der FILE-Sendeport, der Nachrichten aus der Oracle-Datenbank empfängt, wird ausgeführt.
Ausführen des Vorgangs
Nachdem Sie die Anwendung ausgeführt haben, finden die folgenden Aktionen in derselben Reihenfolge statt:
Der Adapter führt das PolledDataAvailableStatement aus, das einen positiven Wert zurückgibt, der den Adapter angibt, um die für die PollingInput-Bindungseigenschaft angegebene Anweisung auszuführen.
Der Adapter führt die SELECT-Anweisung für die PollingInput-Bindungseigenschaft aus und gibt alle Zeilen in der MS_SAMPLE_EMPLOYEE-Schnittstellentabelle zurück. Die Antwort von Oracle E-Business Suite ähnelt der folgenden:
<?xml version="1.0" encoding="utf-8" ?> <Poll xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/InterfaceTables/FND/APPS/MS_SAMPLE_EMPLOYEE"> <DATA> <SelectRecord xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/TableViewRecord/APPS/MS_SAMPLE_EMPLOYEE"> <EMP_NO>10002</EMP_NO> <NAME>JEFF PRICE</NAME> <DESIGNATION>MANAGER</DESIGNATION> <SALARY>25000</SALARY> <JOIN_DATE>2007-12-15T00:00:00</JOIN_DATE> </SelectRecord> <SelectRecord xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/TableViewRecord/APPS/MS_SAMPLE_EMPLOYEE"> <EMP_NO>10003</EMP_NO> <NAME>DON HALL</NAME> <DESIGNATION>ACCOUNTANT</DESIGNATION> <SALARY>12000</SALARY> <JOIN_DATE>2005-10-29T00:00:00</JOIN_DATE> </SelectRecord> … <SelectRecord xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/TableViewRecord/APPS/MS_SAMPLE_EMPLOYEE"> … </SelectRecord> … </DATA> </Poll>
Der Adapter führt die Post-Poll-Anweisung aus, die alle Daten aus MS_SAMPLE_EMPLOYEE Schnittstellentabelle löscht.
Nach dem Abrufintervall führt der Adapter polledDataAvailableStatement erneut aus. Da die MS_SAMPLE_EMPLOYEE-Schnittstellentabelle jetzt keine Datensätze enthält, gibt PolledDataAvailableStatement keinen positiven Wert zurück, sodass der Adapter die für die PollingInput-Bindungseigenschaft angegebene Anweisung nicht ausführt. Daher erhält der Adapterclient keine Abrufmeldung.
Der Adapterclient erhält keine weiteren Abrufnachrichten, bis einige Datensätze explizit in die MS_SAMPLE_EMPLOYEE-Schnittstellentabelle eingefügt wurden. Um weitere Datensätze einzufügen, können Sie das mit den Beispielen bereitgestellte skript insert_apps_data.sql ausführen. Nachdem Sie dieses Skript ausgeführt haben, wird bei der nächsten Ausführung von PolledDataAvailableStatement ein positiver Wert zurückgegeben. Daraufhin führt der Adapter die Abfrage-Anweisung aus, und adapterclients erhalten erneut eine Abrufmeldung.
Hinweis
Der Oracle E-Business-Adapter ruft weiterhin ab, bis Sie den Empfangsport von der BizTalk Server-Verwaltungskonsole explizit deaktivieren.
Bewährte Methoden
Nachdem Sie das BizTalk-Projekt bereitgestellt und konfiguriert haben, können Sie Konfigurationseinstellungen in eine XML-Datei namens bindungsdatei exportieren. Nachdem Sie eine Bindungsdatei generiert haben, können Sie die Konfigurationseinstellungen aus der Datei importieren, sodass Sie die Sende- und Empfangsports nicht erstellen müssen. Weitere Informationen zu Bindungsdateien finden Sie unter Wiederverwenden von Adapterbindungen mit Oracle E-Business Suite.