I still don't see your query. If it's not available in the code, get it from the SQL Server sp or function. Alternatively, run the SQL Server Profiler tool while executing the program to capture the actual parameters of the query.
CREATE PROCEDURE dbo.pQryUtilityByFiscalYear
(@dStartDate varchar(128) , @dEndDate varchar(128), @sEFTType varchar(3))
AS
SET NOCOUNT ON
DECLARE @table_name sysname
/* Assign tablename_paramvalue1 [_paramvalue2] ... */
SET @table_name = 'SG'
DECLARE @param0 varchar(128)
SET @param0 = @dStartDate
SET @param0 = REPLACE(@param0, ' ', '')
SET @param0 = REPLACE(@param0, '/', '')
SET @param0 = REPLACE(@param0, '-', '')
SET @table_name = @table_name + '_' + @param0
DECLARE @param1 varchar(128)
SET @param1 = @dEndDate
SET @param1 = REPLACE(@param1, ' ', '')
SET @param1 = REPLACE(@param1, '/', '')
SET @param1 = REPLACE(@param1, '-', '')
/* SET @table_name = @table_name + '_' + @param1 */
/* Check the age of the table for regeneration */
IF EXISTS(SELECT table_name FROM information_schema.tables
WHERE table_name = @table_name)
BEGIN
DECLARE @tabletime datetime
SET @tabletime = (SELECT crdate FROM sysobjects
WHERE name = @table_name)
/* After testing the stored procedure, remove the two comment pairs below and replace 12 with the number of hours between successive */
/* IF DATEDIFF(hh, @tabletime, GETDATE()) < 12 GOTO shortcut */
END
/* Drop the Existing table */
IF EXISTS(SELECT table_name FROM
information_schema.tables
WHERE table_name = @table_name)
BEGIN
EXEC ('DROP TABLE wshUser1.' + @table_name)
END
/* Create a temporary table from the function */
IF EXISTS(SELECT table_name FROM
information_schema.tables
WHERE table_name = 'tbTempCT')
BEGIN
EXEC ('DROP TABLE wshUser1.tbTempCT')
END
CREATE TABLE wshUser1.tbTempCT (AccountNumber varchar(11), Lastname varchar(20), Init varchar(5),
MonthPeriod varchar(80), TransferredAmount money)
/* Insert the view/function resultset */
INSERT INTO wshUser1.tbTempCT Select AccountNumber, Lastname, Init, MonthPeriod, TransferredAmount From
wshUser1.fnxtabUtilityByFiscalYear(@dStartDate,@dE ndDate,@sEFTType)
/* Generate a new crosstab table */
EXEC ('CREATE TABLE wshUser1.' + @table_name + ' (AccountNumber varchar(11),
Lastname varchar(20), Init varchar(5), [APR] money DEFAULT 0.0,
[MAY] money DEFAULT 0.0, [JUN] money DEFAULT 0.0,
[JUL] money DEFAULT 0.0, [AUG] money DEFAULT 0.0,
[SEP] money DEFAULT 0.0, [OCT] money DEFAULT 0.0,
[NOV] money DEFAULT 0.0, [DEC] money DEFAULT 0.0,
[JAN] money DEFAULT 0.0, [FEB] money DEFAULT 0.0,
[MAR] money DEFAULT 0.0, [TotalAmount] money DEFAULT 0.0)')
/* Index is a bit out of order */
CREATE INDEX ixTempCT ON wshUser1.tbTempCT (AccountNumber,Lastname,Init)
/* Add the full set of row headings */
EXEC ('INSERT INTO ' + @table_name + ' (AccountNumber, Lastname, Init)
SELECT DISTINCT AccountNumber, Lastname, Init FROM tbTempCT
ORDER BY LastName')
EXEC ('CREATE CLUSTERED INDEX ixTable ON ' + @table_name + ' (Lastname)')
/* Add the column header values */
EXEC ('UPDATE ' + @table_name + ' SET [APR] = (SELECT SUM(TransferredAmount) FROM tbTempCT WHERE MonthPeriod = ''APR'' AND tbTempcT.AccountNumber = ' + @table_name + ' .AccountNumber)')
EXEC ('UPDATE ' + @table_name + ' SET [MAY] = (SELECT SUM(TransferredAmount) FROM tbTempCT WHERE MonthPeriod = ''MAY'' AND tbTempcT.AccountNumber = ' + @table_name + ' .AccountNumber)')
EXEC ('UPDATE ' + @table_name + ' SET [JUN] = (SELECT SUM(TransferredAmount) FROM tbTempCT WHERE MonthPeriod = ''JUN'' AND tbTempcT.AccountNumber = ' + @table_name + ' .AccountNumber)')
EXEC ('UPDATE ' + @table_name + ' SET [JUL] = (SELECT SUM(TransferredAmount) FROM tbTempCT WHERE MonthPeriod = ''JUL'' AND tbTempcT.AccountNumber = ' + @table_name + ' .AccountNumber)')
EXEC ('UPDATE ' + @table_name + ' SET [AUG] = (SELECT SUM(TransferredAmount) FROM tbTempCT WHERE MonthPeriod = ''AUG'' AND tbTempcT.AccountNumber = ' + @table_name + ' .AccountNumber)')
EXEC ('UPDATE ' + @table_name + ' SET [SEP] = (SELECT SUM(TransferredAmount) FROM tbTempCT WHERE MonthPeriod = ''SEP'' AND tbTempcT.AccountNumber = ' + @table_name + ' .AccountNumber)')
EXEC ('UPDATE ' + @table_name + ' SET [OCT] = (SELECT SUM(TransferredAmount) FROM tbTempCT WHERE MonthPeriod = ''OCT'' AND tbTempcT.AccountNumber = ' + @table_name + ' .AccountNumber)')
EXEC ('UPDATE ' + @table_name + ' SET [NOV] = (SELECT SUM(TransferredAmount) FROM tbTempCT WHERE MonthPeriod = ''NOV'' AND tbTempcT.AccountNumber = ' + @table_name + ' .AccountNumber)')
EXEC ('UPDATE ' + @table_name + ' SET [DEC] = (SELECT SUM(TransferredAmount) FROM tbTempCT WHERE MonthPeriod = ''DEC'' AND tbTempcT.AccountNumber = ' + @table_name + ' .AccountNumber)')
EXEC ('UPDATE ' + @table_name + ' SET [JAN] = (SELECT SUM(TransferredAmount) FROM tbTempCT WHERE MonthPeriod = ''JAN'' AND tbTempcT.AccountNumber = ' + @table_name + ' .AccountNumber)')
EXEC ('UPDATE ' + @table_name + ' SET [FEB] = (SELECT SUM(TransferredAmount) FROM tbTempCT WHERE MonthPeriod = ''FEB'' AND tbTempcT.AccountNumber = ' + @table_name + ' .AccountNumber)')
EXEC ('UPDATE ' + @table_name + ' SET [MAR] = (SELECT SUM(TransferredAmount) FROM tbTempCT WHERE MonthPeriod = ''MAR'' AND tbTempcT.AccountNumber = ' + @table_name + ' .AccountNumber)')
/* ADD ROW TOTALS */
EXEC ('UPDATE ' + @table_name + ' SET TotalAmount = ISNULL([APR],0) + ISNULL([MAY],0) + ISNULL([JUN],0) + ISNULL([JUL],0) + ISNULL([AUG],0) + ISNULL([SEP],0) +
ISNULL([OCT],0) + ISNULL([NOV],0) + ISNULL([DEC],0) + ISNULL([JAN],0) + ISNULL([FEB],0) + ISNULL([MAR],0)')
/* ADD ROW OF COLUMN TOTALS */
EXEC ('INSERT ' + @table_name + ' (Lastname) VALUES (''zzzzTotals'')')
/* EXEC Statements here for the next 12 month */
EXEC ('UPDATE ' + @table_name + ' SET AccountNumber = "" WHERE Lastname = ''zzzzTotals''')
EXEC ('UPDATE ' + @table_name + ' SET Init = "" WHERE Lastname = ''zzzzTotals''')
EXEC ('UPDATE ' + @table_name + ' SET [APR] = (SELECT SUM(APR) FROM ' + @table_name + ') WHERE Lastname = ''zzzzTotals''')
EXEC ('UPDATE ' + @table_name + ' SET [MAY] = (SELECT SUM(MAY) FROM ' + @table_name + ') WHERE Lastname = ''zzzzTotals''')
EXEC ('UPDATE ' + @table_name + ' SET [JUN] = (SELECT SUM(JUN) FROM ' + @table_name + ') WHERE Lastname = ''zzzzTotals''')
EXEC ('UPDATE ' + @table_name + ' SET [JUL] = (SELECT SUM(JUL) FROM ' + @table_name + ') WHERE Lastname = ''zzzzTotals''')
EXEC ('UPDATE ' + @table_name + ' SET [AUG] = (SELECT SUM(AUG) FROM ' + @table_name + ') WHERE Lastname = ''zzzzTotals''')
EXEC ('UPDATE ' + @table_name + ' SET [SEP] = (SELECT SUM(SEP) FROM ' + @table_name + ') WHERE Lastname = ''zzzzTotals''')
EXEC ('UPDATE ' + @table_name + ' SET [OCT] = (SELECT SUM(OCT) FROM ' + @table_name + ') WHERE Lastname = ''zzzzTotals''')
EXEC ('UPDATE ' + @table_name + ' SET [NOV] = (SELECT SUM(NOV) FROM ' + @table_name + ') WHERE Lastname = ''zzzzTotals''')
EXEC ('UPDATE ' + @table_name + ' SET [DEC] = (SELECT SUM(DEC) FROM ' + @table_name + ') WHERE Lastname = ''zzzzTotals''')
EXEC ('UPDATE ' + @table_name + ' SET [JAN] = (SELECT SUM(JAN) FROM ' + @table_name + ') WHERE Lastname = ''zzzzTotals''')
EXEC ('UPDATE ' + @table_name + ' SET [FEB] = (SELECT SUM(FEB) FROM ' + @table_name + ') WHERE Lastname = ''zzzzTotals''')
EXEC ('UPDATE ' + @table_name + ' SET [MAR] = (SELECT SUM(MAR) FROM ' + @table_name + ') WHERE Lastname = ''zzzzTotals''')
/* Add crossfoot (grand) Total value */
EXEC ('UPDATE ' + @table_name + ' SET TotalAmount = (Select SUM(TotalAmount)
From ' + @table_name + ')
WHERE Lastname = ''zzzzTotals''')
/* Drop the Temporary table */
IF EXISTS(SELECT table_name FROM information_schema.tables
WHERE table_name = 'tbTempCT')
DROP TABLE wshUser1.tbTempCT
shortcut:
/* Return the table data with a fix-up for the totals row */
EXEC ('SELECT AccountNumber, REPLACE(LastName, ''zzzzTotals'', ''TotalAmount'' ) As Lastname, Init, [APR], [MAY], [JUN],
[JUL], [AUG], [SEP],[OCT], [NOV], [DEC],[JAN], [FEB], [MAR], TotalAmount
FROM ' + @Table_name)
GO