Setting the properties in the ISAPConnector interface sometimes doesn't work, if you are calling from a strong typed environment.
There is a known bug in the MTS standard marshaler which leeds to the fact that sometimes parameters are not correctly transported when the interface you are using is inherited by another interface within the same type library. Because this is always true for all properties and methods of the ISAPConnector interface, this might occur there.
Very problematic is that you don't get any compile or runtime error messages. You only see destroyed data being transported.
The Problem is fixed by the NT Service Pack 4.
If you do not have NT Service Pack 4,
you must access all properties and methods of ISAPConnector
via IDispatch only.
For VB this means that you must use a pointer
declared with 'Dim .. as Object'. For C++ this
means that you must use the Invoke method of the
business object interface for the elements of ISAPConnector.
Another way to circumvent the problem is by not inheriting the object's interface from ISAPConnector. Simply inherit from IDispatch. You then must inherit to ISAPConnector explicitly however by
class ... : public CSapConnector< ... >,
public ISAPConnector
within the class definition of the business object.
Please note that you cannot use this interface
then from scripting environments like ASP, because there is no
support for QueryInterface. Even in VB it is dangerous to work with
such an interface because an assignment to a pointer declared with
'Dim .. as Object' casts the interface back to
the main interface of
the business object.
The error message 'cannot load R/3 Transaction Compensator.' is received when calling a method of a business object.
Business object is marked as transactional, but transaction support is not yet included into DCOM Connector.
Mark all objects which access R/3 as 'does not support transactions' using the MTS Management Console.
You receive the error message "Automation Server can't create object" during the installation of the DCOM Connector.
If you have the Scripting Debugger installed, you'll see the execution has stopped in a call to the object "Scripting.FileSystemObject".
You didn't install the Scripting Host from the NT Option Pack or the installation is damaged.
You can ignore the error. You must then manually enter the installation paths for the several DLLs. Better you install Microsoft Scripting Host, however.