Subject | SP space chacarter problem in FB2.5 |
---|---|
Author | Germán Balbi |
Post date | 2018-10-23T15:31:26Z |
Hi.
in the netx SP send the follow parameters
5,' ','N' --->>>5 Años (perfect)
5,'','N' --->>>5 Años ( not 5Años) without space of separation
create or alter procedure VER_EDAD (
N_EDAD numeric(15,4),
SEPARADOR char(1),
CORTO char(1))
returns (
C_EDAD varchar()
as
begin
/* Procedure Text */
if (separador is null) then
separador = ' ';
if (corto is null) then
corto = 'N';
c_edad =
CASE
when :n_edad > 1 then
trim(cast(cast(:n_edad as integer) as char(3)))||separador||iif(upper(corto)='N','Años', 'A')
when :n_edad = 1 then
trim(cast(cast(:n_edad as integer) as char(3)))||separador||iif(upper(corto)='N','Año', 'A')
when :n_edad > 0.01 then
trim(cast(cast(:n_edad*100 as integer) as char(3)))||separador||iif(upper(corto)='N','Meses', 'M')
when :n_edad = 0.01 then
trim(cast(cast(:n_edad*100 as integer) as char(3)))||separador||iif(upper(corto)='N','Mes', 'M')
when :n_edad > 0.0001 then
trim(cast(cast(:n_edad*10000 as integer) as char(3)))||separador||iif(upper(corto)='N','Días', 'D')
when :n_edad = 0.0001 then
trim(cast(cast(:n_edad*10000 as integer) as char(3)))||separador||iif(upper(corto)='N','Día', 'D')
when :n_edad = 0 then
'RN'
end;
suspend;
end
5,'','N' --->>>5 Años ( not 5Años) without space of separation
create or alter procedure VER_EDAD (
N_EDAD numeric(15,4),
SEPARADOR char(1),
CORTO char(1))
returns (
C_EDAD varchar()
as
begin
/* Procedure Text */
if (separador is null) then
separador = ' ';
if (corto is null) then
corto = 'N';
c_edad =
CASE
when :n_edad > 1 then
trim(cast(cast(:n_edad as integer) as char(3)))||separador||iif(upper(corto)='N','Años', 'A')
when :n_edad = 1 then
trim(cast(cast(:n_edad as integer) as char(3)))||separador||iif(upper(corto)='N','Año', 'A')
when :n_edad > 0.01 then
trim(cast(cast(:n_edad*100 as integer) as char(3)))||separador||iif(upper(corto)='N','Meses', 'M')
when :n_edad = 0.01 then
trim(cast(cast(:n_edad*100 as integer) as char(3)))||separador||iif(upper(corto)='N','Mes', 'M')
when :n_edad > 0.0001 then
trim(cast(cast(:n_edad*10000 as integer) as char(3)))||separador||iif(upper(corto)='N','Días', 'D')
when :n_edad = 0.0001 then
trim(cast(cast(:n_edad*10000 as integer) as char(3)))||separador||iif(upper(corto)='N','Día', 'D')
when :n_edad = 0 then
'RN'
end;
suspend;
end