SAP Connector (JCo 3)
This adapter allows data to be transferred from the X4 ESB to an SAP R/3 system. It generates any Remote Function Call (RFC) or calls any BAPI function mobule in an SAP system via JCo 3. In addition, IDocs can be sent to an SAP host.
Installation Instructions
For instructions on manually installing adapters and plugins, see Installing Adapters and Plugins Manually .
For the installation of the SAP Connector (JCo3), also observe the following steps:
Configuring the ERP adapters
Copy the following file to the directory:
<server_directory>\wildfly\modules\en\softproject\x4\adapter\ERP\main\:de.softproject.x4.adapter.erp-7.4.4.jar
Make sure that the
module.xmlfile in the<server_directory>\wildfly\modules\en\softproject\x4\adapter\erp\main\directory looks like this:
<?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>
Configuring the JCo3 libraries
Copy one of the following files to the
\server\jdk\lib\directory:libsapjco3.so(Linux)sapjco3.dll(Windows)
Copy the following files to the directory:
<server_directory>\wildfly\modules\de\softproject\x4\shared\jco\main\:de.softproject.x4.shared.jco-7.4.4.jarsapidoc3.jarsapjco3.jar
Make sure that the
module.xmlfile in the<server_directory>\wildfly\modules\de\softproject\x4\shared\jco\main\directory looks like this:
<?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>
Save all changes and then restart Keycloak, the X4 Server, and the X4 Designer.
The SAP Connector (JCo 3) is then available in the X4 Designer.
Properties
Operation | Defines the operation executed by the function adapter Possible values: |
Parameters
Adapter | Main class of the adapter (do not change!) Possible values: de.softproject.integration.adapter.sapjco3.SAPAdapter: Main class (default) |
PropertyFile | URL to the configuration file for the adapter Possible values: Any URL valid within the Java VM (e.g. |
ReplaceEscapedControlChars | Replace masked control characters (e.g.: ![]() Possible values:
|
Status values
| The operation was successful. |
| The operation failed due to a technical error. |
Call RFC/BAPI
Input
The adapter expects an input XML document according to the following pattern, which calls the corresponding function block with input data and the affected tables, if applicable:
<X4SAP>
<bapicall name="BAPI-Name" id="IDoc-ID">
<input>
<INPUT>
<!--Parameter und Parameterwerte-->
</INPUT>
</input>
<table>
(Tabellen)
</table>
</bapicall>
</X4SAP>
Example
To call BAPI IDOCTYPE_READ_COMPLETE in SAP, this adapter expects the following input XML document:
<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>
Send IDOC
To send an IDoc to SAP, use an XML document such as the following as input for the adapter:
<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>
