Q1: An earlier version of JCo 3 API required, where can it be downloaded?
A: Only the latest JCo 3 version is available for download on SAP service market place. It is fully compatible with previous JCo 3 releases.
Q2: JCo 3 files cannot be renamed.
A: The license does no allow renaming, now it is technically checked.
Q3: The registration on gateway fails with this message:
ERROR registration of tp <TP> from host <hostname> not allowed
A: Apply SAP note
1069911 - GW: Changes to the ACL list of the gateway (reginfo)
Q4: Function not found message is received an ABAP function module call
A: Possible reasons:
Function does not exist in the configured ABAP repository.
Function module has been changed in ABAP repository, metadata cache is outdated.
Q5: How JCo 2 archive can be accessed.
A: See SAP note 1944049 - Old release of SAP Java Connector (SAP JCo) download
Q6: The application is hanging or stops, the stack trace shows this entry:
com.sap.mw.jco.JCO$Exception: (102) RFC_ERROR_COMMUNICATION: Connect ping timeout occurred after 60 seconds
A:It happens as the ABAP server did not response in 60 seconds. Either there is a network issue or a performance bottleneck in ABAP server.
Q7: Maven repository stores the JCo jar file in sapjoc3-3.0.11.jar format. Since JCo 3.0.11 an initialization exception occurs stating that the jar file cannot be renamed or repackage from sapjco3.jar.
A: The renaming or repackaging of the JCo archives is not permitted, now it is technically checked. Renaming or repackaging of the JCo archives may cause strange error situations and results in unpatchable installations. Change the maven-dependency-plugin configuration in pom.xml file with adding the option <stripVersion>true</stripVersion> for coyping the JCo artifacts. Further information is available externally at http://maven.apache.org/plugins/maven-dependency-plugin/usage.html.
Q8: The connection to gateway fails with error:
LOCATION CPIC (TCP/IP) on local host with Unicode
ERROR max no of 202 conversations exceeded
A: Increase the maximum number of connections in CPIC layer, default value is 202.
Setting the JVM paremeter in the startup script:
Q9: There is JCo RFC provider which registered the program ID on a gateway. However stopping the ABAP server and starting it again, the program ID registration is missing which causes malfunction in ABAP.
A: The JCo RFC provider recognizes a communication error between the Java server and the ABAP gateway. It tries to reconnect in 1, 2, 4, 8, 16, ... 3600 seconds by default. It means that after starting the ABAP server, the JCo RFC provider will reconnect in maximum one hour. The maximum reconnection timeout can be set using the -Djco.server.max_startup_delay=<reconnect delay in seconds> JMV parameter. Setting a small value will cause increased logging in dev_jrfc.trc file.
If the first reconnect fails, the next reconnect attempt is made after a waiting period of 1 second. If the next reconnect fails also, the waiting period is doubled and so on. This will lead to a reconnect timing of 1, 2, 4, 8, ..., 3600 seconds. Saving recources is the aim of this technique. If you set the parameter to 7200, this will go on till this limit.
For example if Djco.server.max_startup_delay is set to 360, then the reconnection goes from 1, 2, 4, ... 300s , 300s, 300s , 300s and does not stop. The next reconnect is 300 seconds. The reason for introduction of this parameter was the logging effect this was causing. For example, if customers shut down an Abap server for longer time, the JCo traces were flooding due to this frequent reconnection. The default value is 3600, but can be changed as per need.
If you are facing trouble with this parameter, check SAP note 1513059 .