Perguntas Lentidão Compensação CR após Migração P11 FINA330

Mais
12 anos 2 meses atrás #5661 por lalberto
Pessoal descobri o meu problema na lentidação da compensação,
Criei o ponto de entrada FA330QRY para que pudesse visualizar a query montada para busca dos títulos da compensação, e surpriseeeeeeeeeee!!!!

SELECT DISTINCT E1_FILIAL,E1_PREFIXO,E1_NUM,E1_PARCELA,E1_IRRF,E1_MOEDA,
E1_TIPO,E1_SALDO,E1_EMISSAO,E1_CLIENTE,E1_LOJA,E1_NOMCLI,
E1_SDACRES,E1_SDDECRE,E1_HIST,E1_PIS,E1_COFINS,E1_CSLL,E1_TXMOEDA,
E1_VLCRUZ,SE1.R_E_C_N_O_ RECSE1, A1_CGC
FROM SE1080 SE1
LEFT JOIN SA1050 SA1 ON (SE1.E1_LOJA = SA1.A1_LOJA)
WHERE SE1.E1_FILIAL >= ' '
AND SE1.E1_FILIAL <= 'ZZ'
AND SE1.E1_CLIENTE = '000274'
AND SE1.E1_SITUACA NOT IN ('I','J')
AND SE1.E1_TIPO NOT IN ('NCC','RA ','PR ')
AND SE1.E1_TIPO NOT IN ('AB-','FB-','FC-','FU-','IR-','IN-','IS-','PI-','CF-','CS-','FE-','IV-')
AND SE1.E1_SALDO > 0 AND SE1.E1_EMISSAO <= '20120918'
AND SE1.D_E_L_E_T_ = ' ' AND SA1.D_E_L_E_T_ = ' '
ORDER BY E1_FILIAL,E1_PREFIXO,E1_NUM,E1_PARCELA,E1_TIPO

Ou seja, ele busca um titulo para cada linha de cliente do cadastro inteiro cujo a loja seja idêntica rsrs

SELECT DISTINCT E1_FILIAL,E1_PREFIXO,E1_NUM,E1_PARCELA,E1_IRRF,E1_MOEDA,
E1_TIPO,E1_SALDO,E1_EMISSAO,E1_CLIENTE,E1_LOJA,E1_NOMCLI,
E1_SDACRES,E1_SDDECRE,E1_HIST,E1_PIS,E1_COFINS,E1_CSLL,E1_TXMOEDA,
E1_VLCRUZ,SE1.R_E_C_N_O_ RECSE1, A1_CGC
FROM SE1080 SE1
LEFT JOIN SA1050 SA1 ON (SE1.E1_LOJA = SA1.A1_LOJA AND SE1.E1_CLIENTE = SA1.A1_COD)
WHERE SE1.E1_FILIAL >= ' '
AND SE1.E1_FILIAL <= 'ZZ'
AND SE1.E1_CLIENTE = '000274'
AND SE1.E1_SITUACA NOT IN ('I','J')
AND SE1.E1_TIPO NOT IN ('NCC','RA ','PR ')
AND SE1.E1_TIPO NOT IN ('AB-','FB-','FC-','FU-','IR-','IN-','IS-','PI-','CF-','CS-','FE-','IV-')
AND SE1.E1_SALDO > 0 AND SE1.E1_EMISSAO <= '20120918'
AND SE1.D_E_L_E_T_ = ' ' AND SA1.D_E_L_E_T_ = ' '
ORDER BY E1_FILIAL,E1_PREFIXO,E1_NUM,E1_PARCELA,E1_TIPO

Efetuei o tratamento da query no ponto de entrada e beleza!!!!!!!!!!!!!!!!!!

Pra quem precisar segue o ponto de entrada:


#include "rwmake.ch"
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ FA330QRY ºAutor ³Luiz Alberto MasterAdvplº Data ³ 18/09/12 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³ Ponto de Entrada para tratamento da Query da Compensação de Contas
a Receber, temporário para correção de falha
programa padrão.

±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ AP7 º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
User Function FA330QRY()
Local cQuery := PARAMIXB[1]
Local cSep := IIf("|"$MV_CRNEG,"|",",")
Local cOrdemSE1 := SE1->(IndexKey())

If mv_par10 == 2
cFilDe := cFilAnt
cFilAte:= cFilAnt
Else
cFilDe := mv_par11
cFilAte:= mv_par12
Endif

cQuery := "SELECT DISTINCT E1_FILIAL,E1_PREFIXO,E1_NUM,E1_PARCELA,E1_IRRF,E1_MOEDA,E1_TIPO,E1_SALDO,E1_EMISSAO,E1_CLIENTE,E1_LOJA,E1_NOMCLI,E1_SDACRES,E1_SDDECRE,E1_HIST,E1_PIS,E1_COFINS,E1_CSLL,E1_TXMOEDA,E1_VLCRUZ,"
cQuery += "SE1.R_E_C_N_O_ RECSE1, A1_CGC,A1_PESSOA FROM "
cQuery += RetSqlName("SE1") + " SE1 LEFT JOIN "
cQuery += RetSqlName("SA1") + " SA1 ON (SE1.E1_LOJA = SA1.A1_LOJA) AND (SE1.E1_CLIENTE = SA1.A1_COD) "
cQuery += " WHERE "
If mv_par10 == 2
cQuery += "SE1.E1_FILIAL = '"+ xFilial("SE1")+"' AND "
Else
cQuery += "SE1.E1_FILIAL >= '"+ cFilDe +"' AND "
cQuery += "SE1.E1_FILIAL <= '"+ cFilAte+"' AND "
Endif
If mv_par02 == 1
cQuery += "SE1.E1_CLIENTE = '"+cCliente+"' AND "
Else
cQuery += "SE1.E1_CLIENTE >= '"+mv_par03+"' AND "
cQuery += "SE1.E1_CLIENTE <= '"+mv_par04+"' AND "
Endif
If mv_par01 == 1 .And. mv_par02 == 1
cQuery += "SE1.E1_LOJA = '"+cLoja+"' AND "
Endif

If mv_par05 == 2
cQuery += "SE1.E1_SITUACA IN ('0','F','G') AND "
Endif

If cPaisLoc <> "BRA"
If lCredito
cQuery += "SE1.E1_TIPO NOT IN " + FormatIn( MV_CRNEG+cSep+MVRECANT,cSep) + " AND "
Else
cQuery += "SE1.E1_TIPO IN " + FormatIn( MV_CRNEG+cSep+MVRECANT,cSep) + " AND "
Endif
Else
If lCredito
cQuery += "SE1.E1_TIPO NOT IN " + FormatIn( MV_CRNEG+cSep+MVRECANT+cSep+MVPROVIS,cSep) + " AND "
Else
If (cTipoTit $ MVRECANT .And. cTipoTit $ MV_CRNEG )
cQuery += " (SE1.E1_TIPO NOT IN " + FormatIn(MVRECANT,",") + " OR "
cQuery += "SE1.E1_TIPO NOT IN " + FormatIn( MV_CRNEG,cSep) + ") AND "
ElseIf !(cTipoTit $ MVRECANT) .And. !(cTipoTit $ MV_CRNEG )
cQuery += " ( SE1.E1_TIPO IN " + FormatIn(MVRECANT,",") + " OR "
cQuery += "SE1.E1_TIPO NOT IN " + FormatIn( MV_CRNEG,cSep) + ") AND "
Endif
Endif
Endif

cQuery += "SE1.E1_TIPO NOT IN " + FormatIn(MVABATIM,"|") + " AND "
cQuery += "SE1.E1_SALDO > 0 AND "
cQuery += "SE1.E1_EMISSAO <= '"+DtoS(dDatabase)+ "' AND "
cQuery += "SE1.D_E_L_E_T_ = ' ' AND "
If mv_par10 == 2
cQuery += "SA1.A1_FILIAL = '" + xFilial("SA1") + "' AND "
EndIf
cQuery += "SA1.D_E_L_E_T_ = ' ' "

cQuery += "ORDER BY " + SqlOrder(cOrdemSE1)

Return cQuery

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Mais
12 anos 1 mês atrás #6174 por rbtmarques
vlw muito obrigado pela dica estava com o mesmo problema e consegui resolver com sua dica...

Por favor Acessar ou Registrar para participar da conversa.

Mais
12 anos 1 mês atrás #6175 por lalberto
Blz Roberto seja bem vindo ao MasterAdvpl e divulgue o site aos amigos.

Abraços.

Coloca sua foto ai pra gente te conhecer melhor.

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.140 segundos
Joomla templates by a4joomla