Release Notes for SAP .NET Connector (NCo)
==========================================
Please read the license terms and release notes carefully.
--------------------------------------------------------------------------------
This product is property of SAP AG. You are granted usage of this product in
your development environment. Deploying this product with your application in a
production environment is only valid with the sufficient amount of SAP Software
Licenses according to the terms and conditions of SAP Software.
THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
SAP AG further does not warrant the accuracy or completeness of the information,
text, graphics, links or other items contained within these materials. SAP AG
shall not be liable for any special, indirect, incidental or consequential
damages, including without limitation, lost revenues or lost profits, which may
result from the use of these materials. The information in this software is
subject to change without notice and does not represent a commitment on the
part of SAP AG in the future.
--------------------------------------------------------------------------------
Release Notes 3.0.8
* Bugfix: destination configuration
Changing the trace level of a destination by modifying the configuration of
the destination had no effect on property TraceLevel for that destination,
even when a configuration update event was fired.
* Bugfix: destination configuration
Using the connection parameter CharacterFaultIndicatorToken incurred an
RfcInvalidParameterException, as the 4-digit string value was attempted to be
parsed as a 1-byte integer.
* Bugfix: repository persistence
Deserialized table metadata (using RfcRepository.Load) and all containers
using it might exhibit iconsistent behavior; e.g., (table) parameter values
might be empty where a non-empty table was expected, because the table
metadata obtained through RfcRepository.Load was not properly set up.
* Bugfix: server runtime
In the server case, received parameters might not be deserialized (e.g., the
TID transmitted in the context of ARFC_DEST_CONFIRM was an empty string). This
issue was hard to reproduce since it was happening rarely and randomly.
Typically, the issue was most likely to occur if there was only one server
connection (i.e., REG_COUNT=1).
* Bugfix: destination management runtime
Destinations were replaced (shown as REPLACED in trace files) even though the
destination configuration did not change. However, critical parameters that
warrant a destination replacement were provided by the configuration in a
non-normalized manner; for instance, SYSNR="5" (instead of SYSNR="05").
Those were considered modified, as the destination always holds normalized
values, whereas the configuration may provide values that were not normalized
and hence different.
* Bugfix: SAPRouter string handling
When trying to establish a connection to an ABAP system, which is configured
to use load balancing, the connection shall be established via a SAPRouter, and
the saprouter string has a trailing /H/, establishing the connection failed.
* Enhancement: Support for saplogon.ini
Applications that want to reuse logon parameters maintained in a saplogon.ini
file on the current host can do so now. For a complete documentation of the
new feature see the API documentation of class
SAP.Middleware.Connector.SapLogonIniConfiguration.
* Enhancement: new property on IRFCParameter
Introduction of property IRfcParameter.DefaultValue. See API documentation
for details.
* Enhancement: logging
The dev_nco_rfc.log file entries were enhanced to contain the process ID so
that it's easier to correlate them with the corresponding trace files.
* Enhancement: logon procedure
Improved logon procedure for languages available in Unicode SAP systems only.
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 configuration parameter like RfcConfigParameters.Codepage
(CODEPAGE) which was indicating a unicode communication type, otherwise such
logons failed with an RfcLogonException 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 note 895560
(https://service.sap.com/sap/support/notes/895560) for details on languages
that are only available in Unicode SAP systems.
* Enhancement: DNS caching configuration
With the new properties GeneralConfiguration.DNSCacheTTL and
GeneralConfiguration.DNSNegativeCacheTTL it is possible to configure the
behavior of the DNS caches in NI. See API documentation for details.
In addition, the GeneralSettings section in app.config has been extended
to support dnsCacheTTL and dnsNegativeCacheTTL.
* Enhancement: CPIC tracing
Instead of having to set the environment variable CPIC_TRACE for turning on
CPIC trace, NCo now offers GeneralConfiguration.CPICTraceLevel. Thus, it is
possible to adjust the CPIC trace level at runtime without having to restart
the executable. See API documentation for details. In addition, the
GeneralSettings section in app.config has been extended to support
cpicTraceLevel.
--------------------------------------------------------------------------------
Release Notes 3.0.7
* Bugfix: monitoring
RfcDestinationMonitor.GetConnectionsData() always returned an empty list. Now,
all RfcConnectionData belonging to the destination are returned in a list.
* Bugfix: repository - dynamic metadata lookup
When using RFC_METADATA_GET for roundtrip optimization, the metadata might be
faulty (e.g., character fields had the wrong length). This happened
exclusively in connection with parameter metadata in the case when the type of
the parameter was a predefined type (defined through a predefined field of a
structure).
* Bugfix: connection management
Peak connection limit was exceeded although the number of active connections
did not exceed that limit. This happened after communication failures
(RfcCommunicationException), because those connections were not removed from
the list of active connections. Eventually, that list is clogged up with
invalid connections.
* Bugfix: communication runtime
When not configuring the language in a destination, English was used instead
of the default language as configured for the corresponding user in the
backend. In case there is no language provided through the configuration,
the NCo runtime internally added English as configured value for the language,
which was not correct.
* Bugfix: communication runtime
An ArgumentOutOfRangeException with the message "Length cannot be less than zero"
was thrown when invoking a function module a function module that is implemented
on top of VM container, i.e. a function module implemented in Java,
e.g. CFG_API_CREATE_CONFIG. The call stack of the exception was similar to the one
below
Parameter name: length
at System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
at SAP.Middleware.Connector.RfcConnection.ReadRfcCDestination(Int32 length)
at SAP.Middlew