Multiprint SAPNotes

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 37

Table of Content

0001919773 - SAP Java Connector Release 3.0.11


0001748457 - SAP Java Connector Release 3.0.10
0001671480 - SAP Java Connector Release 3.0.9
0001643299 - SAP Java Connector Release 3.0.8
0001572431 - SAP Java Connector Release 3.0.7
0001467969 - SAP Java Connector Release 3.0.6
0001438294 - SAP Java Connector Release 3.0.5
0001405464 - SAP Java Connector Release 3.0.4
0001385673 - SAP Java Connector Release 3.0.3
0001310832 - SAP Java Connector Release 3.0.2
0001264236 - SAP Java Connector Release 3.0.1
0001077727 - SAP JCo 3.0 release and support strategy
SAP Note
1919773 - SAP Java Connector Release 3.0.11
Version 1 Validity: 30.09.2013 -
active
Language English (Master)
Header Data
Released On 01.05.2014 05:23:44
Release Status Released for Customer
Component BC-MID-CON-JCO Java-Connector
Priority Correction with high priority
Category Program error
Symptom
1. The integrity of an LUW (Logical Unit of Work) is destroyed when using
JCoCustomDestination instances in a stateful JCo context with other scope types than the
default scope.
2. An RFC request to a just registered JCo RFC server does not reach the JCoServer and the
connection is hanging infinitely.
3. CPIC error messages "Connection to partner '<host>:<port>' broken / Connection reset
by peer" are recognized at the RFC communication partner side (e.g. in SAP gateway
trace file dev_rd.trc) when the JCo application program terminates.
4. A java.lang.NullPointerException is thrown when calling method JCoRepository.save().
5. The method JCoListMetaData.isOptional(<name|index>) always returns false after loading a
repository with calling method JCoRepository.load().
6. A java.lang.NullPointerException is thrown when trying to logon with certain languages to
a non-Unicode ABAP system.
7. No caller program name is sent from JCo to the RFC communication partner.
8. A JCoServer instance does not start if one of the configured AS ABAP repository systems
is down.
9. A single JCo installation cannot be used with a 32-bit and 64-bit JVM simultaneously
without modifying the operating system's library loading path environment variable.
Other Terms
SAP Java Connector, JCo, JCo3, JCoCustomDestination, scope type, LUW, stateful
connection, hanging server connection, connection reset by peer, NullPointerExceptiom, NPE,
JCoRepository, repository, save, load, optional parameter flag, isOptional, logon, caller
program name, RFC attributes, RFC communication error at JCoServer startup, AS ABAP
repository system down, central installation, multi-platform installation, library loading path
Reason and Prerequisites
The following program errors have been fixed and further improvements have been made:
1. Scope types were lost when using JCoCustomDestination instances. Remote function calls
via a JCoCustomDestination instance were always executed within the default scope type
context. In case that the current JCo context was stateful, this resulted in the same RFC
connection being used for all JCoCustomDestination instances and therefore possibly
destroyed the integrity of an LUW (Logical Unit of Work).
Note: This bug was present in JCo release 3.0.10 only.
2. If an RFC request was immediately sent to a just registered JCoServer RFC connection,
this newly registered RFC server connection could have get into an unrecoverable
hanging situation before the incoming RFC request could have been dispatched and
processed. At the communication partner side the RFC request did not return and the
active RFC connection kept hanging in status 'connected'.
Note: This bug was present in JCo release 3.0.10 only.
3. When shutting down the JCo application program, pooled idle and still open RFC
connections were not closed properly before the application program terminates. This
resulted in these pooled RFC connections being interrupted instead with getting CPIC
error messages "Connection to partner '<host>:<port>' broken / Connection reset by
peer" at the RFC communication partner side.
4. A java.lang.NullPointerException was thrown when saving a JCoRepository instance which
contained a remote function module template with an empty import parameter list.
5. The meta data information that specifies if a parameter is an optional parameter or not
was lost after loading a JCoRepository instance from a Java I/O character stream. Calling
method JCoListMetaData.isOptional(<name|index>) on any parameter meta data that was
loaded by a JCoRepository always returned false in this case.
6. A java.lang.NullPointerException was always thrown when trying to logon to a non-
Unicode ABAP system with using one of the new logon languages that are available in
Unicode SAP systems only. Now an appropriate JCoException with error group
RFC_ERROR_LOGON_FAILURE will be thrown in such a scenario instead.
7. A caller program name is now sent to the communication partner when opening a new
RFC connection. It can be retrieved from the RFC attributes at the communication partner
side. The caller program name 'SAPJCo30' is used per default. An arbitrary custom
program name can be set by specifying the Java system property -Djco.program_name=
<ProgramName> as a JVM startup parameter.
8. Starting JCoServer instances has been improved with now doing lazy initializations of RFC
repository destinations and with ignoring and tolerating RFC communication errors at
startup.
9. The JCo runtime initialization has been enhanced with a multi-platform library loading
feature which allows to create a central JCo installation that can be started on various
operating systems and with using different Java Virtual Machines without any
configuration change. For example, JCo can now be installed on a single central network
share and be used from several operating systems like Windows, Linux or Mac OS X
simultaneously. Or one can work locally with a single JCo installation and use a 32-bit
and a 64-bit JVM simultaneously or choose one or the other JVM alternately at will.
For using this feature it is only required to put all desired platform dependent JCo JNI
libraries in specifically named subdirectories of the directory where the sapjco3.jar file
resides, e.g. <sapjco3.jar_DIR>\ntamd64\sapjco3.dll, <sapjco3.jar_DIR>\ntintel\sapjco3.dll
or <sapjco3.jar_DIR>/linuxppc64/libsapjco3.so.
See the JCo configuration documentation chapter "Runtime initialization" for further
details and the list of valid platform specific subdirectoy names.
Solution
Install and use the latest patch level of the SAP Java Connector 3.0.
Please download at least the SAP Java Connector 3.0.11 from the SAP Service Marketplace at
http://service.sap.com/connectors . You will find the download package with the latest patch
level for various platforms by navigating to "SAP Java Connector" -> "Tools & Services" ->
"Download SAP JCo Release 3.0". An installation guide is included in the download archive.
Validity
Software Component From Rel. To Rel. And Subsequent
SAP JCO 3.0 3.0

References
This document refers to:
SAP Notes
1748457 SAP Java Connector Release 3.0.10
1077727 SAP JCo 3.0 release and support strategy
This document is referenced by:
SAP Notes (2)
1077727 SAP JCo 3.0 release and support strategy
2026482 SAP Java IDoc Class Library Release 3.0.11
SAP Note
1748457 - SAP Java Connector Release 3.0.10
Version 1 Validity: 31.07.2012 -
active
Language English (Master)
Header Data
Released On 12.08.2013 21:28:45
Release Status Released for Customer
Component BC-MID-CON-JCO Java-Connector
Priority Correction with high priority
Category Program error
Symptom
1. An RFC request to a registered JCo RFC server does not reach the JCoServer and the
connection is hanging infinitely.
2. A memory leak in the Java heap is recognized.
3. Slow performance at RFC request dispatching to JCoServers is recognized.
4. JCo 3.0 does not support RFC communication with non-ABAP systems (the so-called
extern-to-extern RFC communication).
5. The capability to persist and use local RFC meta data repository storages is
missing.
6. A java.lang.StackOverflowError is thrown at calling some JCoRepository API.
7. A long running stateful RFC request to a registered JCoServer is unexpectedly
interrupted due to a connection cancel operation from the JCo server side.
8. Calling method JCoServerContextInfo.getCallType() always returns null.
9. A java.lang.NullPointerException is thrown when trying to communicate with a non-
Unicode ABAP system that uses an ambiguous blended code page.
10. Under special circumstances calling method
JCoRepository.getStructureDefinition(String name) or
JCoRepository.getRecordMetaData(String name) returns null.
11. JCo.getRepositoryDestinationID(String destinationID) unexpectedly returns null for
a given destinationID.
Other Terms
SAP Java Connector, JCo, JCo3, hanging server connection, memory leak, slow performance,
registered RFC server, extern to extern RFC communication, TPNAME, persistent JCoRepository,
save, load, JSON, StackOverflowError, MetaDataStorage, stateful RFC server request,
connection interruption, cancel, SessionReferenceProvider, JCoServerContextInfo,
JCoServerCallType, null, NullPointerException, NPE, 6110,
jco.use_repository_roundtrip_optimization, jco.destination.one_roundtrip_repository,
repository destination ID
Reason and Prerequisites
The following program errors have been fixed and further improvements have been made:
1. A program error in the underlying native CPIC communication software layer has been
fixed that under certain circumstances RFC connections to a JCoServer could have get
into an unrecoverable hanging situation. Then RFC requests to a registered JCoServer
instance did not return and the appropriate RFC connection could not be canceled but
kept hanging infinitely in any state, even in state 'disconnecting'.
Please see SAP note 1791529 for further details.
2. A memory leak was removed within the internal JCo session management. The memory
leak occurred after a custom SessionReferenceProvider implementation had been
registered at the JCo runtime environment. Its method
SessionReferenceProvider.isSessionAlive(sessionId) was never called which resulted in
numerous JCo session objects not getting freed although the sessions already had
expired.
Note: This bug was present in JCo release 3.0.9 only.
3. In case of RFC server registrations to some SAP gateway taking a long time for
whatever reason (e.g. because the relevant SAP AS ABAP system or SAP gateway is
currently in shutdown or startup phase, the host itself is not reachable via network or
due to network performance issues), the whole RFC request dispatching to all running
JCoServer instances was extremely slow and therefore lead to a performance degradation
also of those registered JCo RFC servers and related SAP AS ABAP systems which actually
were not connected to the problematic SAP gateway host.
4. Support for calling external RFC server programs as well as support for receiving
RFC requests from external RFC client programs has been added.
Please see SAP note 1877907 for further details.
5. A new feature has been added allowing to save and load a complete JCoRepository
instance in JSON format to and from standard Java I/O character streams.
Please see the API Documentation at class JCoRepository for further details.
6. Depending on the defined DDIC (Data Dictionary) types and structures and on the
defined RFM (Remote Function Module) interfaces at SAP AS ABAP system side a
java.lang.StackOverflowError could have been thrown when a JCoRepository instance was
storing the queried RFC meta data into its internal MetaDataStorage instance.
7. Long running stateful RFC server requests from ABAP to Java were always interrupted
after the configured session timeout interval (default is 10 minutes) without checking
at the registered SessionReferenceProvider if the session would be still alive
nevertheless.
Note: This bug was present in JCo release 3.0.9 only.
8. Method JCoServerContextInfo.getCallType() always returned null instead of the
current type of the incoming RFC request in form of a JCoServerCallType enumeration
object.
9. A java.lang.NullPointerException was always thrown from the internal JCo method
getAttributes() when trying to communicate with a non-Unicode ABAP system that uses an
ambiguous blended code page like SAP code page 6110.
10. A JCoRepository instance in roundtrip optimization mode (e.g. the middleware
property 'jco.use_repository_roundtrip_optimization' was set to 1 at its creation time)
always returned null when querying structure or record meta data from an SAP AS ABAP
system with methods JCoRepository.getStructureDefinition(String name) and
JCoRepository.getRecordMetaData(String name).
11. Under some special circumstances the method JCo.getRepositoryDestinationID(String
destinationID) returned null indicating that the respective JCoDestination instance for
the given destinationID has not been used for repository queries yet although this is
not true.
Solution
Install and use the latest patch level of the SAP Java Connector 3.0.
Please download at least the SAP Java Connector 3.0.10 from the SAP Service Marketplace at
http://service.sap.com/connectors . You will find the download package with the latest patch
level for various platforms by navigating to "SAP Java Connector" -> "Tools & Services" ->
"Download SAP JCo Release 3.0". An installation guide is included in the download archive.
Validity
Software Component From Rel. To Rel. And Subsequent
SAP JCO 3.0 3.0

References
This document refers to:
SAP Notes
1902880 Business Connector 4.8 Service Release 9 (SR9)
1900587 SAP Java IDoc Class Library Release 3.0.10
1877907 Support of extern-to-extern RFC communication with JCo 3.0
1791529 GW: Hanging connections between J2EE and gateway
1671480 SAP Java Connector Release 3.0.9
1425520 Disable NI cache for host and service names
1077727 SAP JCo 3.0 release and support strategy
This document is referenced by:
SAP Notes (6)
1791529 GW: Hanging connections between J2EE and gateway
1919773 SAP Java Connector Release 3.0.11
1671480 SAP Java Connector Release 3.0.9
1425520 Disable NI cache for host and service names
1900587 SAP Java IDoc Class Library Release 3.0.10
1902880 Business Connector 4.8 Service Release 9 (SR9)
SAP Note
1671480 - SAP Java Connector Release 3.0.9
Version 1 Validity: 09.01.2012 -
active
Language English (Master)
Header Data
Released On 24.07.2012 12:30:33
Release Status Released for Customer
Component BC-MID-CON-JCO Java-Connector
Priority Correction with high priority
Category Program error
Symptom
1. A memory leak in the Java heap is recognized.
2. A JCoException with the CPIC error message "client with wrong appc header version
rejected" is thrown.
3. An RfcGetException with message "Received a callback from the communication partner"
was logged in the RFC error log file dev_jco_rfc.trc and maybe also some table
parameters of a called Remote Function Module (RFM) are empty or do not contain the
expected data.
4. RFC logon attempts hang infinitely or take too long without being interrupted after
60 seconds or after the configured RFC connect timeout interval.
5. Fields of type XSTRING contain one 0-byte value after setting a null-reference value
into them.
6. JCo trace information in JCoServer scenarios is missing when using a
JCoServerRequestHandler instance (RFC request/response model).
7. The properties 'jco.session_timeout' and 'jco.session_timeout.check_interval' cannot
be set as Java system properties with the -D argument when starting the JVM.
8. A Remote Function Call (RFC) with using Secure Network Communication (SNC) for
encryption but without using the Single Sign On (SSO) mechanism for logon
authentifaction is not possible.
9. An RFC logon to an SAP ABAP backend system with external user identification data is
not supported.
10. An RFC logon to an SAP ABAP backend system fails with a JCoException and the error
message "Select one of the installed languages" being thrown when using a logon
language that is available in Unicode SAP systems only.
11. The JCoDestinationMonitor interface is lacking an API for querying the number of
threads that are currently waiting for a free connection.
Other Terms
SAP Java Connector, JCo, JCo3, memory leak, APPC header, RFC callback, destination "BACK",
table delta management, XSTRING, SNC, SSO, JCO_ERROR_COMMUNICATION, JCO_ERROR_SYSTEM_FAILURE,
JCO_ERROR_TIMEOUT, JCO_ERROR_LOGON_FAILURE
Reason and Prerequisites
The following program errors have been fixed and further improvements have been made:
1. A memory leak was removed at the internal destination management within the
JCoTimeoutChecker thread. This memory leak was created each time that the registered
DestinationDataProvider instance updated or deleted a previously used destination from
its destination configuration repository.
Note: This bug was present in JCo release 3.0.8 only.
2. A program error in the underlying native CPIC communication software layer has been
fixed that sometimes led to RFC connections getting broken. In this case a JCoException
with error group JCoException.JCO_ERROR_COMMUNICATION was thrown and contained the CPIC
error message "client with wrong appc header version rejected".
Please see SAP note 1664732 for further information.
3. RFC callbacks to the JCo framework were not handled correctly. Although receiving an
RFC callback is not an error by itself, there was always an error of type
RfcGetException with message "Received a callback from the communication partner"
logged in the RFC error log file dev_jco_rfc.trc. Despite this log entry, no error or
exception was thrown to the JCo application or signalled to the communication partner.
Even if the requested RFC function module was not available and could not be processed,
this was not done and the RFC callback was ignored. If the delta management for RFC
table parameters was active, the erroneous RFC callback handling could furthermore have
caused lost table data and table data inconsistencies between the two communication
partners.
Now RFC callbacks are handled correctly with throwing a JCoException of error group
JCoException.JCO_ERROR_SYSTEM_FAILURE, if the requested function module is not
available, and only in this case an error is logged to the RFC error log file
dev_jco_rfc.trc.
4. RFC logon attempts to an SAP ABAP system have not been interrupted if they were
running too long and exceeded the time span that was specified by the JCo middleware
property 'jrfc.client_connect_timeout' (default is 60 seconds). Now a JCoException with
error group JCoException.JCO_ERROR_TIMEOUT will correctly be thrown in such a
situation, thus interrupting the currently running RFC logon attempt.
Note: This bug was present from JCo release 3.0.5 to 3.0.8 only.
5. After calling method JCoRecord.setValue([name|index], null) or
JCoRecord.setValue([name|index], new byte[0]) for setting the default or an empty field
value on fields of type JCoMetaData.TYPE_XSTRING, the field was not cleared and empty
afterwards but contained one 0-byte value, i.e. a byte array of length 1 (byte[] = {
0x00 }). This 0-byte value was also sent via RFC to the communication partner, if the
JCoMetaData.TYPE_XSTRING field was part of an importing, changing or tables parameter
in a JCoFunction or a JCoRequest object.
6. When using the RFC request/response model at the JCoServer side with a
JCoServerRequestHandler instance processing the incoming RFC requests, JCo neither
traced the API calls to the handleRequest(...) method invocations nor any meta data or
content data of these RFC requests, even if the respective JCo trace level was set for
writing such information.
7. In addition to setting the properties 'jco.session_timeout' and
'jco.session_timeout.check_interval' with the method JCo.setProperty(String key, String
value), these two properties can now also be set as Java system properties with the -D
argument when starting the JVM and they will be recognized at JCo initialization.
8. With the new destination logon property 'jco.client.snc_sso' it is possible to turn
off the Single Sign On (SSO) mechanism of SNC by setting it to the value 0. Thus, it is
possible to log on to an SAP ABAP backend system with some other user ID not fitting to
the SNC identity, while SNC can still be used for encrypting the network communication.
As a prerequisite, a minimum SAP system kernel patch level is required as mentioned in
SAP note 1701870.
9. The destination properties 'jco.client.extid_type' and 'jco.client.extid_data' have
been added for supporting to log on with external user identifaction data to an SAP
ABAP backend system. For this logon variant it is mandatory to use SNC.
10. Some languages like Armenian, Georgian, Vietnamese, Macedonian and many others are
available in Unicode SAP systems only. If logging on with such a language to an SAP
ABAP backend system, it was mandatory to specify an additional destination property
like 'jco.client.codepage' with indicating a unicode communication type, otherwise such
logons failed with an JCoException.JCO_ERROR_LOGON_FAILURE showing the error message
"Select one of the installed languages" although the appropriate language was
installed.
This logon procedure has been improved so that it does not require any additional
communication code page destination property anymore in this case. The unicode
communication type is now automatically detected and used for logging on with such new
SAP system language keys.
Please see SAP note 895560 for more details on languages that are only available in
Unicode SAP systems.
11. The new API JCoDestinationMonitor.getWaitingThreadCount() has been added for
querying the number of threads that are currently waiting for a free connection. Please
see the API Documentation for further details.
Solution
Install and use the latest patch level of the SAP Java Connector 3.0.
Please download at least the SAP Java Connector 3.0.9 from the SAP Service Marketplace at
http://service.sap.com/connectors . You will find the download package with the latest patch
level for various platforms by navigating to "SAP Java Connector" -> "Tools & Services" ->
"Download SAP JCo Release 3.0". An installation guide is included in the download archive.
Validity
Software Component From Rel. To Rel. And Subsequent
SAP JCO 3.0 3.0

Support Packages & Patches
Support Package Patches
Software Component Support Package Patch Level
SAP JCO 3.0 SP009 000000
References
This document refers to:
SAP Notes
1855836 SAP Java IDoc Class Library Release 3.0.9
1795909 Business Connector 4.8 Service Release 8 (SR8)
1748457 SAP Java Connector Release 3.0.10
1701870 RFC client communication supporting SNC without SSO
1664732 CPI-C: Client with wrong appc header version rejected
1649086 SAP Java IDoc Class Library Release 3.0.8
1643299 SAP Java Connector Release 3.0.8
1077727 SAP JCo 3.0 release and support strategy
895560 Support for languages only available in Unicode systems
This document is referenced by:
SAP Notes (8)
1567669 SAP Java IDoc Class Library Release 3.0.7
1701870 RFC client communication supporting SNC without SSO
1643299 SAP Java Connector Release 3.0.8
1855836 SAP Java IDoc Class Library Release 3.0.9
1649086 SAP Java IDoc Class Library Release 3.0.8
1664732 CPI-C: Client with wrong appc header version rejected
1748457 SAP Java Connector Release 3.0.10
1795909 Business Connector 4.8 Service Release 8 (SR8)
SAP Note
1643299 - SAP Java Connector Release 3.0.8
Version 2 Validity: 02.12.2011 -
active
Language English (Master)
Header Data
Released On 02.12.2011 15:09:52
Release Status Released for Customer
Component BC-MID-CON-JCO Java-Connector
Priority Correction with high priority
Category Program error
Symptom
1. A memory leak in the native heap is recognized.
2. A memory leak in the Java heap is recognized.
3. A performance degredation is observed when communicating with an R/3 release 4.6C
system.
4. A JCoServer instance is stopped after changing its configuration.
5. An exception is thrown when specifying a value of format sapgw##s for the connection
property 'gwserv'.
6. JCoCustomDestination instances were never invalidated and illegally remained usable.
7. SSO tickets and X.509 certificates are not used when being updated on a
JCoCustomDestination instance.
8. A JCoCustomDestination instance returns a wrong JCoRepository object or is using
wrong destination logon data for repository meta data queries.
9. Changing or updating a JCoDestination object for a JCoCustomRepository instance is
not possible due to an exception being thrown.
10. Calling the method JCoDestination.getMonitor() sometimes throws a
JCoRuntimeException with error group JCO_ERROR_RESOURCE.
11. A JCoDestinationMonitor instance is obviously reporting wrong connection pool data
for the monitored destination.
12. Calling the method JCoDestination.getRepository() throws a JCoRuntimeException with
error group JCO_ERROR_CONFIGURATION, if only a repository user but no standard user,
user alias, or logon ticket are configured.
13. The performance of single threaded JCo applications is bad when doing stateless RFC
calls.
Other Terms
SAP Java Connector, JCo, JCo3, memory leak, JCO_ERROR_LOGON_FAILURE,
JCO_ERROR_DESTINATION_DATA_INVALID, JCO_ERROR_ILLEGAL_STATE, JCO_ERROR_CONFIGURATION,
JCO_ERROR_RESOURCE
Reason and Prerequisites
The following program errors have been fixed:
1. A memory leak in the native layer existed when receiving data from the backend.
Thus, more and more native memory was allocated and the process could run out of
memory. Please check SAP note 1595477 for details.
2. Under certain circumstances, a memory leak was caused by the internal destination
management within a repository. This could have happened when creating many
JCoCustomDestination instances from destinations, which did not have an associated
repository yet. In this situation the first call to
JCoCustomDestination.getRepository() on each of such a JCoCustomDestination instance
created a memory leak in the Java heap being located in the returned JCoRepository
object.
3. When communicating with an R/3 release 4.6C system which is running with a 4.6D
kernel, the reset of pooled connections was not working as expected. Instead of simply
resetting the context in the backend, the connection was closed and reopened again. In
networks with high latency this led to an undesired performance degredation. This was
caused by wrongly checking the partner release number instead of the kernel release
number.
4. When a JCoServer instance had to be restarted due to a change in the configuration
being signaled by an update event, the server did not come up, but was stopped instead.
In particular, simply adjusting the trace flag led to this situation. This was caused
by the fact, that the new server instance was already started, before the old one had
been shutdown completely.
5. If specifying a gateway service with the destination data connection property
'jco.client.gwserv' or with the server data connection property 'jco.server.gwserv',
all property string values of format sapgw##s (with # being a placeholder for a digit)
were not accepted and an exception was thrown or an error message was logged saying
that the gateway service parameter needs to be of a different format. Contrary to this
error message, gateway service parameters of format sapgw##s are valid and may be
specified alternatively to parameter values of format sapgw## or #### for directly
specifying the TCP port number.
6. A JCoCustomDestination instance was never invalidated and remained usable, even if
the destination configuration, which it is based on, was changed or deleted. Now, a
JCoException with error group JCoException.JCO_ERROR_DESTINATION_DATA_INVALID will
correctly be thrown, if a JCoCustomDestination instance will be used in such a
situation.
7. New SSO tickets or X.509 certificates that are set for a JCoCustomDestination
instance were not used, in case that there was already another SSO ticket or X.509
certificate previously being used for this destination. The previously set SSO ticket
or X.509 certificate was cached and still used instead of the new one. This led to a
JCoException with error group JCoException.JCO_ERROR_LOGON_FAILURE being thrown, if the
SSO ticket or X.509 certificate has been expired in the meantime.
8. After setting a repository destination with method
JCoCustomDestination.setRepositoryDestination(JCoDestination), the JCoCustomDestination
instance used the passed destination's client connections instead of the desired
repository connections. Depending on the destination configuration this might have led
to a wrong repository being returned on a subsequent call to
JCoCustomDestination.getRepository() and/or wrong targeted connections and logon
parameters being used for future meta data queries of the returned JCoRepository
instance.
9. The setting of a destination for a JCoCustomRepository instance has been improved.
Now, it is possible to change the destination for remote meta data queries with method
JCoCustomRepository.setDestination(JCoDestination). Before this improvement, it was
only allowed to set a destination once and subsequent calls to
JCoCustomRepository.setDestination(JCoDestination) led to a JCoRuntimeException with
error group JCoException.JCO_ERROR_ILLEGAL_STATE being thrown.
10. The method JCoDestination.getMonitor() threw a JCoRuntimeException with error group
JCoException.JCO_ERROR_RESOURCE saying that the destination would not be initialized or
would have been already removed, although this was not true and the JCoDestination
instance was actually valid. This error situation only occurred if the JCoDestination
instance's getMonitor() method was called for the first time and there was no
connection pool available for this destination at that time.
11. JCoDestinationMonitor instances returned wrong data after the connection pool being
associated to the monitored JCoDestination instance was temporarily removed due to
inactivity on this destination. In such an error situation the JCoDestinationMonitor
instance always reported that there would not be any open connection and consequently
the number of pooled and used connections would both be 0. But that potentially did not
reflect the real situation where several new connections for the monitored destination
meanwhile might have been opened again.
12. The method JCoDestination.getRepository() threw a JCoRuntimeException with error
group JCoException.JCO_ERROR_CONFIGURATION saying that the configuration for this
destination would be invalid in case there was a repository user defined, but no
standard user, user alias or logon ticket were configured. Contrary to this error
message, a destination configuration containing only a repository user is sufficient at
least for the creation of and usage by a JCoRepository instance.
13. Without concrete pooling configuration settings, pooling was not used at all in
JCo, but the connections were immediately closed, if they were not longer needed, which
leads to unnecessary latencies. Hence, the default behavior regarding the connection
pooling has been improved. If the DestinationDataProvider does not specify the property
jco.destination.pool_capacity for a certain destination, the default value 1 is used
for this property now instead of 0. This means that connection pooling is enabled by
default now and thus dramatically increases the performance of typical single threaded
applications, which do not care about connection pooling.
Solution
Install and use the latest patch level of the SAP Java Connector 3.0.
Please download at least the SAP Java Connector 3.0.8 from the SAP Service Marketplace at
http://service.sap.com/connectors . You will find the download package with the latest patch
level for various platforms by navigating to "SAP Java Connector" -> "Tools & Services" ->
"Download SAP JCo Release 3.0". An installation guide is included in the download archive.
Validity
Software Component From Rel. To Rel. And Subsequent
SAP JCO 3.0 3.0

Support Packages & Patches
Support Package Patches
Software Component Support Package Patch Level
J2EE ENGINE SERVERCORE 7.10 SP015 000000
J2EE ENGINE SERVERCORE 7.11 SP010
000000
J2EE ENGINE SERVERCORE 7.20 SP008 000000
J2EE ENGINE SERVERCORE 7.30 SP007 000000
J2EE ENGINE SERVERCORE 7.31 SP003 000000
SAP JCO 3.0 SP008 000000
References
This document refers to:
SAP Notes
1671480 SAP Java Connector Release 3.0.9
1595477 Memory leak in native layer of SAP Java Connector
1572431 SAP Java Connector Release 3.0.7
1567669 SAP Java IDoc Class Library Release 3.0.7
1077727 SAP JCo 3.0 release and support strategy
This document is referenced by:
SAP Notes (5)
1567669 SAP Java IDoc Class Library Release 3.0.7
1572431 SAP Java Connector Release 3.0.7
1275665 Business Connector 4.8 Service Release 7 (SR7)
1671480 SAP Java Connector Release 3.0.9
1595477 Memory leak in native layer of SAP Java Connector
SAP Note
1572431 - SAP Java Connector Release 3.0.7
Version 2 Validity: 05.05.2011 -
active
Language English (Master)
Header Data
Released On 05.05.2011 11:55:19
Release Status Released for Customer
Component BC-MID-CON-JCO Java-Connector
Priority Correction with medium priority
Category Program error
Symptom
1. Using scopeTypes with the default SessionReferenceProvider implementation of the JCo
runtime does not work as expected.
2. A ConcurrentModificationException occurs when processing requests in a JCoServer
with a callstack similar to the following: java.util.ConcurrentModificationException
at java.util.HashMap$AbstractMapIterator.checkConcurrentMod()
at java.util.HashMap$AbstractMapIterator.makeNext()
at java.util.HashMap$KeyIterator.next()
at java.util.HashMap.analyzeMap()
at java.util.HashMap.rehash()
at java.util.HashMap.rehash()
at java.util.HashMap.putImpl()
at java.util.HashMap.put()
at com.sap.conn.jco.rt.SimpleSessionRefProvider.jcoServerSessionPassivated()
at com.sap.conn.jco.rt.DefaultServerWorker.callFinishedInternal()
3. For a repository it is impossible to retrieve a metadata definition. The metadata
lookup always fails with a JCoException with group
JCoException.JCO_ERROR_LOGON_FAILURE. In the end one of the users configured as
repository user is locked.
4. The valid value of 9 for jco.server.snc_qop in a server configuration is not
accepted by the JCoServer runtime.
5. When sending a tRFC request to a JCoServer a NullPointerException without any
descriptive message is retrieved in the ABAP system and is written to the log on JCo
side.
6. A 3.1I system tries to execute a function module on a JCoServer, but failes with an
error message similar to "RFC_ERROR_SYSTEM_FAILURE: You cannot adjust the state of a
ServerConnection with this method."
7. Your SessionReferenceProvider is sometimes receiving null as sessionID in the event
jcoServerSessionFinished().
Other Terms
Reason and Prerequisites
The problems above have been caused by the following bugs in JCo 3.0.6:
1. The default SessionReferenceProvider used by the JCo runtime did not support
scopeTypes.
2. The JCoServer is run under high load with the default SessionReferenceProvider. No
other SessionReferenceProvider is registered with JCo. In the
SimpleSessionReferenceProvider not all blocks that needed a synchronization were really
synchronized.
3. The repository is shared between several destinations. Many of them have a separate
user configured for repository lookups and one of them is configured incorrectly: The
repository user/password combination is not correct. For the lookup, repeatedly the
"bad" destination is used instead of switching to the next one, which is the expected
behavior.
4. JCo was using a wrong range for jco.server.snc_qop when checking the properties:
[0..8] instead of [1..9]
5. There is no JCoServerTIDHandler or no JCoServerUnitIDHandler set for a JCoServer.
There is no check for null issued before accessing the handler when receiving a
tRFC/qRFC or bgRFC unit.
6. Some special behavior needed for a 3.1I system being the client was not done
properly in the JCo runtime since JCo 3.0.5.
7. The request is executed in a stateless server context. In this case, the sessionID
retrieved from jcoServerSessionStarted() was not stored in the JCoServer.
Solution
Upgrade to at least JCo 3.0.7, which is available on the download page under
http://service.sap.com/connectors -> SAP Java Connector -> Tools & Services -> Download SAP
JCo Release 3.0.<currentPatchLevel>. Please note that on Windows systems you need to make
sure that you use the updated ATL and C runtime provided by Microsoft. Otherwise JCo won't
work any more, the cause is the same as for the kernel as described in note 1375494, where
you can also find an installation description for the updated C runtime.
1. The default implementation of the SessionReferenceProvider was re-implemented as
DefaultSessionReferenceProvider and is now exposed in com.sap.conn.jco.ext package and
supports scopeTypes by default. If an application/infrastructure that uses the default
implementation wants to disable scopeType support again it has to register new
DefaultSessionReferenceProvider(false) via the Environment class. Find more details in
the JavaDoc.
2. The new implementation DefaultSessionReferenceProvider ensures to synchronize
accesses to internal structures whenever necessary.
3. The repository is now treating the JCoException.JCO_ERROR_LOGON_FAILURE properly and
gives the next destination a try for the lookup.
4. The correct range [1..9] for jco.server.snc_qop is checked now.
5. If such a handler is missing and a corresponding request shall be processed, JCo now
throws a a JCoRuntimeException with group JCoException.JCO_ERROR_ILLEGAL_STATE that
provides a clarifying message.
6. The JCoServer runtime now behaves correctly again when a 3.1I system is
communicating with it.
7. The event jcoServerSessionFinished() now always gets a non-null sessionID passed.
Validity
Software Component From Rel. To Rel. And Subsequent
SAP JCO 3.0 3.0

Support Packages & Patches
Support Package Patches
Software Component Support Package Patch Level
J2EE ENGINE SERVERCORE 7.11 SP008 000000
J2EE ENGINE SERVERCORE 7.20 SP006 000000
J2EE ENGINE SERVERCORE 7.30 SP004 000000
References
This document refers to:
SAP Notes
1643299 SAP Java Connector Release 3.0.8
1567669 SAP Java IDoc Class Library Release 3.0.7
1467969 SAP Java Connector Release 3.0.6
1077727 SAP JCo 3.0 release and support strategy
This document is referenced by:
SAP Notes (5)
1567669 SAP Java IDoc Class Library Release 3.0.7
1586688 JCoServer finish event receives null session ID
1467969 SAP Java Connector Release 3.0.6
1643299 SAP Java Connector Release 3.0.8
1275665 Business Connector 4.8 Service Release 7 (SR7)
SAP Note
1467969 - SAP Java Connector Release 3.0.6
Version 2 Validity: 22.09.2010 -
Language English (Master)
active
Header Data
Released On 22.09.2010 13:18:48
Release Status Released for Customer
Component BC-MID-CON-JCO Java-Connector
Priority Correction with medium priority
Category Program error
Symptom
1. If in a structure, table or function module a scalar type (e.g. CHAR, NUMC, etc) is
refering to a data element, the name of that data element is not returned in
getRecordTypeName() in JCo 3.0.5, although this worked fine in JCo 3.0.0 to 3.0.4.
2. A JCoDestination is associated with a scopeType via
JCoDestinationManager.getDestination(destName, scopeType). If you now create a
JCoCustomDestination from the retrieved destination, the scopeType information is
ignored, when executing a function module.
3. If table type FOO has a table type BAR as line type and one of the rows of FOO
contains only an empty table BAR, then an exception occurs that looks similar to:
JCO_ERROR_XML_PARSER: Parameter PARAM_FOO: After a value an end tag must follow. That
did not happen in "em><item><BAR_COL".
4. RFC function module parameters might not get initialized correctly, if an ABAP
system field (e.g. SY-DATLO or SY-TIMLO) is defined as their default value. This might
also lead to ConversionExceptions being thrown when trying to read these values with
the JCoParameterList.getValue() or the various JCoParameterList.get<type>() methods.
5. If a gateway is protected with a reginfo file, a JCoServer is not allowed to
register itself from a certain host and/or a certain program ID with that gateway.
Unfortunately, the JCoServer does not recognize such a registration failure as an
unrecoverable configuration error, and hence tries to re-register again immediately.
This is of course failing again, which in turn leads to an endless loop and rapidly
growing dev_jco_rfc.trc files.
6. When terminating a JCo application, the ABAP system writes an entry containing "SAP-
RC=223" into the syslog. This happens, even if the DestinationDataProvider is
deregistered from JCo.
7. When processing changes in a server configuration, not all changes are recognized by
the JCoServer upon receiving them from the ServerDataProvider. And even if a change is
recognized correctly for a running JCoServer, the subsequent update causes the
JCoServer to get aborted.
8. The setting for the maximum restart delay for a server is ignored.
Other Terms
Reason and Prerequisites
The problems above have been caused by the following bugs in JCo 3.0.5:
If in a structure, table or function module a scalar type (e.g. CHAR, NUMC, etc) is refering
to a data element, the name of that data element is not returned in getRecordTypeName() in
JCo 3.0.5, though this worked fine in JCo 3.0.0 to 3.0.4.
1. When creating the JCoCustomDestination, the scopeType was not passed to it.
2. The parser did a wrong interpretation of the nested row tag (item).
3. The default value processing was very rudimentary.
4. In such a case the registration seemed to be successful, but the gateway immediately
sends a first message signalling the insufficient permission. This message was
interpreted in a wrong way.
5. When a DestinationDataProvider is deregistered from JCo, the connections established
by destinations created from this provider should be closed. However, this did not work
for repository connections.
6. Not all configuration parameters were processed when updating a cached server
configuration. When a running server was updated and needed to be stopped due to the
changes, then the new instance was simply not started.
7. Both the server configuration parameter (jco.server.max_startup_delay) and the
middleware configuration parameter (jco.middleware.max_startup_delay) were not
processed correctly.
Solution
Upgrade to at least JCo 3.0.6, which is available on the download page under
http://service.sap.com/connectors -> SAP Java Connector -> Tools & Services -> Download SAP
JCo Release 3.0.<currentPatchLevel>. Please note that on Windows systems you need to make
sure that you use the updated ATL and C runtime provided by Microsoft. Otherwise JCo won't
work any more, the cause is the same as for the kernel as described in note 1375494, where
you can also find an installation description for the updated C runtime.
1. When creating the JCoCustomDestination the scopeType is now passed to it.
2. The parser can now deal with the representation of an empty row for a table type
with a table type as line type .
3. The default value processing was extended to provide values for most of the SY
fields, where a resonable value was possible.
4. The message signalling the insufficient permission is now considered to be an
unrecoverable configuration issue and hence the server is stopped immediately.
5. When a DestinationDataProvider is deregistered from JCo, the repository connections
are now closed.
6. The server configuration update processing was re-worked and does now check all
configuration options. Moreover, a running server is replaced by an updated instance
which is also started as necessary.
7. jco.server.max_startup_delay and jco.middleware.max_startup_delay are now processed
correctly.
Validity
Software Component From Rel. To Rel. And Subsequent
SAP JCO 3.0 3.0

Support Packages & Patches
Support Package Patches
Software Component Support Package Patch Level
J2EE ENGINE SERVERCORE 7.10 SP011 000000
References
This document refers to:
SAP Notes
1572431 SAP Java Connector Release 3.0.7
1557856 SAP Java IDoc Class Library Version 3.0.6
1493256 Metadata lookup in IDocLibrary 3.0 fails
1489157 Invalid parameter values with SY-Field defaults in JCo/JRA
1456826 Reduction in roundtrips with SAP Connectors
1438294 SAP Java Connector Release 3.0.5
1077727 SAP JCo 3.0 release and support strategy
This document is referenced by:
SAP Notes (8)
1572431 SAP Java Connector Release 3.0.7
1456826 Reduction in roundtrips with SAP Connectors
1475856 ScopeType ignored for JCoCustomDestination
1275665 Business Connector 4.8 Service Release 7 (SR7)
1557856 SAP Java IDoc Class Library Version 3.0.6
1438294 SAP Java Connector Release 3.0.5
1489157 Invalid parameter values with SY-Field defaults in JCo/JRA
1493256 Metadata lookup in IDocLibrary 3.0 fails
SAP Note
1438294 - SAP Java Connector Release 3.0.5
Version 2 Validity: 29.03.2010 -
active
Language English (Master)
Header Data
Released On 29.03.2010 15:26:18
Release Status Released for Customer
Component BC-MID-CON-JCO Java-Connector
Priority Correction with high priority
Category Program error
Symptom
1. A NullPointerException is thrown in the delta management for table parameters within
JCo.
2. Setting a value for a field of type BCD with a value containing an invalid
character, e.g. an 'a' is accepted withou en error.
3. When executing multiple tRFCs or bgRFCs in parallel threads, some of the tRFCs or
bgRFCs get lost without any error message. In particular, this can lead to data loss
during IDoc communication.
Other Terms
Reason and Prerequisites
The problems above have been caused by the following bugs in JCo 3.0.4:
1. The function module in ABAP executes a callback to destination BACK for a system
check.
2. JCo does not check whether the value consists only of digits, where digits are
expected.
3. A multi-threading issue in JCo 3.0.3 and 3.0.4 with respect to tRFC and bgRFC.
Solution
Upgrade to at least JCo 3.0.5, which is available on the download page under
http://service.sap.com/connectors -> SAP Java Connector -> Tools & Services -> Download SAP
JCo Release 3.0.<currentPatchLevel>. Please note that on Windows systems you need to make
sure that you use the updated ATL and C runtime provided by Microsoft. Otherwise JCo won't
work any more, the cause is the same as for the kernel as described in note 1375494, where
you can also find an installation description for the updated runtime.
1. Delta management in JCo does now act properly in case of callbacks.
2. JCo does now check for validity with regard to digits.
3. The cause for the multi-threading issue has been identified and fixed.
Read the release notes for more information.
Validity
Software Component From Rel. To Rel. And Subsequent
SAP JCO 3.0 3.0

References
This document refers to:
SAP Notes
1467969 SAP Java Connector Release 3.0.6
1438660 Loss of tRFCs and IDocs with JCo 3.0.3 and 3.0.4
1405464 SAP Java Connector Release 3.0.4
1077727 SAP JCo 3.0 release and support strategy
This document is referenced by:
SAP Notes (4)
1467969 SAP Java Connector Release 3.0.6
1405464 SAP Java Connector Release 3.0.4
1275665 Business Connector 4.8 Service Release 7 (SR7)
1438660 Loss of tRFCs and IDocs with JCo 3.0.3 and 3.0.4
SAP Note
1405464 - SAP Java Connector Release 3.0.4
Version 2 Validity: 23.12.2009 -
active
Language English (Master)
Header Data
Released On 23.12.2009 11:55:06
Release Status Released for Customer
Component BC-MID-CON-JCO Java-Connector
Priority Correction with medium priority
Category Program error
Symptom
1. When executing a synchronous call, a JCoException with the message "Incorrect size
of TID encountered [null]" is thrown.
2. When trying to communicate with an SAP system, the communcation fails with an
exception in the NI layer: hostname 'xxxxxxxx' unknown.
Other Terms
qRFC, z/OS, conversion
Reason and Prerequisites
The problems above have been caused by the following bugs in JCo 3.0.3:
1. The destination was set to stateful. When a qRFC was executed, the queue name was
stored in the connection context, but had not been reset after the function module
invocation, so that the succeeding call was interpreted as a qRFC again, leading to a
check for the TID. Such a TID is certainly not available for synchronous requests, and
as a consequence the exception is raised as mentioned above.
2. z/OS specific: JCo needs to run on an EBCDIC variant of z/OS. In that case some
ASCII/EBCDIC conversion was not done when looking up the address. (see also note
1406061)
Solution
Upgrade to at least JCo 3.0.4. Please note that on Windows systems you need to make sure
that you use the updated ATL and C runtime provided by Microsoft. Otherwise JCo won't work
any more, the cause is the same as for the kernel as described in note 1375494, where you
can also find an installation description for the updated runtime.
1. The queue name that is stored in the connection context is now reset after the
function module invocation.
2. The necessary ASCII/EBCDIC conversion is now done when looking up the address.
Read the release notes for more information.
Validity
Software Component From Rel. To Rel. And Subsequent
SAP JCO 3.0 3.0

SAP_BASIS 720 720

References
This document refers to:
SAP Notes
1438294 SAP Java Connector Release 3.0.5
1406061 z/OS: JCo 3.0.3: ERROR hostname unknown
1385673 SAP Java Connector Release 3.0.3
1375494 SAP system does not start after applying SAP kernel patch
1077727 SAP JCo 3.0 release and support strategy
This document is referenced by:
SAP Notes (4)
1385673 SAP Java Connector Release 3.0.3
1406061 z/OS: JCo 3.0.3: ERROR hostname unknown
1275665 Business Connector 4.8 Service Release 7 (SR7)
1438294 SAP Java Connector Release 3.0.5
SAP Note
1385673 - SAP Java Connector Release 3.0.3
Version 1 Validity: 15.09.2009
- active
Language English (Master)
Header Data
Released On 31.10.2009 19:26:11
Release Status Released for Customer
Component BC-MID-CON-JCO Java-Connector
Priority Correction with medium priority
Category Program error
Symptom
1. A NullPointerException is thrown, as soon as a new request for a JCoServer is
coming in.
2. When an implementation of a JCoServerTIDHandler throws an exception within
checkTID(), the exception message is not visible in the transaction monitor (sm58) of
the calling ABAP system.
3. The last field within table rows or a structure does not contain valid values, even
though values have been sent by the communication partner.
4. A StackOverflowError occurs in the JCoRepository.
5. The value of a changing parameter is not available in the response of a function
module invocation.
Other Terms
NullPointerException, StackOverflowError,
Reason and Prerequisites
The problems above have been caused by the following bugs in JCo 3.0.2:
1. There were some prerequisites: The JCoServer configuration had been updated within
a ServerDataProvider that did not support events. Afterwards that server was started
again, but had not been stopped properly before. This led to an inconsistency within
the JCoServer management.
2. If an exception occurred in checkTID(), the message text was not sent to the
caller.
3. If the last field in the metadata of the structure or table in the sending partner
system has a shorter length than JCo is using for receiving the data, the last field
value had simply been dropped.
4. If two lookups in a JCoRepository occurred simultaneously in two threads, an
inconsistency could occur caused by race conditions when adding the metadata to the
cache storage.
5. If the JCo application did not set a value to a changing parameter, it simply was
not sent to the ABAP system, and as a consequence was also not sent back after the
function module processing.
Solution
Upgrade to JCo 3.0.3.
1. The inconsistency in the JCoServer management has been removed.
2. If an excecption occurs in checkTID, the message text is now sent to the caller.
3. The last field within table rows or a structure is now filled with all the data
available from the partner.
4. Race conditions while adding metadata to the cache are now avoided.
5. A changing parameter will now always be sent to the ABAP system, except for the
case that the application set it to inactive.
Read the release notes for more information.
Validity
Software Component From Rel. To Rel. And Subsequent
SAP JCO 3.0 3.0

References
This document refers to:
SAP Notes
1405464 SAP Java Connector Release 3.0.4
1388694 Hanging connections to JCo
1358698 JCo cuts off last field of a structure or table
1310832 SAP Java Connector Release 3.0.2
1077727 SAP JCo 3.0 release and support strategy
This document is referenced by:
SAP Notes (4)
1388694 Hanging connections to JCo
1405464 SAP Java Connector Release 3.0.4
1275665 Business Connector 4.8 Service Release 7 (SR7)
1310832 SAP Java Connector Release 3.0.2
SAP Note
1310832 - SAP Java Connector Release 3.0.2
Version 3 Validity: 16.04.2009
- active
Language English (Master)
Header Data
Released On 16.04.2009 14:00:25
Release Status Released for Customer
Component BC-MID-CON-JCO Java-Connector
Priority Correction with medium priority
Category Program error
Symptom
1. When setting one digit values (e.g. 4 or 7) for BCD fields, the resulting value is
always 0.0 - with n times the digit 0 after the dot, corresponding to the number of
decimals (n) in the metadata definition of that field.
2. When a failure occurs while opening a connection, the error group
JCO_ERROR_CANCELLED with the exception message "Handle close pending" is coming up,
instead of the expected JCO_ERROR_LOGON_FAILURE with the correct error message.
3. Stateful server connections cannot be set to stateless again.
4. Under very high load both getUsedServerThreadCount() and
getMaximumUsedServerThreadCount() are increasing above the configured maximum, until
the load is lower again and then remain at the wrong high level.
5. A ConversionException is thrown when trying to get a negative value from a field of
type CHAR as a converted numeric value, if the value has been assigned to the CHAR
field in ABAP code.
6. A java.lang.UnsatisfiedLinkError with the message
com.sap.i18n.cp.ConverterJNI.ConvertCToXArrR([B[CII[BII[I)I occurs, when a blended
codepage is used, e.g. 6100.
7. If the path to the SAP GUI startup script contains blanks, starting the Java GUI
fails on MacOS and Unix platforms.
8. If a table is part of the changing parameter list, and is not containing any row,
then the table is always returned empty after having executed the function module.
9. Certain data types are not returned correctly by getRecordMetaData(), if there is a
table type with a table type as line type somewhere in a deeply nested type
definition.
Other Terms
vector, session management, BCD, stateful, logon failure,
Reason and Prerequisites
The problems above have been caused by the following bugs in JCo 3.0.1:
1. One digit values were interpreted incorrectly.
2. When adding a timeout for the logon in JCo 3.0.1, logon failures have not been
mapped correctly to the expected exception.
3. The setStateful(false) invocation on the JCoServerContext was simply ignored.
4. The counter for the monitor value was only increased in high load scenarios, but
never decreased.
5. ABAP stores negative values with a sign after the number value, e.g. 1-, which is
not accepted by the Java parse<NumberType> methods.
6. The native methods needed for blended codepages were not exported in the JNI
library.
7. The command to start a Java GUI was not created properly in that case.
8. JCo did not send a table to ABAP, if the table had no rows and was part of a
changing parameter list. Therefore ABAP did not send the (filled) table back either.
9. The interpretation of the returned values in the metadata function modules for
those data types was not done correctly.
Solution
Upgrade to JCo 3.0.2.
1. One digit values are now interpreted incorrectly.
2. Logon failures are again mapped correctly to the expected exception.
3. The setStateful(false) invocation on the JCoServerContext is now handled.
4. The counter for the monitor value is now increased and decreased correctly.
5. Before passing the value to the parse<NumberType> method, JCo moves the negative
sign from the end to the beginning of the value, if necessary.
6. The native methods needed for blended codepages were added to the export list in
the JNI library.
7. The command to start a Java GUI can now deal with blanks in the path name of the
executable.
8. JCo is now always sending the table to ABAP, if the table is not set to inactive.
9. The metadata for the nested table types is now created properly.
Read the release notes for more information.
Validity
Software Component From Rel. To Rel. And Subsequent
SAP JCO 3.0 3.0

References
This document refers to:
SAP Notes
1385673 SAP Java Connector Release 3.0.3
1312880 Security Note: clear text password in trace file
1298438 Hanging JCo threads
1264236 SAP Java Connector Release 3.0.1
1077727 SAP JCo 3.0 release and support strategy
This document is referenced by:
SAP Notes (5)
1385673 SAP Java Connector Release 3.0.3
1264236 SAP Java Connector Release 3.0.1
1275665 Business Connector 4.8 Service Release 7 (SR7)
1298438 Hanging JCo threads
1312880 Security Note: clear text password in trace file
SAP Note
1264236 - SAP Java Connector Release 3.0.1
Version 2 Validity: 18.11.2008
- active
Language English (Master)
Header Data
Released On 18.11.2008 09:28:30
Release Status Released for Customer
Component BC-MID-CON-JCO Java-Connector
Priority Correction with medium priority
Category Program error
Symptom
1. Your function module needs to run with a SAP GUI attached, but you are not able to
attach one. The property "jco.client.use_sapgui" results in the error message "No GUI
available".
2. A thread dump of your application shows that there is either no
JCoDispatcherWorkerThread or even two of them, leading to either no RFC requests being
processed by your application or to crashes, when both threads access the same native
memory at the same time. In one Java process exactly one JCoDispatcherWorkerThread
needs to exist, independent of the number of JCoServers that has been started.
3. An ArrayIndexOutOfBoundsException is thrown, when working with function modules
that contain more than 127 non-scalar parameters in one parameter list.
4. When using default values for BCD variables, a runtime error BCD_BADDATA occurs on
ABAP side.
5. During stateful server communication, the connection is broken during a second or
later call, if the data volume on the line is larger than 16000 bytes. In the
dev_jco_rfc.trc file messages like "com.sap.conn.jco.JCoException: (102)
RFC_ERROR_COMMUNICATION: CPIC-CALL: CMRCV on convId: 30129925 no SAP ErrInfo
available" can be seen.
Small data volumes can be processed without an error.
6. An ArrayIndexOutOfBoundsException: 10000 is thrown, when trying to connect to an
arbitrary backend, and thus the connection fails.
Other Terms
SAP GUI, Popup, ArrayIndexOutOfBoundsException, BCD, packed, connection leak, stateful,
BCD_BADDATA
Reason and Prerequisites
The above problems have been caused by the following bugs and missing features in JCo 3.0.0:
1. JCo 3.0.0 is lacking support for starting a SAP GUI by setting the
"jco.client.use_sapui" property.
2. There are synchronization issues when starting the JCoDispatcherThread.
Furthermore, severe errors under high load could end the JCoDispatcherThread.
3. An overflow in the counter for non-scalar parameters occurred.
4. The default value for BCD values was encoded incorrectly.
5. An inconsistency between the JCo RFC and the CPIC layer leads to the cancellation
of the connection.
6. This is due to a connection leak caused by exceptions when trying to abort a
connection. See details in note 1252962.
Solution
Upgrade to JCo 3.0.1.
1. It's now possible to start a SAP GUI locally with a newly introduced starting
method, and attach it afterwards to the JCo connection. Note 1258724 describes the
prerequisite of the backend for this new method.
2. The synchronization issues have been solved and more errors are caught within the
run method of the dispatcher thread.
3. The type of the counter was changed from byte to int.
4. The default value is now encoded correctly.
5. The inconsistency between the JCo RFC and the CPIC layer has been removed.
6. The connection leak has been removed.
Read the release notes for more information. Moreover, new platforms are now supported with
3.0.1:
Solaris on x86_64
Linux on PowerPC64
IBM i (also known as OS/400...)
z/OS
Read the details about the platform support in note 1077727.
Validity
Software Component From Rel. To Rel. And Subsequent
SAP JCO 3.0 3.0

References
This document refers to:
SAP Notes
1310832 SAP Java Connector Release 3.0.2
1258724 Starting SAPGUI using external RFC libraries
1252962 ArrayIndexOutOfBoundsException when opening a connection
1077727 SAP JCo 3.0 release and support strategy
This document is referenced by:
SAP Notes (4)
1252962 ArrayIndexOutOfBoundsException when opening a connection
1258724 Starting SAPGUI using external RFC libraries
1275665 Business Connector 4.8 Service Release 7 (SR7)
1310832 SAP Java Connector Release 3.0.2
SAP Note
1077727 - SAP JCo 3.0 release and support strategy
Version 27 Validity:
30.04.2014 - active
Language English (Master)
Header Data
Released On 01.05.2014 05:21:09
Release Status Released for Customer
Component BC-MID-CON-JCO Java-Connector
BC-MID-BUS Business Connector
Priority Recommendations / Additional Info
Other Components
Category Release planning information
Symptom
Supported platforms and JDKs for the SAP Java Connector 3.0 (SAP JCo 3.0).
Other Terms
SAP Java Connector, JCo, SAPJCO, sapjco3.jar, JCo3, life cycle, download, version,
release, patch level, SAP Service Marketplace, SMP
Reason and Prerequisites
SAP JCo 3.0 is replacing SAP JCo 2.0 and SAP JCo 2.1 and is released for Java 5, Java 6
and Java 7.
Note that SAP JCo 3.0 is incompatible with former versions of SAP JCo. For details and
migration instructions read the documentation of SAP JCo 3.0.
Solution
SAP JCo 3.0 is made available to customers according to the license agreement for SAP JCo
(For details of the agreement see http://service.sap.com/connectors).
JCo 3.0 is supported for the SAP JVM 5 and SAP JVM 6 as well as for the Java 5, Java 6 and
Java 7 Standard Editions of the corresponding platform vendor. It is recommended to use the
SAP JVM 5 or 6, because it adds further diagnostic support features and it is also not subject
to the end-of-maintenance restrictions of the JVMs of other vendors.
The end of maintenance and support for SAP JCo 3.0 is scheduled for December 31, 2017.
The format of the JCo version number is <MajorRelease>.<MinorRelease>.<PatchLevel>.
Only the latest patch level of each release is supported and available for download via the
SAP Service Marketplace at
http://service.sap.com/connectors
-> SAP Java Connector
-> Tools & Services
-> Download SAP JCo Release 3.0
Generally a new patch level is downwards compatible to the previous patch levels of the
same release. So the files of an old JCo 3.0 installation may simply be replaced with the latest
ones.
Currently, the latest patch level for SAP JCo 3.0 is version 3.0.11.
On Windows platforms, JCo 3.0 requires the Visual Studio 2005 C/C++ runtime libraries
(8.0.50727.4053) to be installed on the system. See SAP note 1375494 for details on how to
install them.
The JCo 3.0 release is supported for the following operating systems in combination with the
SAP JVM 5 or the Java 5 Standard Edition of the corresponding platform vendor [mentioned
in brackets]:
Windows x86 32bit (Versions: Windows Server 2003, Windows XP, Windows Vista,
Windows 7, Windows 8) [Oracle JSE 1.5.0]
Windows x64 64bit (Versions: Windows Server 2003, Windows Server 2008, Windows
Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows XP,
Windows Vista, Windows 7, Windows 8) [Oracle JSE 1.5.0]
Windows Itanium 64bit (Versions: Windows Server 2003, Windows Server 2008,
Windows Server 2008 R2) [Oracle JSE 1.5.0]
Linux x86 32bit (Versions: SuSE SLES9, SuSE SLES10, SuSE SLES11, RedHat EL4,
RedHat EL5, RedHat EL6) [IBM or Oracle JSE 1.5.0]
Linux x86 64bit (Versions: SuSE SLES9, SuSE SLES10, SuSE SLES11, RedHat EL4,
RedHat EL5, RedHat EL6) [IBM or Oracle JSE 1.5.0]
Linux Itanium 64bit (Versions: SuSE SLES9, SuSE SLES10, RedHat EL4, RedHat EL5)
[Oracle JSE 1.5.0]
Linux zSeries 64bit (Versions: SuSE SLES9, SuSE SLES10, RedHat EL5) [IBM JSE
1.5.0]
Linux PowerPC 64bit (Versions: SuSE SLES9, SuSE SLES10, SuSE SLES11, RedHat
EL4, RedHat EL5, RedHat EL6) [IBM JSE 1.5.0]
AIX 64bit (Versions: 5.2, 5.3, 6.1, 7.1) [IBM JSE 1.5.0]
HP-UX PA-RISC (Versions: HP-UX B11.11, B11.23, B11.31) [HP JSE 1.5.0]
HP-UX Itanium (Versions: HP-UX B11.23, B11.31) [HP JSE 1.5.0]
Solaris SPARC 64bit (Versions: 9, 10) [Oracle JSE 1.5.0]
Solaris x64 (Version: 10) [Oracle JSE 1.5.0]
Apple MAC OS X Intel 32bit (Versions: 10.4, 10.5) [Apple JSE 1.5.0]
Apple MAC OS X Intel 64bit (Versions: 10.4, 10.5) [Apple JSE 1.5.0]
z/OS 64bit (Versions: 1.8, 1.9) (For details on JCo on z/OS please see also SAP note
1253440.) [IBM JSE 1.5.0]
IBM i 64bit (Versions: V5R4, V6R1) [IBM JSE 1.5.0]

The JCo 3.0 release is supported for the following operating systems in combination with the
SAP JVM 6 or the Java 6 Standard Edition of the corresponding platform vendor [mentioned
in brackets]:
Windows x86 32bit (Versions: Windows Server 2003, Windows Server 2008, Windows
XP, Windows Vista, Windows 7, Windows 8) [Oracle JSE 1.6.0]
Windows x64 64bit (Versions: Windows Server 2003, Windows Server 2008, Windows
Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows XP,
Windows Vista, Windows 7, Windows 8) [Oracle JSE 1.6.0]
Windows Itanium 64bit (Versions: Windows Server 2003, Windows Server 2008,
Windows Server 2008 R2, Windows 7) [Oracle JSE 1.6.0]
Linux x86 32bit (Versions: SuSE SLES10, SuSE SLES11, RedHat EL5, RedHat EL6)
[IBM or Oracle JSE 1.6.0]
Linux x86 64bit (Versions: SuSE SLES10, SuSE SLES11, RedHat EL5, RedHat EL6)
[IBM or Oracle JSE 1.6.0]
Linux Itanium 64bit (Versions: SuSE SLES10, RedHat EL5) [Oracle JSE 1.6.0]
Linux zSeries 64bit (Versions: SuSE SLES10, RedHat EL5) [IBM JSE 1.6.0]
Linux PowerPC 64bit (Versions: SuSE SLES10, SuSE SLES11, RedHat EL5, RedHat
EL6) [IBM JSE 1.6.0]
AIX 64bit (Versions: 5.3, 6.1, 7.1) [IBM JSE 1.6.0]
HP-UX Itanium (Versions: HP-UX B11.23, B11.31) [HP JSE 1.6.0]
Solaris SPARC 64bit (Versions: 10, 11) [Oracle JSE 1.6.0]
Solaris x64 (Versions: 10, 11) [Oracle JSE 1.6.0]
Apple MAC OS X Intel 32bit (Versions: 10.6, 10.7, 10.8, 10.9) [Apple JSE 1.6.0]
Apple MAC OS X Intel 64bit (Versions: 10.5, 10.6, 10.7, 10.8, 10.9) [Apple JSE 1.6.0]
z/OS 64bit (Versions: 1.8, 1.9, 1.10, 1.11, 1.12, 1.13) (For details on JCo on z/OS
please see also SAP note 1253440.) [IBM JSE 1.6.0]
IBM i 64bit (Versions: V6R1, V7R1, V7R2) [IBM JSE 1.6.0]

The JCo 3.0 release is supported for the following operating systems in combination with the
Java 7 Standard Edition of the corresponding platform vendor [mentioned in brackets]:
Windows x86 32bit (Versions: Windows XP, Windows 7, Windows 8) [Oracle JSE 1.7.0]
Windows x64 64bit (Versions: Windows Server 2003, Windows Server 2008, Windows
Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows 7,
Windows 8) [Oracle JSE 1.7.0]
Linux x86 32bit (Versions: SuSE SLES10, SuSE SLES11, RedHat EL5, RedHat EL6)
[IBM or Oracle JSE 1.7.0]
Linux x86 64bit (Versions: SuSE SLES10, SuSE SLES11, RedHat EL5, RedHat EL6)
[IBM or Oracle JSE 1.7.0]
Linux zSeries 64bit (Versions: SuSE SLES11, RedHat EL6) [IBM JSE 1.7.0]
Linux PowerPC 64bit (Versions: SuSE SLES11, RedHat EL5, RedHat EL6) [IBM JSE
1.7.0]
AIX 64bit (Versions: 6.1, 7.1) [IBM JSE 1.7.0]
Solaris SPARC 64bit (Version: 11) [Oracle JSE 1.7.0]
Solaris x64 (Version: 11) [Oracle JSE 1.7.0]
Apple MAC OS X Intel 64bit (Versions: 10.7, 10.8, 10.9) [Oracle JSE 1.7.0]
z/OS 64bit (Versions: 1.13, 2.1) (For details on JCo on z/OS please see also SAP note
1253440.) [IBM JSE 1.7.0]
IBM i 64bit (Version: V7R2) [IBM JSE 1.7.0]

Note: JCo 3.0 requires for all Java Runtime Environments (JRE) that the used Java
Cryptography Extension (JCE) has to offer a provider which supports the MD5 hash
algorithm. This is already the case with the default JCE of all SAP JVMs and the mentioned
vendor JSEs but needs to be considered if registering and using other JCE providers
exclusively.
Validity
Software Component From Rel. To Rel. And Subsequent
SAP JCO 3.0 3.0

References
This document refers to:
SAP Notes
1919773 SAP Java Connector Release 3.0.11
1900587 SAP Java IDoc Class Library Release 3.0.10
1877907 Support of extern-to-extern RFC communication with JCo 3.0
1663178 New prerequisites for SAP JVM 5.1 and 6.1 on AIX
1375494 SAP system does not start after applying SAP kernel patch
1269638 Setting up the different Java JVMs for JCo3 on IBM i
1253440 SAP JCo on z/OS
549268 SAP JCo 2.x release and support strategy
This document is referenced by:
SAP Notes (28)
1671480 SAP Java Connector Release 3.0.9
1425520 Disable NI cache for host and service names
1681565 SAP Java Connector 3.0 Hotfix installation
1557856 SAP Java IDoc Class Library Version 3.0.6
1438294 SAP Java Connector Release 3.0.5
1310832 SAP Java Connector Release 3.0.2
1278181 Usage of CTS+ Command Line Tool (Export)
1877907 Support of extern-to-extern RFC communication with JCo 3.0
2026482 SAP Java IDoc Class Library Release 3.0.11
1375494 SAP system does not start after applying SAP kernel patch
1748457 SAP Java Connector Release 3.0.10
2032963 DB2-z/OS: Recommended Java SDK for z/OS
1752456 SAP Java IDoc Class Library 3.0 Hotfix installation
1900587 SAP Java IDoc Class Library Release 3.0.10
549268 SAP JCo 2.x release and support strategy
1567669 SAP Java IDoc Class Library Release 3.0.7
1572431 SAP Java Connector Release 3.0.7
1582525 CTS+ Integration for SBOP PC MS 7.5 and 10.0
1467969 SAP Java Connector Release 3.0.6
1385673 SAP Java Connector Release 3.0.3
1388694 Hanging connections to JCo
1643299 SAP Java Connector Release 3.0.8
1855836 SAP Java IDoc Class Library Release 3.0.9
1253440 SAP JCo on z/OS
1405464 SAP Java Connector Release 3.0.4
1264236 SAP Java Connector Release 3.0.1
1269638 Setting up the different Java JVMs for JCo3 on IBM i
1919773 SAP Java Connector Release 3.0.11

You might also like