It calls a stored procedure and attempts to dump the output into a user variable of type double.
It is getting a error thrown about not being able to change types mid execution if the result of the stored procedure is zero (I think).
The best way I could troubleshoot this is manually run the stored procedure. I hard coded the store procedure to act as follows:
declare @array as table(statement float) -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; IF @StatementDocNo = 0 BEGIN SELECT 0 AS [Amount Due] END ELSE BEGIN -- Insert statements for procedure hereinsert into @array SELECT DISTINCT -- select top 10 * from umcr2100 isnull(util..UMCR2102.umAmount1,0) AS [Discounted Amount Due] FROM util..UMCR2100 INNER JOIN util..UMCR2102 ON util..UMCR2100.umStatementDocNo = util..UMCR2102.umStatementDocNo WHERE (util..UMCR2100.umStatementDocNo = @StatementDocNo) AND umDescription1 LIKE 'Total Amount Due%' IF @@ROWCOUNT = 0 BEGIN SELECT 0 AS [Amount Due] END ELSE BEGIN select * from @array ENDEND