Here's a sample sproc:CREATE Procedure GetReportOutput_sp @Report_Name varchar(60) ,@Report_Type char(1) ,@Report_Procedure varchar(50) ,@User char(8)asDeclare @Dest_Dir_Name varchar (255) ,@Dest_Drive_Letter char (3) ,@Dest_File_Name varchar (100) ,@TempTbl varchar (30)--Note: Run Report Online.IF @Report_Type = 'O'Begin Select @Report_Procedure = @Report_Procedure Exec @Report_Procedure ReturnEnd--Note: Run Report BatchIF @Report_Type = 'B'Begin Select @Dest_Dir_Name = Dest_Dir_Name ,@Dest_Drive_Letter = Dest_Drive_Letter ,@Dest_File_Name = Dest_File_Name From Report_Config Where Report_Name = @Report_Name Select @Report_Procedure = @Report_Procedure Select @TempTbl = '##'+ltrim(rtrim(@User))+convert(varchar(8),getdate(),112) Exec ( 'if exists (select * from tempdb..sysobjects where name = '+ ''''+@TempTbl+'''' + ')' + ' drop table ' + @TempTbl ) Exec ( 'CREATE TABLE ' + @TempTbl + ' (ReportOutput varchar(8000))' ) Exec ( ' INSERT ' + @TempTbl + ' Exec ' + @Report_Procedure )--* CREATE TABLE #ReportOutputTemp (ReportOutput varchar(8000))--* INSERT #ReportOutputTemp Exec @Report_Procedure Select @Dest_File_Name = ltrim(rtrim(@Dest_File_Name)) + ltrim(rtrim(@User)) + '-' + convert(varchar(8),getdate(),112) + '.csv' EXEC ( 'master..xp_cmdshell ' + '''' + 'bcp ' + @TempTbl + ' out ' + @Dest_Drive_Letter + @Dest_Dir_name + @Dest_File_Name-- + ' /c /r \n /UTaxUser /PTaxUser /S' + @@ServerName + '''' + ' /c /r \n /UTaxUser /Ptaxuser /S' + @@ServerName + ' /o' + @Dest_Drive_Letter + @Dest_Dir_name + 'Bcp.out'+'''' ) Exec ( 'DROP TABLE ' + @TempTbl )EndGO
Brett8-)