ARIS for SAP requires the SAP Java Connector (SAP JCo) for establishing connections to SAP systems such as Solution Manager (SolMan). The ARIS for SAP user has to provide the SAP JCo and because of many questions and problems on this issue this FAQ was created.
ARIS 7.2 SR2 supports only SAP JCo 3.0.x and all users have to switch to this JCo version. However this FAQ descibes how you can provide JCo 3.0.x as well as JCo 2.1.x because many pepole work with ARIS for SAP releases that require the old one. But the specific JCo 2.1.x parts are greyed out because the main focus is on JCo 3.0.x.
1. General information about SAP JCo and ARIS for SAP
1.1 What is the purpose of SAP JCo?
SAP JCo is a kind of middleware component that allows Java applications to communicate with SAP Systems.
1.2 Why do I need ARIS for SAP JCo and is it really necessary?
The JCo is used for connecting to an SAP System such as Solution Manager to enable synchronization. Yes, it is really necessary because almost every connection to the relevant SAP systems is based on the JCo.
1.3 Why doesn’t ARIS include SAP JCo so that I do not have to manually copy it over?
SAP does not allow JCo redistribution.
1.4 Where can I get the latest version of JCo?
You can download the latest version of JCo from the SAP Marketplace ('Connectors' -> 'SAP Java Connector' -> 'Tools & Services'). But login is required.
1.5 Which version of ARIS supports which version of JCo?
JCo 2.1.x is supported up to the ARIS 7.2 SR1. From ARIS 7.2 SR2 and later JCo 2.1.x is no longer supported. ARIS 7.2 SR2 is the first release which only supports the JCo 3.0.x (all versions higher than JCo 3.0.7).
1.6 Why doesn’t ARIS for SAP support JCo 2.x anymore and require JCo 3.0.x onward?
- JCO 2.1.x will only be supported by SAP until 31.03.2013
- The old JCo 2.1 is not compatible with any JSE/JRE version 1.5 and higher (ARIS 7.1 has used the JRE 1.5.x).
- The benefits of JCo 3.x
- The RFC library (librfc32.dll) is no longer needed
- Monitoring capabilities
- Higher speed and robustness
2. How do I install JCo on a Windows platform?
The general steps for JCo installation are:
- Copy the JCo Java library (sapjco3.jar/sapjco.jar) to the different ARIS application Java library folders. (See 2.1)
- Make the JCo runtime library (sapjco3.dll/(sapjcorfc.dll and librfc32.dll)) accessible system wide (See 2.2):
- Copy it to the Windows system library folder.
- Create a path environment variable to the JCo install path. (Recommended by SAP installation guide.)
- Check if the JCo is installed correctly by starting its About/Information dialog. (See 2.3)
- Restart the ARIS applications (also the server).
2.1 In which folder do I copy the JCo Java library?
The JCo Java library is the part of the JCo which is needed and directly used by ARIS. Java library of the JCo is the platform independent part of the JCo, because it is Java.
Thus the JCo Java library of one version is the same over all platforms whether 32-Bit or 64-Bit. The API of JCo 2 and JCo 3 are totally different and are not compatible with each other (e.g. new package structure and changed interfaces).
SAP JCo version | Filename | Size (version) |
---|---|---|
3.0.x | sapjco3.jar | 1.303 KB (3.0.9) |
2.1.x | sapjco.jar | 320 KB (2.1.10) |
The following table shows where to copy the JCo Java library.
ARIS Application | Application Java library folder (example) |
---|---|
Installed Client | %aris_install_dir%\JavaClient\lib ('C:\Program Files\ARIS7.2\JavaClient\lib') |
Download Client* | %aris_install_dir%\server\html\lib ('C:\Program Files\ARIS7.2\server\html\lib') |
Business Server | %aris_install_dir%\server\lib ('C:\Program Files\ARIS7.2\server\lib') |
Local Server | %aris_install_dir%\LocalServer\lib ('C:\Program Files\ARIS7.2\LocalServer\lib') |
Business Publisher | %aris_install_dir%\BPSERVER\tomcat\webapps\businesspublisher\layouts\extensions\sap_cxn ('C:\Program Files\ARIS7.2\BPSERVER\tomcat\webapps\businesspublisher\layouts\extensions\sap_cxn') |
*) It seems that there is a problem with transferring the updated JCo java library (e.g. sapjco) to the ARIS client systems since ARIS 7.2. Therefore check in the download client folder (e.g. "%aris_install_dir%\DownloadClient\%ip_address_server%\lib\sapjco3.jar") if the JCo java library was updated after replacing.
2.2 In which folder do I copy the runtime libraries of the JCo?
The JCo runtime library is the part of the JCo which is used by the JCo Java library. The JCo runtime library is platform dependent and therefore all the runtime libraries of the supported platforms are different. In general there are two approaches to provide (make it accessible system wide ) the Runtime libraries of the JCo. The first is to copy the Windows system library folder and the other one to create a path environment variable to the JCo install path. The last one is even recommended by the official installation guide of the JCo. But we think it easier to copy the JCo runtime libraries to the Windows system library folders.
JCo Runtime Library filename | SAP JCo version | Size (version) |
---|---|---|
3.0.x | sapjco3.dll | 4.156 KB (3.0.9) |
2.1.x | sapjcorfc.dll | 3.636 KB (2.1.10) |
librfc32.dll | 5.576 KB (2.1.10) |
The following table shows in which folder the JCo Runtime Library should be copied.
JCo version | JCo and JRE 32/64-Bit | Windows 32/64-Bit | Processor | JCo Runtime Libraries | Windows system library folder (example) |
---|---|---|---|---|---|
3.0.x | 32 | 32 | x86 | sapjco3.dll | %windir%\System32 ('C:\Windows\System32') |
32 | 64 | x86 | sapjco3.dll | %windir%\SysWOW64 ('C:\Windows\SysWOW64') | |
64 | 64 | x86 | sapjco3.dll | %windir%\System32 ('C:\Windows\System32') | |
64 | 64 | Itanium | sapjco3.dll | %windir%\System32 ('C:\Windows\System32') | |
2.1.x | 32 | 32 | x86 | 1. sapjcorfc.dll 2. librfc32.dll | %windir%\System32 ('C:\Windows\System32') |
32 | 64 | x86 | 1. sapjcorfc.dll 2. librfc32.dll | %windir%\SysWOW64 ('C:\Windows\SysWOW64') | |
64 | 64 | x86 | 1. sapjcorfc.dll 2. librfc32.dll | %windir%\System32 ('C:\Windows\System32') | |
64 | 64 | Itanium | 1. sapjcorfc.dll 2. librfc32.dll | %windir%\System32 ('C:\Windows\System32') |
If the RFC library (librfc32.dll) already exists (is comes with the SAP Frontend installation) in the system library folder then do not replace it at once. First have a check if this version of the RFC library works with the JCo. If it works then there is no need to replace it but if it does not work then you have to replace the existing one. But make a copy from the existing one. Sometimes after replacement of the RFC library of the frontend installation the frontend does not works correctly.
Please keep in mind that the 32-Bit system library folder %windir%\SysWOW64 contains the 32-Bit libraries although the folder name (SysWOW64) indicates the opposite.
2.2.1 When should I use the 32-Bit and when the 64-Bit version of the JCo?
This does not depend on the OS but rather depends on the JRE that is used for the ARIS Application.
ARIS Application | 32-/64-Bit JRE | bundled/installed JRE | need 32-/64- JCo |
---|---|---|---|
Installed Client | 32-Bit | bundled | 32-Bit JCo |
Download Client | 32-Bit | installed* | 32-Bit JCo |
Business Server | OS depended 32-Bit or 64-Bit | bundled | depends on the bundled JRE: 32-Bit JRE -> 32-Bit JCo and 64-Bit JRE -> 64-Bit JCo |
Local Server | 32-Bit | bundled | 32-Bit JCo |
Business Publisher SAP Connectivity | 32-Bit or 64-Bit | installed* | depends on the bundled JRE: 32-Bit JRE -> 32-Bit JCo and 64-Bit JRE -> 64-Bit JCo |
- The installed Client brings its own 32-Bit JRE. Therefore you have to use a 32-Bit JCo version.
- The Download Client uses the installed JRE which has to be a 32-Bit JRE. Thus you have to use a 32-Bit JCo.
- The Business Server brings its own either a 32-Bit JRE or a 64-Bit JRE. This depends on the OS system type (64-/32-Bit). Therefore you have to provide a 32-Bit JCo if it is used a 32-Bit JRE and a 64-Bit JCo if it used a 64-Bit JRE.
- The Local Server brings its own 32-Bit JRE. Therefore you have to provide a 32-Bit JCo version.
- The BP SAP Connectivity uses the installed JRE which could be a 32-Bit or a 64-Bit version. Therefore you have to provide a 32-Bit JCo if it was installed a 32-Bit JRE and a 64-Bit JCo if it was installed a 64-Bit JRE.
*) Please keep in mind that the Java JRE 1.7.x version is not tested and not supported for the current ARIS 7.2 SR 2 release.
2.3 How can I check If I is going to work without starting ARIS?
There are different command line commands to start the JCo About / Information dialog which provides some information about the Operating System, JRE, JCo API version, JCo library (DLL) version, RFC library (librfc.dll) and the path where the JCo components exist. You need different commands because we want to start the information dialog with the same JRE and the same sapjco.jar/sapjco3.jar which is started by the ARIS application. If there is something wrong with the JCo setup then you get also information about the possible reason inside the dialog.
ARIS Application | Command (example) |
---|---|
Installed Client | "%aris_install_dir%\JavaClient\jre\bin\java.exe" -jar "%aris_install_dir%\JavaClient\lib\sapjco3.jar" ("C:\Program Files\ARIS7.2\JavaClient\jre\bin\java.exe" -jar "C:\Program Files\ARIS7.2\JavaClient\lib\sapjco3.jar") |
Download Client | "%java_home%\bin\java.exe" -jar "%aris_install_dir%\DownloadClient\%ip_address_server%\lib\sapjco3.jar" ("C:\Program Files (x86)\Java\jre6\bin\java.exe" -jar "C:\Program Files\ARIS7.2\DownloadClient\172.30.252.133\lib\sapjco3.jar") |
Business Server | "%aris_install_dir%\server\jre\bin\java.exe" -jar "%aris_install_dir%\server\lib\sapjco3.jar" ("C:\Program Files\ARIS7.2\server\jre\bin\java.exe" -jar "C:\Program Files\ARIS7.2\server\lib\sapjco3.jar") |
Local Server | "%aris_install_dir%\LocalServer\jre\bin\java.exe" -jar "%aris_install_dir%\LocalServer\lib\sapjco3.jar" ("C:\Program Files\ARIS7.2\LocalServer\jre\bin\java.exe" -jar "C:\Program Files\ARIS7.2\LocalServer\lib\sapjco3.jar") |
Business Publisher | JCo JAR Download: "http://%BP_SRV_NAME%/businesspublisher/layouts/extensions/sap_cxn/sapjco3.jar" Command: "%java_home%\bin\java.exe" -jar "%jco_download_folder%sapjco3.jar" JCo JAR Download: "http://localhost/businesspublisher/layouts/extensions/sap_cxn/sapjco3.jar" Command: "C:\Program Files (x86)\Java\jre6\bin\java.exe" -jar "C:\BP_JCO\sapjco3.jar" |
If the JCo is provided correctly for the ARIS Client then the JCo information dialog looks like the following:
2.4 Can I have the 32-Bit and the 64-Bit JCo or two different versions of the JCo on one system?
Yes, it is possible to provide the 32-Bit and the 64-Bit in parallel on one system. It is also possible to have the JCo 2.x and JCo 3.x on the same system. If you want two versions of the JCo 2.x (e.g. 2.1.9 and 2.1.10) then this is only possible if you provide the JCo runtime library over the system environment variable.
2.5 Will I need a SAP Frontend if I want to use ARIS for SAP?
This depends on the functionality that you want to use. The following table covers the dependency between the SAP frontend and the functionality of ARIS for SAP. The functionalities (Transaction start, Document start, which are running on the client side (Installed Client, Download Client, BP SAP Connectivity) requires the SAP frontend. The BP SAP Connectivity does not need a SAP frontend if you only want to use the document start over the Web-Service. The functionalities (SolMan Synchronization) which are running on the server side (Business Server, Local Server) do not require the SAP Frontend.
2.6 Why does the SolMan Transaction Start work but the Solution Manager Synchronization does not work?
Because the JCo is correctly provided for the Client but on the server side the JCo is not provided successful - the synchronization runs on the ARIS server. The following table covers where the ARIS for SAP functionalities are executed: The following table covers where the ARIS for SAP functionalities are executed:
ARIS for SAP Functionality | Executed on ... |
---|---|
SAP Solution Manager Synchronization
|
Local Server or ARIS Business Server |
SAP BI Modeler | Local Server or ARIS Business Server |
ARIS SAP Connectivity
|
Installed and downloaded ARIS for SAP Client |
ARIS BP SAP Connectivity
|
Client system as Java Applet |
*) The Document Start can open SolMan documents with the SAP JCo or a Web-Service-URL.
2.7 How can I check if I have a 32-Bit or a 64-Bit Version OS and JRE?
OS type : Open 'Control Panel' -> 'System and Security' -> 'System' and look at the system type information.
To get the java version use this command line command:
"%java_home%\JavaClient\bin\java.exe" -version
(e.g. "C:\Program Files (x86)\Java\jre6\bin\java.exe" -version)
If you have a 32-Bit version then you will get such a version information:
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)
If you have a 64-Bit one then you will get such a version information:
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02, mixed mode)
2.8 What error message I will get if the JCo is not provided correctly?
- After ARIS 7.2 SR 2 the message will be "Missing file or wrong version: sapjco3.jar or sapjco3.dll.You will obtain further information in the Administration Guide"
Unfortunatly it seems ARIS 7.2 SR2 has a problem with SAP server groups and if you want to use them then you get the same error message in spite of the SAP JCo was provided correctly. But this bug was fixed with ARIS 7.2 SR 2b! - If you have a 64-Bit OS and you copied the 32-Bit JCo into the windows library folder for 64-Bit libraries (32-Bit JCo sapjco3.dll to C:\Windows\system32) and use a 64-Bit JCo (e.g. SolMan Synchronization) then you get a message with the following message text
"... java.lang.UnsatisfiedLinkError: C:\Windows\System32\sapjco3.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform".
If you check it with the JCo information dialog then the dialog looks like the following:
- If you have an older Windows System e.g. Windows XP SP2 and older then you get for the JCo check an UnsatisfiedLinkError:
Then you have to update Visual Studio 2005 C/C++ runtime libraries which are needed by the JCo. (See the SAP note 1077727 and see the 1375494 note for details on how to install the update.) That patch can be found here (be careful there are different files for different windows system types 32/64-X86/64-IA).
-
If you try to start transaction on SAP system that are not at the latest patch status then can get such an warn message:
For SAP JCo 3.0.x older SAP systems need a patch that it works to call the SAP GUI for these SAP systems - see SAP note 1258724.