Try this..hope it work...
ALTER PROCEDURE dbo.StoredProcedure2
@DYS varchar(5),
@comapny varchar(50)
AS
declare @dbname varchar(50)
DECLARE @EXECQ AS VARCHAR(8000)
set @dbname=''
if @comapny='FMCPL'
Begin
set @dbname='munim002'
End
else if @comapny='RBE'
begin
set @dbname='munim008'
End
else if @comapny='SDCC'
begin
set @dbname='munim005'
end
else if @comapny='SBPL'
begin
set @dbname='munim004'
end
else
begin
set @dbname='munim017'
end
SET @EXECQ='SELECT '''+@comapny+''' as company,[sl].itname AS itemname,SUM([sl].qtyin) AS qtyin, SUM([sl].qtyout) AS qtyout,SUM([sl].qtyin)- SUM([sl].qtyout) as qty,[sl].unit AS unit, MAX([sl].docdt) AS maxdt,'+@dbname+'.dbo.itmast.material,
'+@dbname+'.dbo.itgroup.dtldesc,'+@dbname+'.dbo.gdmast.gdname
FROM '+@dbname+'.dbo.[StockLederView] sl INNER JOIN
'+@dbname+'.dbo.itmast ON [sl].itcode = '+@dbname+'.dbo.itmast.itcode INNER JOIN
'+@dbname+'.dbo.itgroup ON '+@dbname+'.dbo.itmast.itgroup ='+@dbname+'.dbo.itgroup.code INNER JOIN
'+@dbname+'.dbo.gdmast ON [sl].gdcode ='+@dbname+'.dbo.gdmast.gdcode
GROUP BY [sl].itname, [sl].unit,'+@dbname+'.dbo.itmast.material,'+@dbname+'.dbo.itgroup.dtldesc,'+@dbname+'.dbo.gdmast.gdname
HAVING SUM([sl].qtyin)- SUM([sl].qtyout) > 0 and (MAX([sl].DOCdt) <= DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE() - '+ @DYS +')))
ORDER BY [sl].itname'
Thanks