[RESOLVIDO] For each marcac_ptoelet

Discussão em 'EMS , HCM e Totvs 11' iniciado por muertebr, Fevereiro 10, 2014.

Status do Tópico:
Não esta aberto para novas mensagens.
  1. muertebr

    muertebr Membro Participativo

    Estou tentando fazer um For Each na tabela marcac_ptoelet para pegar as batidas de ponto dos funcionários, mais está extremamente lento para me retornar os registros da data atual, alguém tem alguma solução para isso?

    Código:
    for each marcac_ptoelet no-lock USE-INDEX mrccptlt_tm04002
        where marcac_ptoelet.cdn_empresa = '1' and
              marcac_ptoelet.cdn_estab = "101" AND
              marcac_ptoelet.cdn_funcionario >= 0 and
              marcac_ptoelet.cdn_funcionario <= 79999 and
              marcac_ptoelet.dat_marcac_ptoelet = TODAY.
        DISP marcac_ptoelet.cdn_funcionario.
    END.
    
    /*
    mrccptlt_tm04002
    dat_marcac_ptoelet
    
    mrccptlt_id
    dat_proces_mpe
    */
    Já tentei trocar o índice e mesmo assim é lento.
  2. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

    Caro colega,
    Testa com esta logica abaixo:

    Código:
    for each funcionario    fields(cdn_empresa cdn_estab cdn_funcionario)
      where funcionario.cdn_empresa      = "1"
        and funcionario.cdn_estab        = "100"
        and funcionario.cdn_funcionario >= 0
        and funcionario.cdn_funcionario <= 79999 no-lock,
        each marcac_ptoelet fields(cdn_funcionario dat_marcac_ptoelet) of funcionario
      where marcac_ptoelet.dat_marcac_ptoelet = today no-lock:
     
        disp marcac_ptoelet.cdn_funcionario.
     
    end.
    
  3. muertebr

    muertebr Membro Participativo

    Agora sim.... foi que é uma beleza...
    vlw
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página