Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

02. EXEMPLO DE UTILIZAÇÃO

Bloco de código
languagecpp
themeEclipse
firstline1
linenumberstrue
collapsetrue
User Function EECAF200()

...



Local cParam := if(Type("ParamIxb") = "A", ParamIxb[1], if(Type("ParamIxb") = "C", ParamIxb, ""))

...



If cParam == "PE_STATUS"

...



   MsgInfo("Entrou no ponto de entrada", 'PE_STATUS')

...



If EEC->(RecLock("EEC",.f.))

...



   M->EEC_STATUS := "A"

...


   M->EEC_STTDES := "STATUS TESTE"

...



EndIf

...



ElseIf cParam == "INICIALIZA_EVENTOS"

...



   MsgInfo("Entrou no ponto de entrada", 'INICIALIZA_EVENTOS')

...


   lGrvCamCon := .F.

...



ElseIf cParam == "PE_ALT_PARC"

...



   Msginfo("Entrou no ponto de entrada", 'PE_ALT_PARC')

...



ElseIf cParam == "EVENTOS_NAO_GERADOS"

...



   //disponível para alteração a variável cEventosNaoGerados

...



ElseIf cParam == "AF200DPARC_PARCELA_CAMBIO"

...



   /* Exemplo de uso do ponto de entrada no momento da exclusão da parcela de câmbio, quando retirada a data do embarque.

...


   A variável lDLoopEEQ indica se o programa deverá esquivar da exclusão do registro. */

...


If EEQ->EEQ_EVENT == "120"

...



   lDLoopEEQ:= .T.

...



EndIf

...



ElseIf cParam == "AF200VALID_VALCAMPO"

...



If nTipoDet == 6 //exclusão

...



   //não permite excluir

...


   lSair:= .T.

...


   lRet:= .F.

...



EndIf

...



ElseIf cParam == "PE_VALIDA"

...



   nTipo:= ParamIXB[2] //é o mesmo conteúdo da variável nTipoDet

...


If nTipo == 6 //ou nTipoDet == 6; exclusão

...



   //não permite excluir

...


   //Return .F. //pode retornar .F. ou alterar a variável lRet

...


lRet:= .F.

...



EndIf

...



Elseif cParam == "ANTES_GRV_TMP"

...



   nTipo:= ParamIXB[2]

...


If nTipo == 5

...



   MsgInfo("Alteração da parcela de câmbio", "ANTES_GRV_TMP")

...



Endif

...



Elseif cParam == "GRV_ITEM_CAMBIO"

...



   /*

...


If Empty(EEQ->EEQ_DTCE) .And. !Empty(TMP->EEQ_DTCE)

...



   //processamento customizado

...



EndIf */

...


   MsgInfo("Ponto de entrada EECAF200 GRV_ITEM_CAMBIO", "GRV_ITEM_CAMBIO")

...



ElseIf cParam == "INC_CAMBIO"

...



   MsgInfo("Ponto de Entrada EECAF200 INC_CAMBIO", "INC_CAMBIO")

...



ElseIf cParam == "PE_GERPARC"

...



   MsgInfo("Ponto de Entrada EECAF200 PE_GERPARC", "PE_GERPARC")

...



   //customização após a gravação das parcelas de câmbio (EEQ)

...



   //EEQ->(DBSeek(xFilial() + M->EEC_PREEMB))

...



   //Looping na tabela EEQ para customização das parcelas de câmbio geradas para o processo de embarque

...



Elseif cParam == "VALIDA_PARCELA"

...



   cMsg := "Variáveis com dados da parcela a ser gerada " + ENTER

...


   cMsg += "nValParPE = " + Alltrim(str(nValParPE)) + ENTER

...


   cMsg += "cCondPagtoPE = " + cCondPagtoPE + ENTER

...


   cMsg += "dDtBasePE = " + dtoc(dDtBasePE) + ENTER

...


   cMsg += "cEventoPE = " + cEventoPE + ENTER

...


   cMsg += "cFornecedorPE = " + cFornecedorPE + ENTER

...


   cMsg += "cLojaPE = " + cLojaPE + ENTER

...


   cMsg += "cEmpresaPE = " + cEmpresaPE + ENTER

...


   cMsg += "cNrInvoPE = " + cNrInvoPE + ENTER

...


   cMsg += "cNatPE = " + cNatPE + ENTER

...


   MsgInfo(cMsg,"VALIDA_PARCELA")

...

EndIf

...






Elseif cParam == "PE_ENCHOICE_EEQ"

         If ParamIXB[2] == 5

            MsgInfo("Entrou no Ponto de Entrada PE_ENCHOICE_EEQ", "Alteração")

         ElseIf ParamIXB[2] == 3

            MsgInfo("Entrou no Ponto de Entrada PE_ENCHOICE_EEQ", "Visualização")

         ElseIf ParamIXB[2] == 4

            MsgInfo( "Entrou no Ponto de Entrada PE_ENCHOICE_EEQ", "Inclusão")

         ElseIf ParamIXB[2] == 98

            MsgInfo( "Entrou no Ponto de Entrada PE_ENCHOICE_EEQ", "Estorno da Liquidação")

         ElseIf ParamIXB[2] == 99

            MsgInfo( "Entrou no Ponto de Entrada PE_ENCHOICE_EEQ","Liquidação")

         ElseIf ParamIXB[2] == 97

            MsgInfo("Entrou no Ponto de Entrada PE_ENCHOICE_EEQ","Baixa Gerencial")

         EndIf

            aDel(aMostra, AScan(aMostra, "EEQ_FOLOJA"))

            aDel(aMostra, AScan(aMostra, "EEQ_CORR"))

            aDel(aMostra, AScan(aMostra, "EEQ_OBS"))

            aSize(aMOSTRA, Len(aMostra)-3)




            ADel(aALTERA, AScan(aALTERA, "EEQ_BANC"))

            ADel(aALTERA, AScan(aALTERA, "EEQ_AGEN"))

            ADel(aALTERA, AScan(aALTERA, "EEQ_NCON"))

            aSize(aAltera, Len(aAltera)-3)

EndIf

Return Nil



03. PARÂMETROS


NomeTipoDescrição
PE_STATUSCaracterPermite a customização do status do pedido após a liquidação do controle do câmbio
INICIALIZA_EVENTOSCaracterPermite a customização da validação que não permite gerar parcela de câmbio, caso a parcela já esteja liquidado. Também possibilita reiniciar a definição dos eventos para os quais devem ser geradas parcelas de câmbio, através da variável lInicializa.
PE_ALT_PARCCaracterPermite alteração da parcela de câmbio (aParc)
AF200DPARC_PARCELA_CAMBIOCaracterAo remover a Dt.Embarque do processo e clicar em Salvar, este ponto de entrada será executado. Também estará disponível a variável cDespIntFin, com a lista dos eventos que serão integrados ao módulo SIGAFIN.
AF200GPARC_DEF_PARCCaracterPossibilitar a alteração das parcelas que serão criadas no EEQ com base no array aParc. Também estará disponível a variável cDespIntFin, com a lista dos eventos que serão integrados ao módulo SIGAFIN.
AF200GPARC_DEF_COMICaracterPossibilitar a alteração do rateio das comissões no array aParcAux caso o array aParc tenha sido customizado.
EVENTOS_NAO_GERADOSCaracterPermite manipular a variável cEventosNaoGerados, determinando os eventos para os quais não devem ser geradas parcelas de câmbio. Este ponto é executado quando ocorre a reinicialização das variáveis de controle, que pode ser provocada pelo uso do ponto de entrada com o parâmetro INICIALIZA_EVENTOS.
AF200VALID_VALCAMPOCaracterExecutado a partir da validação dos campos da parcela de câmbio e na confirmação da gravação da parcela de câmbio. Permite implementar validações adicionais e/ou aborar, através da manipulação das variáveis lSair e lRet. Os campos que estão sendo validados podem ser identificados pela função ReadVar().
{"PE_VALIDA", nTipoDet}Array

Executado na confirmação da gravação da parcela de câmbio - botão Salvar (BT_OK). Permite implementar validações adicionais e/ou aborar, através da manipulação da variável lRet.

Este ponto de entrada também pode retornar dados lógicos, sendo atribuído ao lRet da função de validação.

Como array, possui duas posições:

  • A primeira posição, PE_VALIDA, serve para indicar que a execução do ponto de entrada ocorre ao confirmar a gravação das alterações realizadas na parcela de câmbio;
  • A segunda posição, nTipoDet, indicará a operação realizada, podendo assumir os valores:

3: Visulização da parcela de câmbio
4: Inclusão da parcela de câmbio
5: Alteração da parcela de câmbio
6: Exclusão da parcela de câmbio
99: Liquidação da parcela de câmbio
98: Estorno da liquidação da parcela de câmbio
97: Baixa gerencial da parcela de câmbio

{"ANTES_GRV_TMP", nTipo}Array

Executado na confirmação da manutenção da parcela de câmbio, logo após as validações, para gravação dos dados da memória (da parcela) para a tabela temporária:

  • A primeira posição, ANTES_GRV_TMP, serve para indicar que a execução do ponto de entrada ocorre antes da execução da gravação da memória para a tabela temporária;
  • A segunda posição, nTipo, indicará a operação realizada, podendo assumir os valores:

3: Visulização da parcela de câmbio
4: Inclusão da parcela de câmbio
5: Alteração da parcela de câmbio
6: Exclusão da parcela de câmbio
99: Liquidação da parcela de câmbio
98: Estorno da liquidação da parcela de câmbio
97: Baixa gerencial da parcela de câmbio

GRV_ITEM_CAMBIOCaracterExecutado na confirmação final do câmbio, parcela a parcela, na gravação dos dados da tabela temporária (TMP) para a tabela de câmbio (EEQ).
INC_CAMBIOCaracterExecutado após a gravação de todas as parcelas de câmbio (looping), da tabela temporária (TMP) para a tabela de câmbio (EEQ).
PE_GERPARCCaracterIndica o final da gravação de todas as parcelas de câmbio para o processo de embarque, após o preenchimento da data do embarque e gravação do processo. Este ponto permite a implementação de um looping na tabela das parcelas de câmbio (EEQ) para customização e gravação adicional de informações, dentre outras necessidades. Os dados da tabela podem ser posicionados usando as variáveis de memória da capa do processo de embarque (EEC).
VALIDA_PARCELACaracterValida as parcelas que serão geradas para o câmbio como comissão de agentes e despesas internacionais
DTNEGO_VALIDCaracterPermite a substituição dos tratamentos padrões de validação do campo data de negociação, EEQ_DTNEGO.
AF200STATUS_ALTSTATUSArrayPermite a alteração do status do PO, mesmo quando o mesmo possuir algum câmbio gerado.
ALTERA_PARCELAArrayPermite customizar a informação do campo Parcela, utilizado na chave para baixa dos títulos no módulo Financeiro.
ACERTA_TMPArrayParâmetro permitirá alteração dos valores do campos de parcela na rotina de Câmbio.
DESVIA_AJUSTEArrayParâmetro que permitirá desviar o ajuste das parcelas de câmbio.
AF200VALID_VALCAMPOCaracterPonto de entrada para criação ou alteração de uma validação
ALTERA_CSEEK_1CaracterParâmetro que possibilitará alterar a variável cSeek
ALTERA_CSEEK_2CaracterParâmetro que possibilitará alterar a variável cSeek
AF200GPARC_ALTDTEMBACaracterPonto de entrada para alteração da variável dDtEmba que guarda a data do campo EEC_DTEMBA, este campo será usado em diversas validações

...