cancel
Showing results for 
Search instead for 
Did you mean: 

Invalid Cursor State in Query manager case of stored procedure

Former Member
0 Kudos

Hi Experts!

I have a stored procedure, but when running from sap in query manager,i get an error message :invalid cursor state.

I have tried 3 methods to run, but no success.

1. exec jovnyilv_sap '2009.01.01','2009.01.31','XXXX'

2./Querybegin/

Declare @enap datetime

Declare @unap datetime

Declare @item char(20)

Set @enap='2009.01.01'

Set @unap='2009.01.31'

Set @item='KUN0001'

exec jovnyilv_sap @enap,@unap,@item

/Query end/

3./SELECT FROM [dbo].[OINM] T0/

declare @fromdate as datetime

/* WHERE */

set @fromdate = /* T0.DocDate */ '[%0]'

/SELECT FROM [dbo].[OINM] T1/

declare @tilldate as datetime

/* WHERE */

set @tilldate = /* T1.DocDate */ '[%1]'

/SELECT FROM [dbo].[OINM] T2/

declare @item as datetime

/* WHERE */

set @item = /* T2.ItemCode */ '[%2]'

exec jovnyilv_sap '[%0]','[%1]','[%2]'

Any idea how to run it directly from sap busines one?

Thanks in advance!

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Next works for me:

Create a Simple SP:

USE [SBODemoMX]
GO
/****** Object:  StoredProcedure [dbo].[SP_TEST]    Script Date: 05/11/2010 23:51:36 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[SP_TEST]
@cardcode varchar(10)
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
    -- Insert statements for procedure here
	SELECT top 10 * from OINV where CardCode = @cardcode
END

Then the query running from SAP:

DECLARE @CUST varchar(50)
SET @CUST = (SELECT top 1 T0.CardCode FROM OCRD T0 WHERE T0.CardCode ='[%0]')
 exec SP_TEST  @CUST

Hope It Helps

Former Member
0 Kudos

Hi,

You may check these threads first:

Thanks,

Gordon