Skip to main content
Skip table of contents

Funktionsbaustein-/Methodendefinitionen (X4 SAP JCo 3)

Auf dieser Seite erfahren Sie, wie Sie im SAP-Listener zu RFC/BAPis jeweils einen verarbeitenden X4-Prozess zuordnen können.

In einem spezifischen XML-Dokument (z. B. <X4>/X4DB/0/jco_method_def.xml) können Sie für jeden Funktionsbaustein (Methode), der vom SAP-Host angesprochen wird, über den JCo 3 Server einen entsprechenden X4-Prozess zur Weiterverarbeitung zuordnen.

XML-Struktur für die SAP-Listener-Konfiguration

Die SAP-Listener-Konfigurationsdatei <X4><X4>/X4DB/0/saplistener.xml referenziert für jede JCo 3 Server-Instanz jeweils ein XML-Dokument mit Funktionsbaustein-/Methodendefinitionen. Darin können Sie innerhalb des Wurzel-Elements <definitions> beliebig viele Elemente <method> nach folgendem Muster anlegen:

HTML/XML
<method>
  <name>Funktionsbaustein-/Methodenname</name>
    <wait_for_result>Boolescher Wert</wait_for_result>
    <class>de.softproject.integration.sapjcoserver.requesthandlers.
           WorkflowStarter</class>
    <properties>
      <property name="workflowname">Pfad zum X4-Prozess</property>
      <property name="userID">Benutzerordner in X4DB</property>
      <property name="raw">Boolescher Wert</property>
    </properties>
</method>

Für jede Funktionsbaustein-/Methodendefinition gilt:

  • Element <name> enthält den Namen des durch SAP aufgerufenen Funktionsbaustein (Methode); Der Platzhalter * steht für alle anderen Funktionsbausteine , für die kein expliziter Funktionsbaustein definiert wurde. Zudem lassen sich hier Transaktions-Handler definieren (siehe unten).

  • In Element <wait_for_result> können Sie konfigurieren, ob SAP auf die Antwort warten soll (false), oder ob der Funktionsbaustein-/Methodenaufruf asynchron erfolgt (true).

  • Element <class> gibt die verwendete Klasse an, die zur Verarbeitung des Funktionsbausteins (bzw. der Methode) hinterlegt ist (normalerweise ist dies de.softproject.integration.sapjcoserver.requesthandlers.WorkflowStarter zum Starten von X4-Prozessen); in den Kindelementen von <class> geben Sie die zugehörigen Eigenschaften in jeweils einem Element <property> an.

Für die X4-Prozess-Starterklasse werden folgende Eigenschaften angegeben:

  • workflowname: Pfad zum X4-Prozess, der die Verarbeitung des Funktionsbaustein-/Methodenaufrufs übernimmt

  • userID: Repository-Benutzerordner, in dem der X4-Prozess liegt

  • raw: IDoc im Raw-Format verarbeiten (true) oder (false)

Kompatibilitätshinweis

In älteren Funktionsbaustein-/Methodendefinitionen finden sich ggf. zusätzliche Angaben in einem Element <type> und in einem Element <property name="languageID">. Diese besitzen keine Funktion und können daher weggelassen werden.

Hinweis:

Beachten Sie bei der Migration auf JCo 3, dass unter JCo 2 das Attribut name innerhalb des Elementes <property> groß geschrieben wurde. Unter JCo 3 wird dieses klein geschrieben.

Transaktions-Handler für IDocs und BAPI-Aufrufe

In X4 SAP JCo 3 wurde das Transaktions-Handling in die Methodendefinition integriert. Zur Verarbeitung von eingehenden IDocs und BAPI-Aufrufen können Sie wie folgt einen Commit-Handler und einen Rollback-Handler definieren und jeweils einen X4-Prozess zuordnen, indem Sie in jeweils einer der Methodendefinition innerhalb von Element <name> folgende Werte hinterlegen:

  • IDOC+COMMIT: IDoc-Transaktion abschließen (Commit)

  • IDOC+ROLLBACK: IDoc-Transaktion abbrechen und zurücksetzen (Rollback)

  • BAPI+COMMIT: BAPI-Transaktion abschließen (Commit)

  • BAPI+ROLLBACK: BAPI-Transaktion abbrechen und zurücksetzen (Rollback)

Globaler Handler

Falls kein spezifischer Handler zutrifft, können Sie einen globalen Handler definieren, indem Sie in der Methodendefinition in Element <name> als Wert einen Stern (*) eintragen.

Beispiel

Im folgenden Beispiel wird für den Funktionsbaustein (Methode) ORDERS05 der X4-Prozess save_idoc.wrf aufgerufen und es werden Daten im IDoc Raw-Format für die nachgeordnete Verarbeitung bereitgestellt. Zudem wird ein BAPI-Commit-Handler sowie ein globaler Handler ohne zugeordneten X4-Prozess definiert.

HTML/XML
<method>
  <name>ORDERS05</name>
    <wait_for_result>false</wait_for_result>
    <class>de.softproject.integration.sapjcoserver.requesthandlers.
           WorkflowStarter</class>
    <properties>
      <property Name="workflowname">Project/Folder/ProcessIDoc.wrf</property>
      <property Name="userID">1</property>
      <property Name="raw">true</property>
    </properties>
</method>
<method>
      <name>BAPI+COMMIT</name>
      <type>0</type>
      <wait_for_result>false</wait_for_result>
      <class>de.softproject.integration.sapjco3server.requesthandlers.
             WorkflowStarter</class>
      <properties>
         <property name="workflowname">Project/Folder/BAPI_Commit.wrf</property>
         <property name="userID">1</property>
      </properties>
</method>
<method>
      <name>*</name>
      <type>1</type>
      <wait_for_result>false</wait_for_result>
      <class>de.softproject.integration.sapjco3server.requesthandlers.
             WorkflowStarter</class>
      <properties>
      </properties>
</method>
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.