select
    'INSERT INTO TBESTOQUE_TRANSACAO_ITEM (
        TABELA,
        TABELA_ID,
        TABELA_NIVEL,
        ESTABELECIMENTO_CODIGO,
        LOCALIZACAO_CODIGO,
        PRODUTO_CODIGO,
        CONTROLE,
        DATA,
        DOCUMENTO,
        NFS_ITEM_CONTROLE,
        NFE_ITEM_CONTROLE,
        OPERACAO_CODIGO,
        TIPO,
        QUANTIDADE,
        REMESSA_ITEM_CONTROLE,
        T01,
        T02,
        T03,
        T04,
        T05,
        T06,
        T07,
        T08,
        T09,
        T10,
        T11,
        T12,
        T13,
        T14,
        T15,
        T16,
        T17,
        T18,
        T19,
        T20,
        CUSTO_UNITARIO,
        TRANSACAO_CONTROLE,
        CONSUMO,
        USUARIO_CODIGO,
        USUARIO_DATA,
        TURNO_CODIGO,
        CENTRO_DE_CUSTO,
        OBSERVACAO,
        ESPUMACAO,
        CLASSIFICACAO,
        REVISAO_CONTROLE,
        EMPRESA_CODIGO,
        CUSTO_MEDIO,
        ESTOQUE_TRANSACAO_REGRA_ID,
        CONFERENCIA,
        PECA_ID,
        OPERADOR
    ) VALUES(
        0,
        0,
        0,
        '||estabelecimento_id||',
        '||localizacao||',
        (select first 1 p.codigo from tbproduto p where p.modelo_codigo = '||produto_id||' and p.cor_codigo = '||cor_id||'),
        0, current_date, ''31072021'', 0, 0, ''IMP'', ''E'',
        '||saldo||',0,'
        ||iif(tamanho_id = 1, saldo , 0)||','
        ||iif(tamanho_id = 2, saldo , 0)||','
        ||iif(tamanho_id = 3, saldo , 0)||','
        ||iif(tamanho_id = 4, saldo , 0)||','
        ||iif(tamanho_id = 5, saldo , 0)||','
        ||iif(tamanho_id = 6, saldo , 0)||','
        ||iif(tamanho_id = 7, saldo , 0)||','
        ||iif(tamanho_id = 8, saldo , 0)||','
        ||iif(tamanho_id = 9, saldo , 0)||','
        ||iif(tamanho_id =10, saldo , 0)||','
        ||iif(tamanho_id =11, saldo , 0)||','
        ||iif(tamanho_id =12, saldo , 0)||','
        ||iif(tamanho_id =13, saldo , 0)||','
        ||iif(tamanho_id =14, saldo , 0)||','
        ||iif(tamanho_id =15, saldo , 0)||','
        ||iif(tamanho_id =16, saldo , 0)||','
        ||iif(tamanho_id =17, saldo , 0)||','
        ||iif(tamanho_id =18, saldo , 0)||','
        ||iif(tamanho_id =19, saldo , 0)||','
        ||iif(tamanho_id =20, saldo , 0)||','||'
        0,
        0,
        0,
        0,
        CURRENT_DATE,
        0,
        '''',
        ''REGISTRO IMPORTADO'',
        ''0'',
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
    );' as SQL
from(
    select
        --p.descricao1,
        --g.descricao,
        k.new_codigo as produto_id,
        g.id as cor_id,
        --f.tamanho,

        iif(h.cod_filial = 997, 1,
        iif(h.cod_filial = 999, 1, h.cod_filial)) estabelecimento_id,

        f.saldo,
        fn_tamanho(y.codigo, f.tamanho) as tamanho_id,

        iif(h.cod_filial = 997, 3,
        iif(h.cod_filial = 999, 4,
        iif(p.tipo_prod  = 'AC', 2,
        iif(p.tipo_prod  = 'MP', 1, 0)))) localizacao

        --,p.*
    from ESTOQUES f, cores g, filiais h, produtos p
    left join grades l on l.grade = p.grade
    left join tbnovo_codigo k on k.old_codigo = p.cod_produto
    left join TBGRADE_FIXA y on y.codigo = l.cod_grade
    where f.produto = p.produto
    and f.saldo > 0.1
    and g.cor = f.cor
    and h.filial = f.filial
    and h.cod_filial not in (2,3,4,998)
    and p.controla_cor = 'T'
    and p.tipo_prod = 'AC'
)