Relatorio FWMSExcel

Boa tarde pessoal, tudo bom?

Estou desenvolvendo um relatorio com a classe FWMSExcel, onde crei uma subquery na tabela SH6. Basicamente preciso que ele traga o ultimo registro pelos campos H6_OPERAC e H6_DTAPONT ( Ultima operação e Data Apontada), conforme codigo abaixo tentei utilizar a função MAX em ambos os campos, ele traz a ultima operação porém não está trazendo a ultima data apontada. Segue código abaixo:

 SELECT         
      C6_NUM,         
      C6_ITEM,         
      C6_PRODUTO,         
      C6_DESCRI,         
      C6_QTDVEN,         
      C6_PRCVEN,         
      C6_VALOR,         
      C6_ZZGRUPO,         
      C6_ZZDSCG,         
      C5_CLIENTE,         
      A1_NOME,         
      A1_LOJA,         
      C5_EMISSAO,         
      C6_ZZMAT,         
      C6_ENTREG,         
      C6_ZZPRZ,         
      C6_ZZDT1,         
      C6_ZZDT2,         
      C6_ZZDT3,         
      C6_ZZOBSV,         
      C5_ZZLIBEN,         
      C5_ZZUENG,         
      C6_CF,         
      C2_NUM,         
      C2_ITEM,         
      H6_OPERAC,         
      H1_DESCRI,         
      H6_QTDPROD,         
      H6_RECURSO,         
      H6_DTAPONT        
      FROM SC6010 SC6        
      LEFT JOIN SC2010 SC2         
      ON C6_FILIAL = C2_FILIAL         
      AND C6_PRODUTO = C2_PRODUTO         
      AND C6_NUMOP = C2_NUM         
      AND C6_ITEMOP = C2_ITEM         
      AND SC2.D_E_L_E_T_ = ' '         
      AND C6_OP <> ''         
      INNER JOIN SC5010 SC5 ON         
      C5_FILIAL = C6_FILIAL         
      AND C5_NUM = C6_NUM         
      AND SC5.D_E_L_E_T_ = ' '         
      LEFT JOIN SA1010 SA1 ON         
      C5_CLIENTE = A1_COD         
      AND C5_LOJACLI = A1_LOJA         
      AND C5_TIPO = 'N'         
      AND SC5.D_E_L_E_T_ = ' '         
      AND SA1.D_E_L_E_T_ = ' '         
     LEFT JOIN SA2010 SA2 ON         
      C5_CLIENTE = A2_COD         
      AND C5_LOJACLI = A2_LOJA         
      AND C5_TIPO <> 'N'         
      AND SC5.D_E_L_E_T_ = ' '         
      AND SA2.D_E_L_E_T_ = ' ' 
     //**SubQuery Aqui**    
     LEFT JOIN                     
     (SELECT DISTINCT H6_FILIAL,MAX(H6_DTAPONT)H6_DTAPONT,MAX(H6_OPERAC)H6_OPERAC, H6_OP, H6_PRODUTO, H6_RECURSO, SUM(H6_QTDPROD)H6_QTDPROD  
     FROM SH6010 SH6A          
     WHERE SH6A.D_E_L_E_T_ = ' '  
     AND SH6A.H6_OPERAC IN      
     (SELECT MAX(SH6B.H6_OPERAC) H6_OPERAC     
     FROM SH6010 SH6B         
     WHERE SH6B.D_E_L_E_T_ = ' '  
     AND SH6B.H6_OP = SH6A.H6_OP  
     GROUP BY SH6B.H6_FILIAL, SH6B.H6_OP      
    )GROUP BY H6_FILIAL,H6_OPERAC, H6_OP, H6_PRODUTO, H6_RECURSO,H6_DATAINI,H6_DTAPONT     
    ) SH6 ON  
      SH6.H6_FILIAL = C6_FILIAL         
      AND SH6.H6_PRODUTO = C6_PRODUTO 
      AND SUBSTRING(SH6.H6_OP, 1, 6) = C6_NUMOP         
      AND SUBSTRING(SH6.H6_OP, 7, 2) = C6_ITEMOP         
     LEFT JOIN SH1010 SH1 ON         
      H1_FILIAL = SH6.H6_FILIAL         
      AND H1_CODIGO = SH6.H6_RECURSO         
      AND SH1.D_E_L_E_T_ = ' '         
     WHERE         
     C6_CF IN ('6101','5101','6102','5102','6107','6117','5117','5933','6933','5124','6108','6118','5401','6404','7101','5551','6551','6109','6401')  
     AND C5_TIPO = 'N'         
     AND C6_NOTA = ' '         
     AND C6_BLQ = ' '
compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags sql ou faça a sua própria pergunta.