The adapter "WCF-Custom" raised an error message. Details "Microsoft.ServiceModel.Channels.Common.MetadataException: RFC IDOC_INBOUND_ASYNCHRONOUSM could not be resolved against SAP system because its metadata could not be obtained. ---> Microsoft.Adapters.SAP.RFCException: Details: ErrorCode=RFC_EXCEPTION. ErrorGroup=RFC_ERROR_APPLICATION_EXCEPTION. SapErrorMessage=FU_NOT_FOUND. AdapterErrorMessage=An error occurred while determining the function interface of the RFC IDOC_INBOUND_ASYNCHRONOUSM.then you might use a the new WCF SAP adapter with a Non-Unicode RFC Destination. The BizTalk Adapter Pack 2013 does not seem to be compatible with Non-Unicode RFC as it was before. The only solution seems to be to create a new RFC Destination in SAP.
Random pitfalls (and their solutions) in EAI technologies such as BizTalk
Showing posts with label SAP. Show all posts
Showing posts with label SAP. Show all posts
Friday, June 13, 2014
SAP WCF MetadataException "RFC IDOC_INBOUND_ASYNCHRONOUSM could not be resolved against SAP"
If you run into this error
Monday, May 12, 2014
Typical Problems Making SAP BAPI Calls
This is an uncomplete list of typical problems when you run BAPI calls.
1. If you get an empty result from SAP, you have to pass a stub of the result that you expect (read http://blogs.msdn.com/b/adapters/archive/2008/01/10/when-i-execute-bapis-i-don-t-get-back-any-data-help.aspx for more information).
2. If you get this exception
If you are aware of (1) and (2), a working BAPI Call would be:
1. If you get an empty result from SAP, you have to pass a stub of the result that you expect (read http://blogs.msdn.com/b/adapters/archive/2008/01/10/when-i-execute-bapis-i-don-t-get-back-any-data-help.aspx for more information).
2. If you get this exception
Microsoft.ServiceModel.Channels.Common.XmlReaderGenerationException: An error occurred when trying to convert the byte array [30-00-30-00-30-00-30-00-30-00-30-00-30-00-30-00] of RFCTYPE RFCTYPE_DATE with length 8 and decimals 0 to XML format. Parameter/field name: CLEAR_DATE Error message: Die Parameter "Year", "Month", und "Day" beschreiben eine nicht darstellbare DateTime.you might want to create the Biztalk BAPI schema with enableSafeTyping=true. Also use this option during run-time. You can then use dates in the form of YYYYMMDD.
If you are aware of (1) and (2), a working BAPI Call would be:
<ns0:GETSTATEMENT xmlns:ns0="http://Microsoft.LobServices.Sap/2007/03/Bapi/BUS3007/"> <ns0:COMPANYCODE>xxx</ns0:COMPANYCODE> <ns0:CUSTOMER>xxx</ns0:CUSTOMER> <ns0:DATE_FROM>20140101</ns0:DATE_FROM> <ns0:DATE_TO>20140505</ns0:DATE_TO> <ns0:NOTEDITEMS>X</ns0:NOTEDITEMS> <ns0:LINEITEMS /> </ns0:GETSTATEMENT>Thanks, Mirko!
Tuesday, April 1, 2014
Visual Studio's Consume Adapter Wizard does not show the SAP IDoc you search
There are several reasons, if you can't see an SAP IDoc in the "Consume Adapter Wizard"-List.
First, their might be a resitriction in SAP: You could analyse this in se37 calling IDOCTYPE_READ_COMPLETE. Thanks for the help, Patrick!
Second, you might search for a basic type but the wizard only list message types (and one level deeper, its basis type). Thanks, Christian!
Third, the IDoc search in the wizard does not search for basic types, so you really have to find out what message type uses this basic type.
You can find a good explanation on IDoc opertions on MSDN.
First, their might be a resitriction in SAP: You could analyse this in se37 calling IDOCTYPE_READ_COMPLETE. Thanks for the help, Patrick!
Second, you might search for a basic type but the wizard only list message types (and one level deeper, its basis type). Thanks, Christian!
Third, the IDoc search in the wizard does not search for basic types, so you really have to find out what message type uses this basic type.
You can find a good explanation on IDoc opertions on MSDN.
Labels:
Biztalk,
Consume Adapter Wizard,
SAP,
WCF adapter,
WCF LOB adapter
Monday, February 17, 2014
Request-Response for WCF-Custom Receive Location Timed Out
In case you get the following error
...then your Receive Location with a WCF-Custom adapter and SAP-Binding run into a time-out while sending the reply to the SAP system. In this case, you might accidently have used a transactional RFC connection, that happens if you use a Request Response Receive Location instead of a One-Way Receive Location (for example, because Visual Studio created you a binding with Request Response RL).
To solive this, you could either use a Request Response RL and send the response by your own, or you simply switch to a One-Way RL.
A request-response for the "WCF-Custom" adapter at receive location "sap://CLIENT=xxx;LANG=DE;@d/ABCDEF?ListenerDest=VWXYZ&RfcSdkTrace=True&AbapDebug=False" has timed out before a response could be delivered.
...then your Receive Location with a WCF-Custom adapter and SAP-Binding run into a time-out while sending the reply to the SAP system. In this case, you might accidently have used a transactional RFC connection, that happens if you use a Request Response Receive Location instead of a One-Way Receive Location (for example, because Visual Studio created you a binding with Request Response RL).
To solive this, you could either use a Request Response RL and send the response by your own, or you simply switch to a One-Way RL.
Monday, January 27, 2014
WCF LOB Adapter Exception "Melden Sie sich mit einem Dialogbenutzer an"
If you receive the folgenden error message in the SAP WCF dialog:
If you set AbapDebug to "true", you have to log on with a Dialog user.
...you might have set AbapDebug to "true", like I did in my WCF URI "sap://CLIENT=800;LANG=DE;@A/sap.host.de/00?ListenerDest=ABC&ListenerProgramId=DEF&RfcSdkTrace=False&AbapDebug=True"Connecting to the LOB system has failed.Details: ErrorCode=RFC_OK. ErrorGroup=RFC_ERROR_LOGON_FAILURE. SapErrorMessage=Melden Sie sich mit einem Dialogbenutzer an. AdapterErrorMessage=..
If you set AbapDebug to "true", you have to log on with a Dialog user.
Friday, January 24, 2014
WCF LOB Adapter Exception: "Connect from SAP gateway to RFC server failed"
If the WCF LOB Adapter Pack receives a RFC_ERROR_COMMUNICATION from SAP saying "Connect from SAP gateway to RFC server failed", you have to double check that all network settings are correct so that send and receive are possible. In our case that NATting of the response did not reach us, while we could track our call successfully on the firewall.
Other reasons might be SAP configuration or missing entries in services file.
Other reasons might be SAP configuration or missing entries in services file.
Friday, June 18, 2010
Guest post: Misleading error message with SAP WCF custom adapter
In an IDOC receive scenario using the WCF custom adapter with SAP binding we received the following error messages:
The adapter "WCF-Custom" raised an error message. Details "Microsoft.Adapters.SAP.RFCException: Details: ErrorCode=RFC_EXCEPTION. ErrorGroup=RFC_ERROR_APPLICATION_EXCEPTION. SapErrorMessage=OBJECT_UNKNOWN. AdapterErrorMessage=Error returned by RfcCallReceiveEx while calling RFC: IDOCTYPE_READ_COMPLETE..
The solution is quite simple as it resides in the SAP setting for the RFC connection, transaction SM59. Switching the communication type to Unicode solved the problem.

(This post is brougth to you by Franziska Kirschner, our great new team member)
The adapter "WCF-Custom" raised an error message. Details "Microsoft.Adapters.SAP.RFCException: Details: ErrorCode=RFC_EXCEPTION. ErrorGroup=RFC_ERROR_APPLICATION_EXCEPTION. SapErrorMessage=OBJECT_UNKNOWN. AdapterErrorMessage=Error returned by RfcCallReceiveEx while calling RFC: IDOCTYPE_READ_COMPLETE..
The solution is quite simple as it resides in the SAP setting for the RFC connection, transaction SM59. Switching the communication type to Unicode solved the problem.

(This post is brougth to you by Franziska Kirschner, our great new team member)
Tuesday, March 10, 2009
Sending Big IDocs with the WCF-Custom-Adapter
In MSDN, there's a good explanation how to connect BizTalk and SAP with the WCF-Custom-Adapter. However, if you want to send big IDocs, there are some boundaries:
If you use the action Idoc, you could get an exception like: "Failed to allocate a managed memory buffer of 123982965 bytes. The amount of available memory may be low."
If you use SendIdoc instead, you get an exception in the receive pipeline: "Attempt to pass a delimited field greater than the maximum field length of 50000000."
As soon as I find something out, I post it here.
If you use the action Idoc, you could get an exception like: "Failed to allocate a managed memory buffer of 123982965 bytes. The amount of available memory may be low."
If you use SendIdoc instead, you get an exception in the receive pipeline: "Attempt to pass a delimited field greater than the maximum field length of 50000000."
As soon as I find something out, I post it here.
Labels:
Biztalk,
BizTalk Limitation,
IDoc,
SAP,
SAP adapter,
SendIdoc,
WCF adapter
Tuesday, January 20, 2009
How does the SAP adapter retrieve the list of IDocs?
At a customer, we had the problem that the SAP adapter (building on SAP .net Connector v1.0.2) didn't retrieve the IDoc that we wanted to call:

To analyse how the SAP adapter retrieves this list of IDocs, we traced the RFC communication between SAP and BizTalk (transaction ST05*) and found out that the SAP .net Connector uses the BAPIs RFC_SYSTEM_INFO and IDOCTYPES_FOR_MESTYPE_READ to get a list of IDocs which are released:

Using transaction SE37, we (thanks, Rüdiger!) could analyse the BAPI IDOCTYPES_FOR_MESTYPE_READ and see that it uses the table EDIMSG to get the IDocs. And their we saw that the BAPI doesn't call for "message types" instead of "basic types". And, guess what, the message type had a different name then the basic type (which makes perfectly sense) and, thus, couldn't be found.
* Tipp: When logging to SAP to trace, you have to use the same user that you use inside the Send Port / Receive Location.

To analyse how the SAP adapter retrieves this list of IDocs, we traced the RFC communication between SAP and BizTalk (transaction ST05*) and found out that the SAP .net Connector uses the BAPIs RFC_SYSTEM_INFO and IDOCTYPES_FOR_MESTYPE_READ to get a list of IDocs which are released:

Using transaction SE37, we (thanks, Rüdiger!) could analyse the BAPI IDOCTYPES_FOR_MESTYPE_READ and see that it uses the table EDIMSG to get the IDocs. And their we saw that the BAPI doesn't call for "message types" instead of "basic types". And, guess what, the message type had a different name then the basic type (which makes perfectly sense) and, thus, couldn't be found.
* Tipp: When logging to SAP to trace, you have to use the same user that you use inside the Send Port / Receive Location.
Labels:
BAPI IDOCTYPES_FOR_MESTYPE_READ,
Biztalk,
SAP,
SAP .NET connector,
SE37
Thursday, February 21, 2008
EDI: Table passed to EDI_SEGMENTS_ADD_BLOCK is empty.
The error "EDI: Table passed to EDI_SEGMENTS_ADD_BLOCK is empty"* was thrown by the SAP .NET connector after sending an IDoc to SAP. The reason was that we've set data fields inside the EDI_DC40 element that SAP had to fill on its own, such as
Thus, if you get the same error, check which fields you should set, and which SAP should set on its own.
----------
* in German SAP systems: "EDI: Die an EDI_SEGMENTS_ADD_BLOCK übergebene Tabelle ist leer"
- DOCNUM
- CREDAT
- CRETIM
- RCVPOR
- SNDPOR
- DOCNUM from the DATAHEADERREC element
Thus, if you get the same error, check which fields you should set, and which SAP should set on its own.
----------
* in German SAP systems: "EDI: Die an EDI_SEGMENTS_ADD_BLOCK übergebene Tabelle ist leer"
Labels:
Biztalk,
EDI_SEGMENTS_ADD_BLOCK,
SAP,
SAP .NET connector,
SAP adapter
Wednesday, February 20, 2008
Short Installation guide to integrate SAP-BizTalk connectivity in Visual Studo 2005
To integrate SAP connectivity into BizTalk 2006 R2 and Visual Studio 2005, you have to follow these steps:
1. Install the runtime version of SAP .NET Connector (NCO) for Visual Studio v1.0.x which is a prerequisite for (2) - you can download the connector from the SAP Marketplace Web site.
2. Install BizTalk Adapter v2.0 for mySAP Buesiness Suite which is available here: https://www.ms2.cn/downloads/details.aspx?FamilyId=7DBF88DE-8C23-4B25-A389-D5ACF1B1FCBE&displaylang=en
3. Install the adapter's Service Pack 1 and ignore the obsolete Error 6000-message by clicking "OK".
1. Install the runtime version of SAP .NET Connector (NCO) for Visual Studio v1.0.x which is a prerequisite for (2) - you can download the connector from the SAP Marketplace Web site.
2. Install BizTalk Adapter v2.0 for mySAP Buesiness Suite which is available here: https://www.ms2.cn/downloads/details.aspx?FamilyId=7DBF88DE-8C23-4B25-A389-D5ACF1B1FCBE&displaylang=en
3. Install the adapter's Service Pack 1 and ignore the obsolete Error 6000-message by clicking "OK".
Labels:
Biztalk,
Installation,
SAP,
SAP .NET adapter,
Visual Studio 2005
Subscribe to:
Posts (Atom)