Subject Cast as domain in view - wrong datatype
Author Jorge Andres Brugger
Please check the following view def:

CREATE OR ALTER VIEW VW_TRZ_ERRORES(
    CODIGO_ERROR,
    DESCRIPCION_ERROR,
    GTIN,
    SERIE,
    FECHA,
    TIPO_ERROR)
AS
select errores.error, errores.descripcion, errores.gtin, errores.serie, errores.fecha, coalesce(trazabilidad_errores.tipo_error,0) as TIPO_ERROR
from trazabilidad_errores inner join (
    select
        cast(substring(trazabilidad_informes_mov.resultado from position(':' in trazabilidad_informes_mov.resultado)+1 for (position(' -' in trazabilidad_informes_mov.resultado)-2-position(':' in trazabilidad_informes_mov.resultado)+1)) as integer) as error,
        case
            when position('.' in trazabilidad_informes_mov.resultado)>0 then cast(substring(trazabilidad_informes_mov.resultado from position(' - ' in trazabilidad_informes_mov.resultado)+3 for (position('.' in trazabilidad_informes_mov.resultado)-position('- ' in trazabilidad_informes_mov.resultado))) as varchar(150))
            else '' end as descripcion,
        case
            when position('GTIN: ' in trazabilidad_informes_mov.resultado)>0 then cast(substring(trazabilidad_informes_mov.resultado from position('GTIN: ' in trazabilidad_informes_mov.resultado)+6 for 14) as type of d_gtin)
            else '' end as GTIN,
        case
            when position('SERIE: ' in trazabilidad_informes_mov.resultado)>0 then cast(substring(trazabilidad_informes_mov.resultado from position('SERIE: ' in trazabilidad_informes_mov.resultado)+7 for (strlen(trazabilidad_informes_mov.resultado)-position('SERIE: ' in trazabilidad_informes_mov.resultado)+7)) as varchar(20))
            else '' end as serie,
        max(trazabilidad_informes_mov.fecha_informe) as fecha
    from trazabilidad_informes_mov
    where trazabilidad_informes_mov.resultado like '%ERROR%' and substring(trazabilidad_informes_mov.resultado from position(':' in trazabilidad_informes_mov.resultado)+1 for (position(' -' in trazabilidad_informes_mov.resultado)-2-position(':' in trazabilidad_informes_mov.resultado)+1)) > 0
    group by trazabilidad_informes_mov.resultado
    ) as errores on trazabilidad_errores.codigo_error = errores.error
;

D_GTIN is:DECIMAL(14,0)

View GTIN field is "exported" as varchar(20), instead of decimal(14,0).
Am I doing domething wrong or could be a bug?
Thanks!