Skip to main content
Skip table of contents

SAP Connector (JCo 3)

Dieser Adapter ermöglicht die Übermittlung von Daten vom X4 ESB an ein SAP R/3-System. Er erzeugt einen beliebigen Remote Function Call (RFC) bzw. ruft einen beliebigen BAPI-Funktionsbaustein in einem SAP-System via JCo 3 auf. Zudem können IDocs an einen SAP-Host gesendet werden.

Hinweise zur Installation

Eine Anleitung zum manuellen Installieren von Adaptern und Plugins finden Sie unter Adapter und Plugins manuell installieren.

Beachten Sie für die Installation des SAP Connectors (JCo3) zusätzlich folgende Schritte:

ERP-Adapter konfigurieren

  1. Kopieren Sie folgende Datei in das Verzeichnis:
    <Serververzeichnis>\wildfly\modules\de\softproject\x4\adapter\erp\main\:

    • de.softproject.x4.adapter.erp-7.4.4.jar

  2. Stellen Sie sicher, dass die Datei module.xml im Verzeichnis <Serververzeichnis>\wildfly\modules\de\softproject\x4\adapter\erp\main\ wie folgt aussieht:

CODE
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<module xmlns="urn:jboss:module:1.1" name="de.softproject.x4.adapter.erp">
    <resources>
        <resource-root path="de.softproject.x4.adapter.erp-7.4.4.jar"/>
    </resources>
    <dependencies>
        <module name="private.de.softproject.x4.adapter.erp" export="false" optional="false"/>
        <module name="de.softproject.x4.shared.jco" export="false" optional="false"/>
    </dependencies>
</module>

JCo3-Bibliotheken konfigurieren

  1. Kopieren Sie eine der folgenden Dateien in das Verzeichnis \Server\jdk\lib\:

    • libsapjco3.so (Linux)

    • sapjco3.dll (Windows)

  2. Kopieren Sie die folgenden Dateien in das Verzeichnis <Serververzeichnis>\wildfly\modules\de\softproject\x4\shared\jco\main\:

    • de.softproject.x4.shared.jco-7.4.4.jar

    • sapidoc3.jar

    • sapjco3.jar

  3. Stellen Sie sicher, dass die Datei module.xml im Verzeichnis <Serververzeichnis>\wildfly\modules\de\softproject\x4\shared\jco\main\ wie folgt aussieht:

XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<module xmlns="urn:jboss:module:1.1" name="de.softproject.x4.shared.jco"> 
  <resources> 
    <resource-root path="de.softproject.x4.shared.jco-7.4.4.jar"/>
    <resource-root path="sapidoc3.jar"/>
    <resource-root path="sapjco3.jar"/>
  </resources>
  <dependencies>
    <module name="private.de.softproject.x4.shared.jco" export="false" optional="false"/>
    <module name="de.softproject.x4.client" export="true" optional="false"/>
  </dependencies>
</module> 
  1. Speichern Sie alle Änderungen und starten Sie anschließend Keycloak, den X4 Server und den X4 Designer neu.
    Danach steht der SAP Connector (JCo 3) im X4 Designer zur Verfügung.

Eigenschaften (Properties)

Operation

Bestimmt, welche Operation der Funktions-Adapter durchführt

Mögliche Werte: Execute: Funktions-Adapter ausführen


Parameter

Adapter

Hauptklasse des Adapters (nicht verändern!)

Mögliche Werte: de.softproject.integration.adapter.sapjco3.SAPAdapter: Hauptklasse (Standard)

PropertyFile

URL zur Konfigurationsdatei für den Adapter

Mögliche Werte: Beliebige innerhalb der Java-VM gültige URL (z.B. xstore://Project/Folder/Configuration.properties)

ReplaceEscapedControlChars

Maskierte Steuerzeichen (z.B.: &#31;) in den von der JCo-Bibliothek zurückgegebenen XML-Strings durch das Ersetzungszeichen austauschen:

Mögliche Werte:

  • true: Maskierte Steuerzeichen ersetzen

  • false: Maskierte Steuerzeichen nicht ersetzen

Statuswerte

1

Die Operation wurde erfolgreich ausgeführt.

-1

Die Operation ist aufgrund eines technischen Fehlers fehlgeschlagen.

RFC/BAPI aufrufen

Input

Der Adapter erwartet ein Input-XML-Dokument nach folgendem Muster, das den entsprechenden Funktionsbaustein ggf. mit Inputdaten und den betroffenen Tabellen aufruft:

HTML/XML
<X4SAP>
 <bapicall name="BAPI-Name" id="IDoc-ID">
   <input>
      <INPUT>
         <!--Parameter und Parameterwerte-->
      </INPUT>
   </input>
   <table>
      (Tabellen)
   </table>
 </bapicall>
</X4SAP>


Beispiel

Um BAPI IDOCTYPE_READ_COMPLETE in SAP aufzurufen erwartet dieser Adapter folgendes Input-XML-Dokument:

HTML/XML
<X4SAP>
 <bapicall name="IDOCTYPE_READ_COMPLETE" id="IDoc-ID">
   <input>
      <INPUT>
         <PI_CIMTYP />
         <PI_IDOCTYP> <!--IDoc-Typ--> </PI_IDOCTYP>
         <PI_RELEASE>SY-S</PI_RELEASE>
         <PI_VERSION>3</PI_VERSION>
      </INPUT>
   </input>
   <table>
      <TABLES>
         <PT_FIELDS>
            <SEGMENTTYP />
            <FIELDNAME />
            <INTLEN />
            <EXTLEN />
            <FIELD_POS />
            <BYTE_FIRST />
            <BYTE_LAST />
            <ROLLNAME />
            <DOMNAME />
            <DATATYPE />
            <DESCRP />
            <ISOCODE />
            <VALUETAB />
         </PT_FIELDS>
         <PT_FVALUES>
            <STRNAME />
            <FIELDNAME />
            <FLDVALUE_L />
            <FLDVALUE_H />
            <DESCRP />
         </PT_FVALUES>
         <PT_MESSAGES>
            <MESTYP />
            <DESCRP />
            <IDOCTYP />
            <CIMTYP />
            <RELEASED />
         </PT_MESSAGES>
         <PT_SEGMENTS>
            <NR />
            <SEGMENTTYP />
            <SEGMENTDEF />
            <QUALIFIER />
            <SEGLEN />
            <PARSEG />
            <PARPNO />
            <PARFLG />
            <MUSTFL />
            <OCCMIN />
            <OCCMAX />
            <HLEVEL />
            <DESCRP />
            <GRP_MUSTFL />
            <GRP_OCCMIN />
            <GRP_OCCMAX />
            <REFSEGTYP />
         </PT_SEGMENTS>
      </TABLES>
   </table>
 </bapicall>
</X4SAP>

IDoc senden

Um ein IDoc an SAP zu senden, ein XML-Dokument wie das folgende als Input für den Adapter verwenden:

HTML/XML
<X4SAP>
   <X4IDoc type="MATMAS02" description="">
      <X4Mandatory>
         <X4RecipientPartnerType>LS</X4RecipientPartnerType>
         <X4RecipientPartnerNumber>X4_T</X4RecipientPartnerNumber>
         <X4RecipientPartnerFunction />
         <X4SenderPort>SAPT01</X4SenderPort>
         <X4SenderPartnerType>LS</X4SenderPartnerType>
         <X4SenderPartnerNumber>ST01_200</X4SenderPartnerNumber>
         <X4SenderPartnerFunction />
         <X4SenderAddress />
         <X4SenderLogicalAddress />
         <MessageType>
            <MSGTYPE>MATMAS02</MSGTYPE>
         </MessageType>
      </X4Mandatory>
      <X4Structure>
<MATMAS02>
    <IDOC BEGIN="1">
        <EDI_DC40 SEGMENT="1">
            <TABNAM>EDI_DC40</TABNAM>
            <MANDT/>
            <DOCNUM/>
            <DOCREL/>
            <STATUS/>
            <DIRECT/>
            <OUTMOD/>
            <EXPRSS/>
            <TEST/>
            <IDOCTYP>MATMAS02</IDOCTYP>
            <CIMTYP/>
            <MESTYP>MATMAS</MESTYP>
            <MESCOD/>
            <MESFCT/>
            <STD/>
            <STDVRS/>
            <STDMES/>
            <SNDPOR>SAPJCOIDOC</SNDPOR>
            <SNDPRT>LS</SNDPRT>
            <SNDPFC/>
            <SNDPRN>JCOCLNT000</SNDPRN>
            <SNDSAD/>
            <SNDLAD/>
            <RCVPOR/>
            <RCVPRT>LS</RCVPRT>
            <RCVPFC/>
            <RCVPRN>TSTCLNT000</RCVPRN>
            <RCVSAD/>
            <RCVLAD/>
            <CREDAT>20050519</CREDAT>
            <CRETIM>104537</CRETIM>
            <REFINT/>
            <REFGRP/>
            <REFMES/>
            <ARCKEY/>
            <SERIAL/>
        </EDI_DC40>
        <E1MARAM SEGMENT="1">
            <MSGFN>005</MSGFN>
            <MATNR>BOXCOOKIES</MATNR>
            <ERSDA>20020801</ERSDA>
            <ERNAM>TIGGER</ERNAM>
            <LAEDA/>
            <AENAM/>
            <PSTAT>KBG</PSTAT>
            <LVORM/>
            <MTART>FERT</MTART>
            <MBRSH>L</MBRSH>
            <MATKL>G1113</MATKL>
            <BISMT/>
            <MEINS>PCE</MEINS>
            <BSTME/>
            <ZEINR/>
            <ZEIAR/>
            <ZEIVR/>
            <ZEIFO/>
            <AESZN/>
            <BLATT/>
            <BLANZ>000</BLANZ>
            <FERTH/>
            <FORMT/>
            <GROES/>
            <WRKST/>
            <NORMT/>
            <LABOR/>
            <EKWSL/>
            <BRGEW>0.550</BRGEW>
            <NTGEW>0.000</NTGEW>
            <GEWEI>KGM</GEWEI>
            <VOLUM/>
            <VOLEH/>
            <BEHVO/>
            <RAUBE/>
            <TEMPB/>
            <TRAGR/>
            <STOFF/>
            <SPART/>
            <KUNNR/>
            <WESCH/>
            <BWVOR/>
            <BWSCL/>
            <SAISO/>
            <ETIAR/>
            <ETIFO/>
            <EAN11/>
            <NUMTP/>
            <LAENG/>
            <BREIT/>
            <HOEHE/>
            <MEABM/>
            <PRDHA/>
            <CADKZ/>
            <ERGEW/>
            <ERGEI/>
            <ERVOL/>
            <ERVOE/>
            <GEWTO/>
            <VOLTO/>
            <VABME/>
            <KZKFG/>
            <XCHPF/>
            <VHART/>
            <FUELG/>
            <STFAK/>
            <MAGRV/>
            <BEGRU/>
            <QMPUR/>
            <RBNRM/>
            <MHDRZ/>
            <MHDHB/>
            <MHDLP/>
            <VPSTA>KBG</VPSTA>
            <EXTWG/>
            <MSTAE/>
            <MSTAV/>
            <MSTDE/>
            <MSTDV/>
            <KZUMW/>
            <KOSCH/>
            <NRFHG/>
            <MFRPN/>
            <MFRNR/>
            <BMATN/>
            <MPROF/>
            <PROFL/>
            <IHIVI/>
            <ILOOS/>
            <KZGVH/>
            <XGCHP/>
            <COMPL/>
            <KZEFF/>
            <RDMHD/>
            <IPRKZ/>
            <PRZUS/>
            <MTPOS_MARA/>
            <GEWTO_NEW/>
            <VOLTO_NEW/>
            <WRKST_NEW/>
            <AENNR/>
            <MATFI/>
            <CMREL/>
            <SATNR/>
            <SLED_BBD/>
            <GTIN_VARIANT/>
            <GENNR/>
            <SERLV/>
            <RMATP/>
            <E1MAKTM SEGMENT="1">
                <MSGFN>005</MSGFN>
                <SPRAS>D</SPRAS>
                <MAKTX>Schachtel mit Keksen</MAKTX>
                <SPRAS_ISO>DE</SPRAS_ISO>
            </E1MAKTM>
            <E1MAKTM SEGMENT="1">
                <MSGFN>005</MSGFN>
                <SPRAS>E</SPRAS>
                <MAKTX>Box of cookies</MAKTX>
                <SPRAS_ISO>EN</SPRAS_ISO>
            </E1MAKTM>
            <E1MARCM SEGMENT="1">
                <MSGFN>005</MSGFN>
                <WERKS>0001</WERKS>
                <PSTAT>BG</PSTAT>
                <LVORM/>
                <BWTTY/>
                <MAABC/>
                <KZKRI/>
                <EKGRP/>
                <AUSME/>
                <DISPR/>
                <DISMM/>
                <DISPO/>
                <PLIFZ>0</PLIFZ>
                <WEBAZ>0</WEBAZ>
                <PERKZ>M</PERKZ>
                <AUSSS>0.00</AUSSS>
                <DISLS/>
                <BESKZ>E</BESKZ>
                <SOBSL/>
                <MINBE/>
                <EISBE/>
                <BSTMI/>
                <BSTMA/>
                <BSTFE/>
                <BSTRF/>
                <MABST/>
                <LOSFX/>
                <SBDKZ/>
                <LAGPR/>
                <ALTSL/>
                <KZAUS/>
                <AUSDT/>
                <NFMAT/>
                <KZBED/>
                <MISKZ/>
                <FHORI/>
                <PFREI/>
                <FFREI/>
                <RGEKZ/>
                <FEVOR/>
                <BEARZ/>
                <RUEZT/>
                <TRANZ/>
                <BASMG/>
                <DZEIT/>
                <MAXLZ/>
                <LZEIH/>
                <KZPRO/>
                <GPMKZ/>
                <UEETO/>
                <UEETK/>
                <UNETO/>
                <WZEIT/>
                <ATPKZ/>
                <VZUSL/>
                <HERBL/>
                <INSMK/>
                <SSQSS/>
                <KZDKZ/>
                <UMLMC/>
                <LADGR/>
                <XCHPF/>
                <USEQU/>
                <LGRAD/>
                <AUFTL/>
                <PLVAR/>
                <OTYPE/>
                <OBJID/>
                <MTVFP/>
                <PERIV/>
                <KZKFK/>
                <VRVEZ/>
                <VBAMG/>
                <VBEAZ/>
                <LIZYK/>
                <BWSCL/>
                <KAUTB/>
                <KORDB/>
                <STAWN/>
                <HERKL/>
                <HERKR/>
                <EXPME/>
                <MTVER/>
                <PRCTR/>
                <TRAME/>
                <MRPPP/>
                <SAUFT/>
                <FXHOR/>
                <VRMOD/>
                <VINT1/>
                <VINT2/>
                <STLAL/>
                <STLAN/>
                <PLNNR/>
                <APLAL/>
                <LOSGR/>
                <SOBSK/>
                <FRTME/>
                <LGPRO/>
                <DISGR/>
                <KAUSF/>
                <QZGTP/>
                <TAKZT/>
                <RWPRO/>
                <COPAM/>
                <ABCIN/>
                <AWSLS/>
                <SERNP/>
                <STDPD/>
                <SFEPR/>
                <XMCNG/>
                <QSSYS/>
                <LFRHY/>
                <RDPRF/>
                <VRBMT/>
                <VRBWK/>
                <VRBDT/>
                <VRBFK/>
                <AUTRU>X</AUTRU>
                <PREFE/>
                <PRENC/>
                <PRENO/>
                <PREND/>
                <PRENE/>
                <PRENG/>
                <ITARK/>
                <PRFRQ/>
                <KZKUP/>
                <STRGR/>
                <LGFSB/>
                <SCHGT/>
                <CCFIX/>
                <EPRIO/>
                <QMATA/>
                <PLNTY/>
                <MMSTA/>
                <SFCPF/>
                <SHFLG/>
                <SHZET/>
                <MDACH/>
                <KZECH/>
                <MMSTD/>
                <MFRGR/>
                <FVIDK/>
                <INDUS/>
                <MOWNR/>
                <MOGRU/>
                <CASNR/>
                <GPNUM/>
                <STEUC/>
                <FABKZ/>
                <MATGR/>
                <LOGGR/>
                <VSPVB/>
                <DPLFS/>
                <DPLPU/>
                <DPLHO/>
                <MINLS/>
                <MAXLS/>
                <FIXLS/>
                <LTINC/>
                <COMPL/>
                <CONVT/>
                <FPRFM/>
                <SHPRO/>
                <FXPRU/>
                <KZPSP/>
                <OCMPF/>
                <APOKZ/>
                <AHDIS/>
                <EISLO/>
                <NCOST/>
                <MEGRU/>
                <ROTATION_DATE/>
                <UCHKZ/>
                <UCMAT/>
            </E1MARCM>
            <E1MBEWM SEGMENT="1">
                <MSGFN>005</MSGFN>
                <BWKEY>0001</BWKEY>
                <BWTAR/>
                <LVORM/>
                <VPRSV>S</VPRSV>
                <VERPR>0.00</VERPR>
                <STPRS>15.50</STPRS>
                <PEINH>1</PEINH>
                <BKLAS>7920</BKLAS>
                <VMVPR/>
                <VMVER/>
                <VMSTP/>
                <VMPEI/>
                <VMBKL/>
                <VJVPR>S</VJVPR>
                <VJVER>0.00</VJVER>
                <VJSTP>15.50</VJSTP>
                <LFGJA>2002</LFGJA>
                <LFMON>08</LFMON>
                <BWTTY/>
                <ZKPRS/>
                <ZKDAT/>
                <BWPRS/>
                <BWPRH/>
                <VJBWS/>
                <VJBWH/>
                <VVJLB/>
                <VVMLB/>
                <VVSAL/>
                <ZPLPR/>
                <ZPLP1/>
                <ZPLP2/>
                <ZPLP3/>
                <ZPLD1/>
                <ZPLD2/>
                <ZPLD3/>
                <KALKZ/>
                <KALKL/>
                <XLIFO/>
                <MYPOL/>
                <BWPH1/>
                <BWPS1/>
                <ABWKZ/>
                <PSTAT>BG</PSTAT>
                <KALN1>000100126602</KALN1>
                <KALNR>000100126603</KALNR>
                <BWVA1/>
                <BWVA2/>
                <BWVA3/>
                <VERS1/>
                <VERS2/>
                <VERS3/>
                <HRKFT/>
                <KOSGR/>
                <PPRDZ/>
                <PPRDL/>
                <PPRDV/>
                <PDATZ/>
                <PDATL/>
                <PDATV/>
                <EKALR>X</EKALR>
                <VPLPR>0.00</VPLPR>
                <MLMAA/>
                <MLAST/>
                <VJBKL>7920</VJBKL>
                <VJPEI>1</VJPEI>
                <HKMAT/>
                <EKLAS/>
                <QKLAS/>
                <MTUSE/>
                <MTORG/>
                <OWNPR/>
                <BWPEI>0</BWPEI>
            </E1MBEWM>
        </E1MARAM>
    </IDOC>
</MATMAS02>
</X4Structure>
   </X4IDoc>
</X4SAP>
JavaScript errors detected

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

If this problem persists, please contact our support.