none
RFC_ERROR_SYSTEM_FAILURE with SAP ECC 6 Unicode RRS feed

  • Question

  • Hi All,

    I am using BizTalk 2006 R2, Microsoft BizTalk Adapter v2.0 for mySAP Business Suite SP1 & SQL Server 2005 as a Database server.

    We have developed Orchestrations which were communicating with SAP version 4.7.  Currently SAP has been upgraded in ECC 6(Unicode) system.

    I have configured new Send Port on Dev server. Orchestration can communicate with SAP ECC 6.0 (Non- Unicode) system but while trying to connect with SAP ECC 6.0 (Unicode) I am getting error.

    A message sent to adapter "SAP" on send port "ECC 6 SendPort" with URI "sap://AS:***.**.***.***/**/***/" is suspended.

     Error details: RFC_ERROR_SYSTEM_FAILURE

     MessageId:  {B7DD677E-0EF3-480B-835A-D389F2E24179}

    Is there any where that I can be configure setting for Unicode ?

     

    Thanks in advance

       


    Ajay Dabhade
    Friday, October 8, 2010 11:51 AM

Answers

  • Problem solved: some standard table data types appear as not Unicode compatible in SAP ECC 6.0. They make RfcGetFunctionDesc to raise this error.

    Solution: We used other data types from scratch in RFCs in SAP

     


    Ajay Dabhade
    Wednesday, October 20, 2010 11:50 AM

All replies

  • Normally unicode should not be a problem. Check the following:

    1. Is there any other entry in the eventlog with more details

    2. What version of SAPGUI did you install? If only the RFC SDK try installing SAP GUI 710 or 720

    3. Besides librfc32.dll do you have a librfc32.dll installed on the system?

    4. Look inside of SAP in transaction SM21 if you see some error messages. If yes a SAP guy should be able to help you (this transaction is application server based, so switch over to the right application server with SM51 first)


    If you like my post or consider it as a valid answer, please use the buttons to show me - Oliver

    http://biztalk.hauth.me

    Friday, October 8, 2010 1:21 PM
  • Hi Oliver,

    Thanks for helping me.

    • I am using SAPGUI version 7100.2.7.1038.
    • I also found librfc32.dll in system32
    • There is no such  error messages found in transaction SM21  
    • I found below error description along with error message

     

    Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'IssueItemMaster.CostCenterBudgetOrchestration(9d01e244-34a3-2e7a-63a7-2385c50aa8d6)'.

    The service instance will remain suspended until administratively resumed or terminated.

    If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception.

    InstanceId: a6a367db-4916-4822-bbf6-472e661c488b

    Shape name:

    ShapeId:

    Exception thrown from: segment -1, progress -1

    Inner exception: An error occurred while processing the message, refer to the details section for more information

    Message ID: {B7DD677E-0EF3-480B-835A-D389F2E24179}

    Instance ID: {B40D7B82-CAA6-4F13-9FFB-8C92598260D2}

    Error Description: RFC_ERROR_SYSTEM_FAILURE

     

    Exception type: XlangSoapException

    Source: Microsoft.XLANGs.BizTalk.Engine

    Target Site: Void VerifyTransport(Microsoft.XLANGs.Core.Envelope, Int32, Microsoft.XLANGs.Core.Context)

    The following is a stack trace that identifies the location where the exception occured

    at Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBase.VerifyTransport(Envelope env, Int32 operationId, Context ctx)

    at Microsoft.XLANGs.Core.Subscription.Receive(Segment s, Context ctx, Envelope& env, Boolean topOnly)

    at Microsoft.XLANGs.Core.PortBase.GetMessageIdForSubscription(Subscription subscription, Segment currentSegment, Context cxt, Envelope& env, CachedObject location)

    at Microsoft.XLANGs.Core.PortBase.GetMessageId(Subscription subscription, Segment currentSegment, Context cxt, Envelope& env, CachedObject location)

    at IssueItemMaster.CostCenterBudgetOrchestration.segment1(StopConditions stopOn)

    at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)

     


    Ajay Dabhade
    Friday, October 8, 2010 1:38 PM
  • Sorry, I misspelled. Please look for a librfc32u.dll :) SAPGUI itself should be ok.

    The system failure error is a very common one. But as you are missing SM21 entries I assume that BizTalk isn't able to connect to SAP. Are you sure your connection string is correct? Client is correct? SystemID is the same?

    Is the new send port on a 32bit instance (if BizTalk is 64bit)?

     

    PS: There is no unicode setting on adapter level. Shouldn't cause any problems at all.


    If you like my post or consider it as a valid answer, please use the buttons to show me - Oliver

    http://biztalk.hauth.me

    Friday, October 8, 2010 1:50 PM
  • Librfc32u.dll is also there.

    I am sure that there is no any issue with credentials because after putting external breakpoint in RFC, I debugged it with parameters which I passed through BizTalk.

    SAP using UTF-8 Character Set, should I mention any specific ‘Code Page’ value in ‘SAP Transport Properties’ in SAP Send port?


    Ajay Dabhade
    Friday, October 8, 2010 2:10 PM
  • No that's normally not a problem. The librfc32u.dll manages the connect to the SAP system and is handling all codepage or unicode issues. You can try to add RFC logging and see what happens. Read my blog article about this: http://pi.hauth.me/?p=15

    Just set them as system wide environment variables and restart the send host instance. Afterwards have a look at the files and see if there is an error.


    If you like my post or consider it as a valid answer, please use the buttons to show me - Oliver

    http://biztalk.hauth.me

    Friday, October 8, 2010 5:30 PM
  • Thank for help.

    I installed RFC SDK 7.10 Unicode version an also set environment variables for SAP GUI tracing.

    Now I can execute RFC which returns CHAR value but in case of NUM data type, I am getting following error in trace file,

     

    T:4012 Error in program 'BTSNTSvc':

    >> ERROR: Import parameter length difference detected.

                Read length: 7. Expected length: 0. Type: 2.

     

    T:4012 Error in program 'BTSNTSvc': <* RfcReceive [2] : returns 19:RFC_INVALID_PARAMETER

    T:4012 Error in program 'BTSNTSvc': <* RfcCallReceive [2] : returns 19:RFC_INVALID_PARAMETER

    T:4012 Error in program 'BTSNTSvc': <* RfcCleanupContext [2] : returns 18:RFC_INVALID_HANDLE

    T:4012 Error in program 'BTSNTSvc': <* RfcCleanupContext [2] : returns 18:RFC_INVALID_HANDLE


    Ajay Dabhade
    Monday, October 11, 2010 12:40 PM
  • If you see the connection to SAP has been established, you might have trouble with your XSD. Maybe recreate it in Visual Studio using BizTalkComptibilityMode = true und EnableSafeTyping = true.

    What SAP function are you trying to execute?

    Do you have more information from the log file? What data element is causing this error or any other information?


    If you like my post or consider it as a valid answer, please use the buttons to show me - Oliver

    http://biztalk.hauth.me

    Monday, October 11, 2010 2:03 PM
  • I do not found more information apart from this.

    I am using Custom RFC(s).

    Currently CUR, NUMC data types (xs:decimal in .xsd in BizTalk) causing this error.

     


    Ajay Dabhade
    Monday, October 11, 2010 2:17 PM
  • I'm not sure atm if CUR is allowed on RFC interfaces. Can you try and convert it also to NUMC or string?

    CUR in SAP is always a combination of currency and amount and it could be that this causes errors during RFC transfer.


    If you like my post or consider it as a valid answer, please use the buttons to show me - Oliver

    http://biztalk.hauth.me

    Monday, October 11, 2010 2:49 PM
  • Problem solved: some standard table data types appear as not Unicode compatible in SAP ECC 6.0. They make RfcGetFunctionDesc to raise this error.

    Solution: We used other data types from scratch in RFCs in SAP

     


    Ajay Dabhade
    Wednesday, October 20, 2010 11:50 AM