Link to home
Start Free TrialLog in
Avatar of rmunsonusadrug
rmunsonusadrugFlag for United States of America

asked on

Microsoft SQL DTS Package Invalid Pointer Error

I have a group of statements that work fine in Query Analyzer but when I put them in a DTS Package, they fail with the error invalid pointer.  What am I doing wrong?  My code is attached.
DECLARE @GOODCS TABLE (Store Char(4), Question2 Numeric(9,0), Question5 Numeric(9,0), Question7 Numeric(9,0), Total Numeric(9,0), NumofCalls Numeric(9,0), RxAvg Numeric (9,2))
DECLARE @BADCS TABLE (Store Char(4), Question2 Numeric(9,0), Question7 Numeric(9,0), Total Numeric(9,0), NumofCalls Numeric(9,0), FrontAvg Numeric (9,2))
DECLARE @seldate as varchar(8)
SET @seldate=cast(year(DATEADD(m,-1, Dateadd(d,1-DATEPART(d,getdate()),GETDATE()))) as varchar(4)) +
cast(month(DATEADD(m,-1, Dateadd(d,1-DATEPART(d,getdate()),GETDATE()))) as varchar(2)) + '00'

INSERT INTO @GOODCS 
SELECT Left([M3_CST#],4) AS Store, 
Sum(CAST([M3_QA02] AS NUMERIC(9,0))) AS [Question2], 
Sum(CAST([M3_QA05] AS NUMERIC(9,0))) AS [Question5], 
Sum(case when [M3_QA07]='1' then 5 else 1 end) AS [Question7], 
Sum(CAST([M3_QA02] AS NUMERIC(9,0))+CAST([M3_QA05] AS NUMERIC(1,0))+(case when [M3_QA07]='1' then 5 else 1 end)) AS Total, 
Count([M3_CST#]) AS [NumofCalls], 
Sum(CAST([M3_QA02] AS NUMERIC(9,0))+CAST([M3_QA05] AS NUMERIC(1,0))+(case when [M3_QA07]='1' then 5 else 1 end))/Count([M3_CST#])/3 AS [RxAvg]
FROM MKP003_RAW
WHERE (M3_DATE>=@seldate)
GROUP BY Left([M3_CST#],4), M3_FLOW, M3_CMPL
HAVING ((M3_FLOW='A') AND ((M3_CMPL)='Y'))
ORDER BY  Left([M3_CST#],4)

INSERT into @BADCS
SELECT Left([M3_CST#],4) AS Store, 
Sum(CAST([M3_QA02] AS NUMERIC(9,0))) AS [Question2], 
Sum(CAST([M3_QA07] AS NUMERIC(9,0))) AS [Question7], 
Sum(CAST([M3_QA02] AS NUMERIC(9,0))+CAST([M3_QA07] AS NUMERIC(1,0))) AS Total, 
Count([M3_CST#]) AS [NumofCalls], 
Sum(CAST([M3_QA02] AS NUMERIC(9,0))+CAST([M3_QA07] AS NUMERIC(1,0)))/Count([M3_CST#])/2 AS [FrontAvg]
FROM MKP003_RAW
WHERE (M3_DATE>=@seldate)
GROUP BY Left([M3_CST#],4), M3_FLOW, M3_CMPL
HAVING ((M3_FLOW='C') AND ((M3_CMPL)='Y'))
ORDER BY  Left([M3_CST#],4)


SELECT bcs.Store AS GL,
LEFT (CAST(DATENAME(month, DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0))) AS CHAR), 3) AS [Time],
Fiscal = CASE When Right(RTRIM(('0' + CAST (Month (DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0))) AS CHAR))),2) > 9 THEN
'FY20' + CAST ((CAST (Right(CAST(Year (DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0))) AS Char(4)),2) AS INT) + 1) AS CHAR (2))
Else 'FY20' + Right(CAST(Year (DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0))) AS Char(4)),2) End,
ISNULL(gcs.Total,0) as RxTotal, 
ISNULL(gcs.NumofCalls,0) As RxNumofCalls, 
ISNULL(gcs.RxAvg,0) AS RxAvg, 
bcs.Total as FrontTotal, 
bcs.NumofCalls As FrontNumofCalls, 
bcs.FrontAvg, 
cast (Case when gcs.NumofCalls Is Null 
  then FrontAvg 
  else ((RxAvg*gcs.NumofCalls)+ (FrontAvg*bcs.NumofCalls))/(gcs.NumofCalls+bcs.NumofCalls)
end as Numeric(9,2)) AS [OverallAvg]
FROM @GOODCS gcs RIGHT JOIN @BADCS bcs ON gcs.Store = bcs.Store

Open in new window

Avatar of David Todd
David Todd
Flag of New Zealand image

Hi,

Which bit fails? You have two inserts and a select?

Regards
  David
ASKER CERTIFIED SOLUTION
Avatar of Anthony Perkins
Anthony Perkins
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of rmunsonusadrug

ASKER

Thanks so much.  I've been writing SQL statements for a while but I haven't used DTS much.