Freigeben über


Empfangen von IDOCs von SAP in einem Transaktionskontext mithilfe von BizTalk Server

Der Empfang von IDOC in einem Transaktionskontext ähnelt dem Empfangen von tRFCs in einem Transaktionskontext. In einem solchen Fall enthält das vom SAP-System empfangene IDOC eine TID als Teil des <TransactionalRfcOperationIdentifier-Elements> . Diese TID wird vom Adapter in einer SQL-Datenbank beibehalten. Wenn der ABAP-Code im SAP-System, das das IDOC sendet, über eine "COMMIT WORK"-Anweisung verfügt, wird die TID aus der SQL-Datenbank gelöscht, nachdem eine Antwort zurück an das SAP-System gesendet wurde.

Die orchestrierung, die zum Empfangen eines IDOC erforderlich ist, ist unabhängig davon, ob das IDOC in einem Transaktionskontext empfangen wird oder nicht, ähnlich. Weitere Informationen finden Sie unter Empfangen von IDOCs von SAP mithilfe von BizTalk Server. Sie müssen jedoch bestimmte zusätzliche Aufgaben ausführen, um sicherzustellen, dass die IDOCs in einem Transaktionskontext empfangen werden.

  1. Generieren Sie zur Entwurfszeit das Schema für ein IDOC, das Sie erhalten möchten.

  2. Stellen Sie zur Laufzeit sicher, dass Sie die Bindungseigenschaft TidDatabaseConnectionString festlegen. Diese Eigenschaft übernimmt die Verbindungszeichenfolge, um eine Verbindung mit einer SQL-Datenbank herzustellen, um die TID zu speichern. Ein Beispiel Verbindungszeichenfolge wie folgt aussehen würde:

    Data Source=<myServerAddress>;Initial Catalog=<myDataBase>;User Id=<myUsername>;Password=<myPassword>;  
    

    Weitere Informationen zur Bindungseigenschaft und zum Festlegen finden Sie unter Informationen zum BizTalk-Adapter für mySAP Business Suite-Bindungseigenschaften.

    Wichtig

    Der BizTalk Adapter Pack-Setup-Assistent installiert das SQL-Skript SapAdapter-DbScript-Install.sql, das vom SQL Server-Administrator ausgeführt werden muss, um eine Datenbank und die Datenbankobjekte in SQL Server zu erstellen. Das Skript wird in der Regel am <Installationslaufwerk>:P Rogram FilesMicrosoft BizTalk Adapter Pack installiert.

    Der SAP-Adapter verwendet diese Objekte, um die TIDs beizubehalten. Daher muss der SQL Server-Administrator sicherstellen, dass der im Rahmen des Verbindungszeichenfolge bereitgestellte Benutzername über ausreichende Berechtigungen zum Ausführen der gespeicherten Prozeduren verfügt. Sie können sich auch für Windows-Authentifizierung entscheiden, sofern der Windows-Benutzer über ausreichende Berechtigungen zum Ausführen gespeicherter Prozeduren in der Datenbank verfügt.

  3. Stellen Sie sicher, dass MSDTC auf dem Computer aktiviert ist, auf dem der Adapter installiert ist. Führen Sie die folgenden Schritte aus, um MSDTC zu aktivieren.

    1. Starten Sie das MMC-Snap-In Component Services.

    2. Erweitern Sie im MMC-Snap-In Komponentendienste im linken Bereich Komponentendienste, erweitern Sie Computer, klicken Sie mit der rechten Maustaste auf Arbeitsplatz, und klicken Sie auf Eigenschaften.

    3. Klicken Sie im Dialogfeld Meine Computereigenschaften auf die Registerkarte MSDTC .

    4. Klicken Sie im Abschnitt Transaktionskonfiguration auf die Schaltfläche Sicherheitskonfiguration .

    5. Aktivieren Sie im Dialogfeld Sicherheitskonfiguration das Kontrollkästchen Netzwerk-DTC-Zugriff , und aktivieren Sie darin das Kontrollkästchen Remoteclients zulassen .

    6. Aktivieren Sie im Abschnitt Transaction Manager-Kommunikation die Kontrollkästchen Eingehenden Datenverkehr zulassen und Ausgehenden Datenverkehr zulassen .

    7. Klicken Sie im Dialogfeld Sicherheitskonfiguration auf OK.

    8. Klicken Sie im Dialogfeld auf Ja , um zu informieren, dass der MSDTC-Dienst neu gestartet wird. Klicken Sie nach dem Neustart des MSDTC-Diensts im Dialogfeld auf OK .

    9. Klicken Sie im Dialogfeld Meine Computereigenschaften auf OK.

  4. Fügen Sie MSDTC zur Ausnahmeliste der Windows-Firewall hinzu, falls sie noch nicht hinzugefügt wurde. Führen Sie den folgenden Befehl aus.

    netsh firewall set allowedprogram %windir%\system32\msdtc.exe MSDTC enable  
    

Weitere Informationen

Entwickeln von BizTalk-Anwendungen