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
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
Stellen Sie sicher, dass die Datei
module.xmlim Verzeichnis<Serververzeichnis>\wildfly\modules\de\softproject\x4\adapter\erp\main\wie folgt aussieht:
<?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
Kopieren Sie eine der folgenden Dateien in das Verzeichnis
\Server\jdk\lib\:libsapjco3.so(Linux)sapjco3.dll(Windows)
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.jarsapidoc3.jarsapjco3.jar
Stellen Sie sicher, dass die Datei
module.xmlim Verzeichnis<Serververzeichnis>\wildfly\modules\de\softproject\x4\shared\jco\main\wie folgt aussieht:
<?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>
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: |
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. |
ReplaceEscapedControlChars | Maskierte Steuerzeichen (z.B.: ![]() Mögliche Werte:
|
Statuswerte
| Die Operation wurde erfolgreich ausgeführt. |
| 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:
<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:
<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:
<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>
