Monday, March 12, 2012

Function TRIM does not exist?

Hi;
i have this code for my data tab on one of my reports, im getting an error
that says TRIM function does not exists...
Any ideas?
declare @.MESACTUAL INT,@.MESANTERIOR INT;
declare @.ANOACTUAL INT,@.ANOANTERIOR INT;
declare @.MESACT CHAR(2),@.MESANT char(2);
SET @.MESACTUAL=MONTH(@.MES)
SET @.ANOACTUAL=YEAR(@.MES)
IF @.MESACTUAL=12
BEGIN
SET @.MESANTERIOR=1
SET @.ANOANTERIOR=(@.ANOACTUAL-1)
END
ELSE
BEGIN
SET @.MESANTERIOR=(@.MESACTUAL-1)
SET @.ANOANTERIOR=@.ANOACTUAL
END
SET @.MESACT=CONVERT(char(2),@.MESACTUAL)
SET @.MESANT=CONVERT(char(2),@.MESANTERIOR)
IF @.MESACTUAL < 10
begin
SET @.MESACT='0' & Trim(@.MESACT)
end
IF @.MESANTERIOR < 10
begin
SET @.MESANT='0' & Trim(@.MESANT)
end
IF @.MESACTUAL>1
BEGIN
exec('Select c.*,(case when c.Naturaleza='+@.dato+'D'+@.dato+' then
s.s'+@.MESACT+' else 0 end) as Deudor,'+
'(case when c.Naturaleza='+@.dato+'A'+@.dato+' then
s.s'+@.MESACT+' else 0 end) as Acreedor,'+
's.C'+@.MESACT+' as CargosActual,s.A'+@.MESACT+' as
AbonosActual,'+
'(case when c.Naturaleza='+@.dato+'A'+@.dato+' then
s.s'+@.MESANT+' else 0 end) as AcreedorAnt,'+
'(case when c.Naturaleza='+@.dato+'D'+@.dato+' then
s.s'+@.MESANT+' else 0 end) as DeudorAnt '+
' from GrupoVilla.dbo.CuentasContables c INNER JOIN '+
@.BASEDATOS+'.dbo.cnt_Saldos s ON
s.id_CuentasContables=c.id_CuentasContables where 1=1'
)
ENDtry rtrim and ltrim
"Willo" <willoberto@.yahoo.com.mx> wrote in message
news:%23s6Knw0ZHHA.2436@.TK2MSFTNGP06.phx.gbl...
> Hi;
> i have this code for my data tab on one of my reports, im getting an error
> that says TRIM function does not exists...
> Any ideas?
> declare @.MESACTUAL INT,@.MESANTERIOR INT;
> declare @.ANOACTUAL INT,@.ANOANTERIOR INT;
> declare @.MESACT CHAR(2),@.MESANT char(2);
> SET @.MESACTUAL=MONTH(@.MES)
> SET @.ANOACTUAL=YEAR(@.MES)
> IF @.MESACTUAL=12
> BEGIN
> SET @.MESANTERIOR=1
> SET @.ANOANTERIOR=(@.ANOACTUAL-1)
> END
> ELSE
> BEGIN
> SET @.MESANTERIOR=(@.MESACTUAL-1)
> SET @.ANOANTERIOR=@.ANOACTUAL
> END
> SET @.MESACT=CONVERT(char(2),@.MESACTUAL)
> SET @.MESANT=CONVERT(char(2),@.MESANTERIOR)
> IF @.MESACTUAL < 10
> begin
> SET @.MESACT='0' & Trim(@.MESACT)
> end
> IF @.MESANTERIOR < 10
> begin
> SET @.MESANT='0' & Trim(@.MESANT)
> end
>
>
> IF @.MESACTUAL>1
> BEGIN
> exec('Select c.*,(case when c.Naturaleza='+@.dato+'D'+@.dato+' then
> s.s'+@.MESACT+' else 0 end) as Deudor,'+
> '(case when c.Naturaleza='+@.dato+'A'+@.dato+' then
> s.s'+@.MESACT+' else 0 end) as Acreedor,'+
> 's.C'+@.MESACT+' as CargosActual,s.A'+@.MESACT+' as
> AbonosActual,'+
> '(case when c.Naturaleza='+@.dato+'A'+@.dato+' then
> s.s'+@.MESANT+' else 0 end) as AcreedorAnt,'+
> '(case when c.Naturaleza='+@.dato+'D'+@.dato+' then
> s.s'+@.MESANT+' else 0 end) as DeudorAnt '+
> ' from GrupoVilla.dbo.CuentasContables c INNER JOIN '+
> @.BASEDATOS+'.dbo.cnt_Saldos s ON
> s.id_CuentasContables=c.id_CuentasContables where 1=1'
> )
> END
>|||On Mar 15, 5:00 pm, "Jeje" <willg...@.hotmail.com> wrote:
> try rtrim and ltrim
> "Willo" <willobe...@.yahoo.com.mx> wrote in message
> news:%23s6Knw0ZHHA.2436@.TK2MSFTNGP06.phx.gbl...
> > Hi;
> > i have this code for my data tab on one of my reports, im getting an error
> > that says TRIM function does not exists...
> > Any ideas?
> > declare @.MESACTUAL INT,@.MESANTERIOR INT;
> > declare @.ANOACTUAL INT,@.ANOANTERIOR INT;
> > declare @.MESACT CHAR(2),@.MESANT char(2);
> > SET @.MESACTUAL=MONTH(@.MES)
> > SET @.ANOACTUAL=YEAR(@.MES)
> > IF @.MESACTUAL=12
> > BEGIN
> > SET @.MESANTERIOR=1
> > SET @.ANOANTERIOR=(@.ANOACTUAL-1)
> > END
> > ELSE
> > BEGIN
> > SET @.MESANTERIOR=(@.MESACTUAL-1)
> > SET @.ANOANTERIOR=@.ANOACTUAL
> > END
> > SET @.MESACT=CONVERT(char(2),@.MESACTUAL)
> > SET @.MESANT=CONVERT(char(2),@.MESANTERIOR)
> > IF @.MESACTUAL < 10
> > begin
> > SET @.MESACT='0' & Trim(@.MESACT)
> > end
> > IF @.MESANTERIOR < 10
> > begin
> > SET @.MESANT='0' & Trim(@.MESANT)
> > end
> > IF @.MESACTUAL>1
> > BEGIN
> > exec('Select c.*,(case when c.Naturaleza='+@.dato+'D'+@.dato+' then
> > s.s'+@.MESACT+' else 0 end) as Deudor,'+
> > '(case when c.Naturaleza='+@.dato+'A'+@.dato+' then
> > s.s'+@.MESACT+' else 0 end) as Acreedor,'+
> > 's.C'+@.MESACT+' as CargosActual,s.A'+@.MESACT+' as
> > AbonosActual,'+
> > '(case when c.Naturaleza='+@.dato+'A'+@.dato+' then
> > s.s'+@.MESANT+' else 0 end) as AcreedorAnt,'+
> > '(case when c.Naturaleza='+@.dato+'D'+@.dato+' then
> > s.s'+@.MESANT+' else 0 end) as DeudorAnt '+
> > ' from GrupoVilla.dbo.CuentasContables c INNER JOIN '+
> > @.BASEDATOS+'.dbo.cnt_Saldos s ON
> > s.id_CuentasContables=c.id_CuentasContables where 1=1'
> > )
> > END
Here's an example:
ltrim(rtrim(@.MESACT))
Regards,
Enrique Martinez
Sr. SQL Server Developer|||SQL server doens't have TRIM, but RS has "TRIM" function, which can be used
in layout and not on Data tab. Just for your info.
Amarnath, MCTS.
"Willo" wrote:
> Hi;
> i have this code for my data tab on one of my reports, im getting an error
> that says TRIM function does not exists...
> Any ideas?
> declare @.MESACTUAL INT,@.MESANTERIOR INT;
> declare @.ANOACTUAL INT,@.ANOANTERIOR INT;
> declare @.MESACT CHAR(2),@.MESANT char(2);
> SET @.MESACTUAL=MONTH(@.MES)
> SET @.ANOACTUAL=YEAR(@.MES)
> IF @.MESACTUAL=12
> BEGIN
> SET @.MESANTERIOR=1
> SET @.ANOANTERIOR=(@.ANOACTUAL-1)
> END
> ELSE
> BEGIN
> SET @.MESANTERIOR=(@.MESACTUAL-1)
> SET @.ANOANTERIOR=@.ANOACTUAL
> END
> SET @.MESACT=CONVERT(char(2),@.MESACTUAL)
> SET @.MESANT=CONVERT(char(2),@.MESANTERIOR)
> IF @.MESACTUAL < 10
> begin
> SET @.MESACT='0' & Trim(@.MESACT)
> end
> IF @.MESANTERIOR < 10
> begin
> SET @.MESANT='0' & Trim(@.MESANT)
> end
>
>
> IF @.MESACTUAL>1
> BEGIN
> exec('Select c.*,(case when c.Naturaleza='+@.dato+'D'+@.dato+' then
> s.s'+@.MESACT+' else 0 end) as Deudor,'+
> '(case when c.Naturaleza='+@.dato+'A'+@.dato+' then
> s.s'+@.MESACT+' else 0 end) as Acreedor,'+
> 's.C'+@.MESACT+' as CargosActual,s.A'+@.MESACT+' as
> AbonosActual,'+
> '(case when c.Naturaleza='+@.dato+'A'+@.dato+' then
> s.s'+@.MESANT+' else 0 end) as AcreedorAnt,'+
> '(case when c.Naturaleza='+@.dato+'D'+@.dato+' then
> s.s'+@.MESANT+' else 0 end) as DeudorAnt '+
> ' from GrupoVilla.dbo.CuentasContables c INNER JOIN '+
> @.BASEDATOS+'.dbo.cnt_Saldos s ON
> s.id_CuentasContables=c.id_CuentasContables where 1=1'
> )
> END
>
>

No comments:

Post a Comment