Árvore de páginas

01. CN310QRY - Permite customizar a query na rotina do Reajuste Automático


Produto:

TOTVS Backoffice

Linha de Produto:

Linha Protheus

Segmento:

Backoffice

Módulo:Gestão de Contratos
Função:CNTA310 - Reajuste Automático
Ponto de Entrada:CN310QRY

02. DETALHES


Descrição:

Permite customizar/alterar a query no Reajuste Automático.

Podemos incluir campos customizados dos itens do contrato ou alterar as condições na clausula Where da query.

Eventos:

Executado na Inclusão do reajuste

Programa Fonte:

CNTA310.PRW

Fu

nção:

CN310Inc

Parâmetros:
PosiçãoTipoDescrição
PARAMIXB[1]CaracterQuery montada até o momento
PARAMIXB[2]Inteiro1 ref. trecho de contratos com itens e 2 ref. trecho de contratos sem itens
PARAMIXB[3]Inteiro1 para campos do select e 2 para condições do where
Retorno:

Valor

Tipo

Descrição

cNewQryCaracter

Query customizada

Exemplo
#INCLUDE "PROTHEUS.CH"

/*/{Protheus.doc} CN310QRY
    Permite customizar a query no Reajuste de Contrato. 
    Podemos incluir itens do contrato, ajustar as condições na clausula Where.
    Ponto de Entrada acionado no momento de incluir o Reajuste.
@type function
@version 
@since 11/03/2024
@return Query customizada
/*/
User Function CN310QRY()

    Local cNewQry   := ""
    Local cQuery    := ParamIxb[1]  // Query iniciaada pelo programa
    Local nIndQry   := ParamIxb[2]  // Indice da query [1] = Trecho dos itens do contrato. [2] = Trecho dos contratos sem itens.
    Local nIndPQry  := ParamIxb[3]  // Indice trecho da query [1] = Campos do SELECT. [2] = Condições do WHERE.
    Local cQry01    := ""

    If nIndQry == 1 .And. nIndPQry == 1 // ADICIONAR CAMPOS NO SELECT (COM ITENS)

        cQry01 += ", CNB.CNB_PRODUT "
        cQry01 += ", CNB.CNB_DESCRI "

    ElseIf nIndQry == 2 .And. nIndPQry == 1 // ADICIONAR CAMPOS NO SELECT (SEM ITENS)
 
        cQry01 += ", cast(' ' as varchar("+Alltrim(Str(TamSX3("CNB_PRODUT")[1]))+")) as CNB_PRODUT "  
        cQry01 += ", cast(' ' as varchar("+Alltrim(Str(TamSX3("CNB_DESCRI")[1]))+")) as CNB_DESCRI " 
    
    EndIf

    cNewQry := cQry01

Return(cNewQry)
Exemplo
#INCLUDE "PROTHEUS.CH"

/*/{Protheus.doc} CN310QRY
    Permite customizar a query no Reajuste de Contrato. 
    Podemos incluir itens do contrato, ajustar as condições na clausula Where.
    Ponto de Entrada acionado no momento de incluir o Reajuste.
@type function
@version 
@since 11/03/2024
@return Query customizada
/*/
User Function CN310QRY()

    Local cNewQry   := ""
    Local cQuery    := ParamIxb[1]  // Query iniciaada pelo programa
    Local nIndQry   := ParamIxb[2]  // Indice da query [1] = Trecho dos itens do contrato. [2] = Trecho dos contratos sem itens.
    Local nIndPQry  := ParamIxb[3]  // Indice trecho da query [1] = Campos do SELECT. [2] = Condições do WHERE.
    Local cQry01    := ""

    If nIndQry == 1 .And. nIndPQry == 2 // ADICIONAR CONDICOES NA CLAUSULA WHERE
    
        cQry01 += " AND	NOT EXISTS ( "
        cQry01 += "     SELECT	1 "
        cQry01 += "     FROM	" + RetSqlName("CND") + " "
        cQry01 += "     WHERE	CND_CONTRA	= CN9.CN9_NUMERO "
        cQry01 += "     AND		CND_REVISA	= CN9.CN9_REVISA "
        cQry01 += " ) "
    
    ElseIf nIndQry == 2 .And. nIndPQry == 2 // ADICIONAR CONDICOES NA CLAUSULA WHERE
    
        cQry01 += " AND	NOT EXISTS ( "
        cQry01 += "     SELECT	1 "
        cQry01 += "     FROM	" + RetSqlName("CND") + " "
        cQry01 += "     WHERE	CND_CONTRA	= CN9.CN9_NUMERO "
        cQry01 += "     AND		CND_REVISA	= CN9.CN9_REVISA "
        cQry01 += " ) "
    
    EndIf

    cNewQry := cQry01

Return(cNewQry)

03. ASSUNTOS RELACIONADOS

  • Não há