Sp1 Query: PARAMETERS [Enter Week Ending Date (yyyy/mm/dd)] DateTime; SELECT [WAR Data].[Week Ending], [WAR Data].Resource, MRs.[AXA Number] AS [NIKU Acct Cd], [WAR Data].[Module code] & " - MR Related Activities" AS [Task Desc], Sum([WAR Data].Mon) AS Mon, Sum([WAR Data].Tue) AS Tue, Sum([WAR Data].Wed) AS Wed, Sum([WAR Data].Thu) AS Thu, Sum([WAR Data].Fri) AS Fri, Sum([WAR Data].Sat) AS Sat, Sum([WAR Data].Sun) AS Sun FROM [WAR Data] INNER JOIN MRs ON [WAR Data].[Module code]=MRs.[MR Number] WHERE ((([WAR Data].[Activity code]) Not In ("PPMPT","PCAL","PCSPT"))) GROUP BY [WAR Data].[Week Ending], [WAR Data].Resource, MRs.[AXA Number], [WAR Data].[Module code] & " - MR Related Activities" HAVING ((([WAR Data].[Week Ending])=[Enter Week Ending Date (yyyy/mm/dd)])); Sp2 Query: PARAMETERS [Enter Week Ending Date (yyyy/mm/dd)] DateTime; SELECT [WAR Data].[Week Ending], [WAR Data].Resource, [MR Type - NIKU Acct Cd Mapping].[NIKU Account Code], "Guidance for " & [WAR Data].[Module Code] & " (" & [MRs].[AXA Number] & ")" AS Task, Sum([WAR Data].Mon) AS Mon, Sum([WAR Data].Tue) AS Tue, Sum([WAR Data].Wed) AS Wed, Sum([WAR Data].Thu) AS Thu, Sum([WAR Data].Fri) AS Fri, Sum([WAR Data].Sat) AS Sat, Sum([WAR Data].Sun) AS Sun FROM ([WAR Data] INNER JOIN MRs ON [WAR Data].[Module code] = MRs.[MR Number]) INNER JOIN [MR Type - NIKU Acct Cd Mapping] ON MRs.[Request Type] = [MR Type - NIKU Acct Cd Mapping].[MR Type] WHERE ((([WAR Data].[Activity code])="PPMPT")) GROUP BY [WAR Data].[Week Ending], [WAR Data].Resource, [MR Type - NIKU Acct Cd Mapping].[NIKU Account Code], "Guidance for " & [WAR Data].[Module Code] & " (" & [MRs].[AXA Number] & ")" HAVING ((([WAR Data].[Week Ending])=[Enter Week Ending Date (yyyy/mm/dd)])) UNION SELECT [WAR Data].[Week Ending], [WAR Data].Resource, [MR Type - NIKU Acct Cd Mapping].[NIKU Account Code], "Onsite Coordination for " & [WAR Data].[Module Code] & " (" & [MRs].[AXA Number] & ")" AS Task, Sum([WAR Data].Mon) AS Mon, Sum([WAR Data].Tue) AS Tue, Sum([WAR Data].Wed) AS Wed, Sum([WAR Data].Thu) AS Thu, Sum([WAR Data].Fri) AS Fri, Sum([WAR Data].Sat) AS Sat, Sum([WAR Data].Sun) AS Sun FROM ([WAR Data] INNER JOIN MRs ON [WAR Data].[Module code] = MRs.[MR Number]) INNER JOIN [MR Type - NIKU Acct Cd Mapping] ON MRs.[Request Type] = [MR Type - NIKU Acct Cd Mapping].[MR Type] WHERE ((([WAR Data].[Activity code])="PCSPT")) GROUP BY [WAR Data].[Week Ending], [WAR Data].Resource, [MR Type - NIKU Acct Cd Mapping].[NIKU Account Code], "Onsite Coordination for " & [WAR Data].[Module Code] & " (" & [MRs].[AXA Number] & ")" HAVING ((([WAR Data].[Week Ending])=[Enter Week Ending Date (yyyy/mm/dd)])); use strict; use Win32::ODBC; my $db; #print "\nDisplay Storored Procedure \n"; #print "----------------------------------\n"; $db = new Win32::ODBC( "Niku Data" ) || die "Error connecting: " ; Win32::ODBC::Error(); # #Execute_Query("Sp1", "2004/05/16"); #print "debug $db\n"; Execute_Query("Sp2exec", "2004/05/16"); print "debug $db\n"; #Execute_Query("Sp3", "2004/05/16"); #print "debug $db\n"; #Execute_Query("Sp4", "2004/05/16"); #print "debug $db\n"; #Execute_Query("Sp5", "2004/05/16"); #print "debug $db\n"; #Execute_Query("Sp6", "2004/05/16"); #print "debug $db\n"; #Execute_Query("Sp7", "2004/05/16"); #print "debug $db\n"; #Execute_Query("Sp8", "2004/05/16"); #print "debug $db\n"; $db-> Close(); sub Execute_Query { print "query".$_[0]." ".$_[1]; if( ! $db-> Sql( "execute ". $_[0]." ".$_[1] ) ) { #if( ! $db-> Sql( "execute Sp2 2004/05/16" ) ) { while( $db-> FetchRow() ) { Prt_Row($db); } #while ( $db-> MoreResults() ) { # while( $db-> FetchRow() ) { # Prt_Row($db); # } # } } else { print "Unable to execute query: " . $db-> Error() . "\n"; } } sub Prt_Row { $db = shift; my %Data = $db-> DataHash; my @list = keys(%Data); print @list; print %Data; # print $Data{"Resource"} .","; # print $Data{"Task Desc"} .","; # print $Data{"Mon"} .","; # print $Data{"Tue"} .","; # print $Data{"Wed"} .","; # print $Data{"Thu"} .","; # print $Data{"Fri"} .","; # print $Data{"Sat"} .","; # print $Data{"Sun"} .","; print "\n"; } # End