select

    SQLP1||
    1||','||
    2||','||
    pedidov||','||
    sequencia||','||
    '''1'||fn_lpad(pedidov,6,'0')||fn_lpad(sequencia,3,'0')||''','||
    cliente||','||
    '(select first 1 p.codigo from tbproduto p where p.modelo_codigo = '||modelo_id||' and p.cor_codigo = '||cor_id||')'||','||
    modelo_id||','||
    qtd||','||
    preco||','||
    iif(tamanho_id = 1, qtd, 0)||','||--:T01,
    iif(tamanho_id = 2, qtd, 0)||','||--:T02,
    iif(tamanho_id = 3, qtd, 0)||','||--:T03,
    iif(tamanho_id = 4, qtd, 0)||','||--:T04,
    iif(tamanho_id = 5, qtd, 0)||','||--:T05,
    iif(tamanho_id = 6, qtd, 0)||','||--:T06,
    iif(tamanho_id = 7, qtd, 0)||','||--:T07,
    iif(tamanho_id = 8, qtd, 0)||','||--:T08,
    iif(tamanho_id = 9, qtd, 0)||','||--:T09,
    iif(tamanho_id =10, qtd, 0)||','||--:T10,
    iif(tamanho_id =11, qtd, 0)||','||--:T11,
    iif(tamanho_id =12, qtd, 0)||','||--:T12,
    iif(tamanho_id =13, qtd, 0)||','||--:T13,
    preco||','||
    tamanho_id||','||
    cor_id||','''||
    data_emissao||''','''||
    data_entrega||''','||
    '''SKU'''||
    ') matching (ESTABELECIMENTO_CODIGO, PEDIDO, PRODUTO_CODIGO, TAMANHO, SEQUENCIA);' as sql

from(
select
    a.*,
    k.new_codigo modelo_id ,
            'update or insert into TBPEDIDO_ITEM ( ESTABELECIMENTO_CODIGO, LOCALIZACAO_ID, PEDIDO, SEQUENCIA, CONTROLE, CLIENTE_CODIGO, PRODUTO_CODIGO, MODELO_CODIGO, QUANTIDADE, VALOR, T01, T02, T03, T04, T05, T06, T07, T08, T09, T10, T11, T12, T13, VR_TAB, TAMANHO, COR_ID, DATA_CLIENTE, DATA_PRODUCAO, PERFIL) VALUES (' as SQLP1
        
from(



    select
        v.*,
        row_number() over(partition by v.cod_pedidov order by v.cod_pedidov )  as sequencia
    from(
        select
            PEDIDOV,
            DATA_EMISSAO,
            DATA_ENTREGA,
            PRECO,
            COD_PEDIDOV,
            TAMANHO_ID,
            COR_ID,
            CLIENTE,
            DESCONTO,
            COD_PRODUTO,
            sum(QTD) as QTD
        from(
            select
                
                    v.id pedidov,
                    v.data_emissao,
                    v.data_entrega,
                    coalesce(g.quantidade,0) - coalesce(g.entregue,0) as qtd,
                    g.preco,
                     v.cod_pedidov,
                    fn_tamanho(y.codigo, g.tamanho) as tamanho_id,
                    o.id as cor_id,
                    v.cliente,
                    coalesce(g.desconto,0) as desconto,
                    p.cod_produto
        
                from PEDIDO_VENDA v, PRODUTO_PEDIDOV g,
                produtos p,
                cores o,
                grades l,
                TBGRADE_FIXA y
                where g.pedidov = v.pedidov
        
                and p.produto = g.produto
                and o.cor = g.cor
                and l.grade = p.grade
                and y.codigo = l.cod_grade
            
            and  v.cod_pedidov in (
              '00103187',
        '00103498',
    '00103499',
    '00103500',
    '00103501',
    '00103502',
    '00103518',
    '00103524',
    '00103525',
    '00103529',
    '00103534',
    '00103537',
    '00103540',
    '00103542',
    '00103544',
    '00103546',
    '00103548',
    '00103554',
    '00103555',
    '00103556',
    '00103557',
    '00103558',
    '00103582',
    '00103583',
    '00103605',
    '00103612',
    '00103615',
    '00103624',
    '00103656',
    '00103674',
    '00103677',
    '00103691',
    '00103692',
    '00103694',
    '00103701',
    '00103703',
    '00103704',
    '00103708',
    '00103712',
    '00103723',
    '00103728',
    '00103731',
    '00103732',
    '00103733',
    '00103734',
    '00103735',
    '00103736',
    '00103737',
    '00103738',
    '00103739',
    '00103740',
    '00103742',
    '00103744',
    '00103745',
    '00103747',
    '00103748',
    '00103749',
    '00103750',
    '00103751',
    '00103752',
    '00103753',
    '00103755',
    '00103757',
    '00103769',
    'K9211-1',
    'K9274-2',
    'K9274-3',
    'K9369-1',
    'K9373-1',
    'K9449-2',
    'K9461-1',
    'K9461-3',
    'K9483-1',
    'K9483-2',
    'K9491-4',
    'K9491-6',
    'K9496-2',
    'K9496-3',
    'K9507-3',
    'K9517-1',
    'K9528-1',
    'K9528-2',
    'K9530-1',
    'K9531-1',
    'K9532-1',
    'K9532-3',
    'K9532-4',
    'K9535-2',
    'K9543-2',
    'K9543-3',
    'K9551-1',
    'K9553-1',
    'K9553-3',
    'K9555-1',
    'K9574-1',
    'K9574-2',
    'K9577-2',
    'K9577-4',
    'K9578-2',
    'K9579-2',
    'K9581-1',
    'K9589-1',
    'K9590-1',
    'K9594-1',
    'K9600-2',
    'K9601-1',
    'K9601-2',
    'K9605-1',
    'K9608-2',
    'K9612-1',
    'K9612-3',
    'K9613-1',
    'K9613-2',
    'K9614-1',
    'K9614-2',
    'K9614-3',
    'K9614-4',
    'K9614-5',
    'K9614-6',
    'K9614-7',
    'K9614-9',
    'K9615-1',
    'K9615-2',
    'K9615-3',
    'K9615-4',
    'K9615-5',
    'K9617-1',
    'K9620-1',
    'K9620-2',
    'K9620-3',
    'K9620-4',
    'K9623-1',
    'K9628-1',
    'K9630-1',
    'K9630-2',
    'K9631-1',
    'K9631-10',
    'K9631-11',
    'K9631-12',
    'K9631-2',
    'K9631-3',
    'K9631-4',
    'K9631-5',
    'K9631-6',
    'K9631-7',
    'K9631-8',
    'K9631-9',
    'K9632-1',
    'K9633-1',
    'K9636-1',
    'K9638-2',
    'K9640-1',
    'K9640-2',
    'K9640-3',
    'K9643-1',
    'K9643-2',
    'K9646-1',
    'K9646-2',
    'K9646-3',
    'K9646-4',
    'K9646-5',
    'K9646-6',
    'K9646-7',
    'K9649-2',
    'K9651-1',
    'K9653-1',
    'K9654-1',
    'VL450',
    'VL452',
    'VL460',
    'VL462',
    'VL464'
            )
    
        )  group by PEDIDOV,
            DATA_EMISSAO,
            DATA_ENTREGA,
            PRECO,
            COD_PEDIDOV,
            TAMANHO_ID,
            COR_ID,
            CLIENTE,
            DESCONTO,
            COD_PRODUTO
        ) v order by cod_pedidov



) a , tbnovo_codigo k
where qtd > 0
and k.old_codigo = a.cod_produto
) a