select
    *
from(
    select
        ID,
        PRODUTO_ID,
        cast(fn_array(PECA,1,'|') as numeric(15,4)) as SALDO,
        fn_array(PECA,2,'|') as TABELA,
        fn_array(PECA,3,'|') as PECA_ID,
        COD_BARRAS
    from(
        select
            a.*,
            i.peca_id as COD_BARRAS,
            coalesce((select
                        s.saldo||'|'||
                        s.tabela||'|'||
                        s.id||''
                    from SPC_PECA(i.peca_id) s),'0|0|0') as PECA
        
        from TBESTOQUE_BAIXA_AUTOMATICA a, tbestoque_transacao_item i
        where i.localizacao_codigo = a.localizacao_id
        and i.produto_codigo = a.produto_id
        and i.operacao_codigo = a.operacao_entrada
        and i.tipo = 'E'
        and i.estabelecimento_codigo = a.estabelecimento_id
        and i.data between dateadd(month, -2, current_date) and current_date
    )
) where SALDO > 0