Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Oracle E-Business-Adapter ermittelt eine Reihe von Insert-, Select-, Update- und Delete-Vorgängen in Oracle E-Business Suite-Schnittstellentabellen. Mithilfe dieser Vorgänge können Sie einfache Insert-, Select-, Update- und Delete-Anweisungen ausführen, die durch eine Where-Klausel für eine Zielschnittstellentabelle qualifiziert sind. Dieses Thema enthält Anweisungen zum Ausführen eines Einfügevorgangs für eine Schnittstellentabelle mithilfe des WCF-Kanalmodells.
Weitere Informationen dazu, wie der Adapter diese Vorgänge unterstützt, finden Sie unter Vorgänge für Schnittstellentabellen und Schnittstellensichten. Weitere Informationen zum Ausführen von Vorgängen in Oracle E-Business Suite mithilfe des WCF-Kanalmodells finden Sie unter Übersicht über das WCF-Kanalmodell mit dem Oracle E-Business Suite-Adapter.
Informationen zu den in diesem Thema verwendeten Beispielen
Im Beispiel in diesem Thema werden Vorgänge für die MS_SAMPLE_EMPLOYEE-Schnittstellentabelle ausgeführt. Die Tabelle wird erstellt, indem das mit den Beispielen bereitgestellte Skript ausgeführt wird. Weitere Informationen zu Beispielen finden Sie unter Beispiele für den Oracle EBS-Adapter. Das Beispiel InsertOperation, das auf diesem Thema basiert, wird auch mit den Oracle E-Business-Adapterbeispielen bereitgestellt.
Die Einfügenachricht
Um Vorgänge in der Oracle E-Business Suite mithilfe des WCF-Kanalmodells auszuführen, müssen Sie über die für den Vorgang spezifische Anforderungsnachricht verfügen. Die Anforderungsmeldung zum Ausführen eines Insert-Vorgangs für die MS_SAMPLE_EMPLOYEE-Schnittstellentabelle sieht wie folgt aus:
<Insert xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/InterfaceTables/FND/APPS/MS_SAMPLE_EMPLOYEE">
<RECORDSET>
<InsertRecord xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/TableViewRecord/APPS/MS_SAMPLE_EMPLOYEE">
<EMP_NO>10050</EMP_NO>
<NAME>John Smith</NAME>
<DESIGNATION>Manager</DESIGNATION>
<SALARY>500000</SALARY>
<JOIN_DATE>1999-05-31</JOIN_DATE>
</InsertRecord>
</RECORDSET>
</Insert>
Diese Anforderungsnachricht fügt einen Datensatz mit den folgenden Details ein:
Employee Number = 10050
Name = Tom Smith
Designation = Manager
Salary = 500000
Sie müssen die Nachricht in eine Datei kopieren, z. B. InsertRequest.xml. Diese Datei wird in diesem Beispiel verwendet, um die Anforderungsnachricht mithilfe des Oracle E-Business-Adapters an Oracle E-Business Suite zu senden. Weitere Informationen zum Nachrichtenschema für Vorgänge in der Tabelle finden Sie unter Nachrichtenschemas für Insert-, Update-, Delete- und Select-Vorgänge.
Erstellen einer WCF-Kanalanwendung
Dieser Abschnitt enthält Anweisungen zum Erstellen einer WCF-Kanalanwendung zum Ausführen eines Einfügevorgangs für die MS_SAMPLE_EMPLOYEE-Schnittstellentabelle.
So erstellen Sie eine WCF-Kanalanwendung zum Einfügen von Datensätzen in die Tabelle
Erstellen Sie ein Visual C#-Projekt in Visual Studio. Erstellen Sie für dieses Thema eine Konsolenanwendung.
Fügen Sie im Projektmappen-Explorer Verweis auf
Microsoft.Adapters.OracleEBS
,Microsoft.ServiceModel.Channels
,System.ServiceModel
undSystem.Runtime.Serialization
hinzu.Öffnen Sie die Datei Program.cs, und fügen Sie die folgenden Namespaces hinzu:
Microsoft.Adapters.OracleEBS
Microsoft.ServiceModel.Channels
System.ServiceModel
System.ServiceModel.Channels
System.Xml
Erstellen Sie die Bindung und den Endpunkt.
OracleEBSBinding binding = new OracleEBSBinding(); EndpointAddress address = new EndpointAddress("oracleebs://ebs_instance_name");
Da Sie einen Vorgang für eine Schnittstellentabelle ausführen, müssen Sie den Anwendungskontext festlegen. In diesem Beispiel geben Sie zum Festlegen des Anwendungskontexts die Bindungseigenschaften OracleUserName, OraclePassword und OracleEBSResponsibilityName an. Weitere Informationen zum Anwendungskontext finden Sie unter Festlegen des Anwendungskontexts.
binding.OracleUserName = "myOracleEBSUserName"; binding.OraclePassword = "myOracleEBSPassword"; binding.OracleEBSResponsibilityName = "myOracleEBSResponsibility";
Erstellen und öffnen Sie die Kanalfactory. Diese Anwendung sendet eine Anforderungsnachricht an Oracle E-Business Suite und empfängt eine Antwort. Daher müssen Sie die IRequestChannel-Schnittstelle implementieren.
ChannelFactory<IRequestChannel> factory = new ChannelFactory<IRequestChannel>(binding, address); factory.Credentials.UserName.UserName = "<Enter user name here>"; factory.Credentials.UserName.Password = "<Enter password here>"; factory.Open();
Erstellen und öffnen Sie den Kanal.
IRequestChannel channel; try { channel = factory.CreateChannel(); channel.Open(); } catch (Exception ex) { Console.WriteLine("Exception :" + ex.Message); throw; }
Erstellen und senden Sie die Anforderungsnachricht.
XmlReader readerIn; try { readerIn = XmlReader.Create("InsertRequest.xml"); Console.WriteLine("Reader created"); } catch (Exception ex) { Console.WriteLine("Exception: " + ex.Message); throw; } Message messageIn; Message messageOut; try { messageIn = Message.CreateMessage(MessageVersion.Default, "InterfaceTables/Insert/FND/APPS/MS_SAMPLE_EMPLOYEE", readerIn); messageOut = channel.Request(messageIn); } catch (Exception ex) { Console.WriteLine("Exception: " + ex.Message); throw; }
Beim Erstellen der Anforderungsnachricht müssen Sie die Meldungsaktion angeben, die die Aktion angibt, die der Adapter für die Schnittstellentabelle ausführt. Um einen Einfügevorgang für die MS_SAMPLE_EMPLOYEE Tabelle auszuführen, lautet
InterfaceTables/Insert/FND/APPS/MS_SAMPLE_EMPLOYEE
die Meldungsaktion . Informationen dazu, wie Sie die Nachrichtenaktion für verschiedene Vorgänge in Tabellen bestimmen können, finden Sie unter Nachrichtenschemas für Insert-, Update-, Delete- und Select-Vorgänge.Rufen Sie die Antwortnachricht ab.
XmlReader readerOut = messageOut.GetReaderAtBodyContents(); XmlDocument doc = new XmlDocument(); doc.Load(readerOut); doc.Save("C:\\Response.xml");
Schließen Sie die Nachrichten-, Kanal- und Kanalfactory.
messageOut.Close(); channel.Close(); factory.Close();
Erstellen Sie das Projekt. Nachdem Sie das Projekt erstellt haben, müssen Sie die Anforderungsnachricht InsertRequest.xml am selben Speicherort wie die ausführbare Projektdatei kopieren. In der Regel ist dieser Speicherort \bin\Debug\ in Ihrem Projektverzeichnis.
Führen Sie die Anwendung aus. Die Antwortnachricht Response.xml wird an dem Speicherort gespeichert, den Sie in der Anwendung angegeben haben. Die Antwortnachricht enthält die Anzahl der eingefügten Datensätze und sieht wie folgt aus:
<InsertResponse xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/InterfaceTables/FND/APPS/MS_SAMPLE_EMPLOYEE"> <InsertResult>1</InsertResult> </InsertResponse>
Der Wert "1" gibt an, dass ein einzelner Datensatz in die MS_SAMPLE_EMPLOYEE Tabelle eingefügt wird.
Weitere Informationen
Entwickeln von Oracle E-Business Suite-Anwendungen mithilfe des WCF-Kanalmodells