Árvore de páginas

Ajuste em query para banco Informix

Linha de Produto:

Microsiga Protheus

Segmento:

Recursos Humanos

Módulo:

SIGAGPE

Função:

GPEM120

Situação/Requisito:

Sistema gera "error.log" no fechamento do período quando o banco de dados é INFORMIX:


[Informix]Cannot perform aggregate function with distinct on expression.
SELECT COUNT(DISTINCT(SRA.RA_FILIAL || SRA.RA_MAT)) CONTADOR FROM SRA010 SRA INNER JOIN RCH010 RCH ON SUBSTR(SRA.RA_FILIAL , 1 , 2) = SUBSTR(RCH.RCH_FILIAL , 1 , 2) WHERE RCH.RCH_FILIAL = '7F ' AND SRA.RA_PROCES = '00001' AND RCH.D_E_L_E_T_= ' ' AND SRA.D_E_L_E_T_= ' ' on __EXECSQL(APLIB300.PRW) 18/01/2018 15:10:49 line : 126

on __EXECSQL(APLIB300.PRW) 18/01/2018 15:10:49 line : 126
Called from __EXECSQL(APLIB300.PRW) 18/01/2018 15:10:49 line : 126
Called from GPM120PROCESSA(GPEM120.PRX) 05/04/2018 18:04:41 line : 630

Solução/Implementação:

Ajuste para trocar o "DISTINCT" por uma sub-query na rotina de fechamento para o o COUNT seja realizado corretamente.
Pacotes:

12.1.16: https://suporte.totvs.com/portal/p/10098/download?e=686821 

12.1.17: https://suporte.totvs.com/portal/p/10098/download?e=686827