SAP Connector 1.0 for SAP BI

Has anyone tried the SAP Connector 1.0 for SAP BI?  It is a component for SSIS that allows you to move data in bulk to and from SAP BI 7.0 via SAP’s Open Hub Services.  I have followed the example in the published white paper “Using SQL Server 2008 Integration Services with SAP BI 7.0” but have had no luck.  I am able to connect to SAP BI and begin the extraction process but the SSIS package fails with an OutOfMemoryException.  It looks to me like the component may be having trouble interpreting the metadata coming back from SAP BI.

Here’s the ouput. 

SSIS package “Package.dtsx” starting.
Information: 0x4004300A at Data Flow Task, SSIS.Pipeline: Validation phase is beginning.
Information: 0x4004300A at Data Flow Task, SSIS.Pipeline: Validation phase is beginning.
Warning: 0x80049304 at Data Flow Task, SSIS.Pipeline: Warning: Could not open global shared memory to communicate with performance DLL; data flow performance counters are not available. To resolve, run this package as an administrator, or on the system’s console.
Information: 0x40043006 at Data Flow Task, SSIS.Pipeline: Prepare for Execute phase is beginning.
Information: 0x40043007 at Data Flow Task, SSIS.Pipeline: Pre-Execute phase is beginning.
Information: 0x4004300C at Data Flow Task, SSIS.Pipeline: Execute phase is beginning.
Information: 0x3E8 at Data Flow Task, SAP BI Source: Process Start Process, variant Start Variant for MS SAP BI PC has status Completed (instance 4CFPOF9J4X2LE9ENVHX0J4RL6)
Information: 0x3E8 at Data Flow Task, SAP BI Source: Process Data Transfer Process, variant 0MATERIAL -> OHMAT has status Active (instance DTPR_4CFPOFH7NVOAWVY41BZCT6QAY)
Information: 0x3E8 at Data Flow Task, SAP BI Source: The component is waiting for a notification.
Information: 0x3E8 at Data Flow Task, SAP BI Source: A notification was received., RequestID=14580; NumberOfRows=113843; NumberOfPackets=2; OHS Destination=OHMAT
Information: 0x3E8 at Data Flow Task, SAP BI Source: The extraction process is finished.
Information: 0x3E8 at Data Flow Task, SAP BI Source: Number of rows: 113843.
Information: 0x3E8 at Data Flow Task, SAP BI Source: Number of packets: 2.
Information: 0x3E8 at Data Flow Task, SAP BI Source: RequestID: 14580
Error: 0x3E8 at Data Flow Task, SAP BI Source: System.OutOfMemoryException: Exception of type ‘System.OutOfMemoryException’ was thrown.
at System.String.PadHelper(Int32 totalWidth, Char paddingChar, Boolean isRightPadded)
at Microsoft.SqlServer.Dts.SapBw.Connectivity.RFCStructure..ctor(RFCTableColumnCollection Columns)
at Microsoft.SqlServer.Dts.SapBw.Connectivity.RFCParameter.RetrieveColumnsByStructure(R3Connection Connection, String StructureName)
at Microsoft.SqlServer.Dts.SapBw.Connectivity.R3Connection.AddParametersAndTablesToUndefinedFunctionObject(RFCFunction& Dest, String Name)
at Microsoft.SqlServer.Dts.SapBw.Connectivity.R3Connection.CreateFunction(String Name)
at Microsoft.SqlServer.Dts.SapBw.Components.OHSExtractor.CheckMetadata()
at Microsoft.SqlServer.Dts.SapBw.Components.OHSExtractor.ExtractNow(Boolean InRuntimeMode, String GatewayHost, String GatewayService, String ProgramID, String ProcessChain, String DestinationName, String ExecutionMode, String PropertyRequestID, Int32 Timeout)
Information: 0x3E8 at Data Flow Task, SAP BI Source: The component is setting the status to “G” for request, “14580”.
Error: 0xC0047062 at Data Flow Task, SAP BI Source [1]: System.OutOfMemoryException: Exception of type ‘System.OutOfMemoryException’ was thrown.
at Microsoft.SqlServer.Dts.SapBw.Components.OHSExtractor.ExtractNow(Boolean InRuntimeMode, String GatewayHost, String GatewayService, String ProgramID, String ProcessChain, String DestinationName, String ExecutionMode, String PropertyRequestID, Int32 Timeout)
at Microsoft.SqlServer.Dts.SapBw.Components.SapBwSourceOHS.PrimeOutput(Int32 outputs, Int32[] outputIDs, PipelineBuffer[] buffers)
at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostPrimeOutput(IDTSManagedComponentWrapper100 wrapper, Int32 outputs, Int32[] outputIDs, IDTSBuffer100[] buffers, IntPtr ppBufferWirePacket)
Error: 0xC0047038 at Data Flow Task, SSIS.Pipeline: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. The PrimeOutput method on component “SAP BI Source” (1) returned error code 0x8007000E. The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing. There may be error messages posted before this with more information about the failure.
Information: 0x40043008 at Data Flow Task, SSIS.Pipeline: Post Execute phase is beginning.
Information: 0x402090DF at Data Flow Task, OLE DB Destination [67]: The final commit for the data insertion in “component “OLE DB Destination” (67)” has started.
Information: 0x402090E0 at Data Flow Task, OLE DB Destination [67]: The final commit for the data insertion in “component “OLE DB Destination” (67)” has ended.
Information: 0x4004300B at Data Flow Task, SSIS.Pipeline: “component “OLE DB Destination” (67)” wrote 0 rows.
Information: 0x40043009 at Data Flow Task, SSIS.Pipeline: Cleanup phase is beginning.
Task failed: Data Flow Task
Warning: 0x80019002 at Package: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED. The Execution method succeeded, but the number of errors raised (3) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.
SSIS package “Package.dtsx” finished: Failure.

I’m looking your issue and hope to figure out what’s the cause. Could you give your mail then I can contact you if need more detailed info?

Thanks for the offer of help.  My email address is [email protected]

Hi, David,From the exception dump, it maybe due to the wrong parameter value, such as a very large length, which will cause padding a huge blank characters, then out of memory. To investigate the issue, I need more information, like following:[1] Hardware platform (32bits or 64 bits? Memory size 2G or 4G)[2] Software platform (OS version, SQL server  version)[3] SAP server side configurationSince the connector  has been tested many times, never meet the OutofMemory exception issue. It should be related with SAP side configuration, I need know detailed information, such as SAP version, OHS schema of OHMAT etc.[4] Package informationCan you provide your package?BTW, per normal policy, if you have any issue for SAP BI Connector, please contact Microsft CSS team which will help you to follow up this issue