01. DADOS GERAIS
Produto: |
TOTVS Backoffice
|
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | Serviços |
Módulo: | TOTVS Backoffice (Linha Protheus) - Ativo Fixo (SIGAATF)
|
Função: | ATFA050 - AF050FPR |
País: | Brasil |
Ticket: | Interno |
Requisito/Story/Issue: | DSERCTR1-39974 |
02. SITUAÇÃO/REQUISITO
O ponto de entrada AF050FPR permite a seleção de determinados ativos a serem desconsiderados no Cálculo Mensal de depreciação.
Atenção
Os exemplos utilizados nesse documento são meramente ilustrativos.
IMPORTANTE !!!
Os impactos causados pela utilização do ponto de entrada são de total responsabilidade do cliente que o implementou.
Este PE pode ser executado via PROCEDURE ou ADVPL, se for executado o calculo de depreciação sem procedure utiliza-se o PE em ADVPL, agora se for executado o calculo de depreciação com PROCEDURE deve ser utilizado o PE via PROCEDURE
03. SOLUÇÃO
Explicação e contextualização sobre o uso do PE.
Ponto de entrada quando o Cálculo de Depreciação é realizada por procedures. Detalhe que para ser utilizada, esta procedure AF050FPR deve ser codificada/desenvolvida na linguagem nativa do SGBD utilizado. Se utiliza ORACLE, codificar em ORACLE, se MSSQLSERVER codificar em SQLSERVER e se POSTGRES codificar em POSTGRES.
O exemplo abaixo está em Oracle.
Procedimento para utilizar a procedure AF050FPR ou qualquer outro Ponto de Entrada em procedure.
- Instalar o pacote principal de procedure e verificar se o ponto de Entrada foi criada, atentando-se para o parâmetro MV_DROPPE.
- Este deve estar parametrizado com "F" para que não se excluam os Pontos de Entradas.
Observe que essa procedure é sempre instalada no banco:
Obs: observe que o PE é sempre executada na chamada da procedure principal ATF001 da seguinte forma:
AF050FPR_11_T1 (vcFilial , vcN3_CBASE , vcN3_ITEM , vcN3_TIPO , vcN3_SEQ , IN_DATADEP , vcCalcula );
Exemplo em PROCEDURE:
Atenção
Importante se atentar que em procedure deve-se codificar, na linguagem do banco de Dados.
Se codificado em ADVPL:
User Function AF050FPR() Local lRet := .F. Local cChave := Paramixb[1] Local aChave := {} // Monta array para itens que não serão depreciados // CBASE CITEM AADD(aChave, "100003 03 " ) AADD(aChave, "100005 05 " ) AADD(aChave, "111111 11 " ) If Ascan(aChave, cChave) # 0 lRet := .T. Alert("Ponto de entrada AF050FPR() executado") EndIf Return lRet
04. DEMAIS INFORMAÇÕES
Contextualização PE
If ExistBlock("AF050FPR") If ExecBlock("AF050FPR",.F.,.F.,{cChave}) DbSelectarea(cAliasSn3) (cAliasSn3)->( DbSkip() ) Loop EndIf EndIf
AF050FPR_11_XX (vcFilial , vcN3_CBASE , vcN3_ITEM , vcN3_TIPO , vcN3_SEQ , IN_DATADEP , vcCalcula );
Parâmetros e Retorno
Parâmetros em ADVPL:
Parâmetros | Tipo | Descrição |
---|---|---|
cChave - PARAMIXB[1] | Caractere | Chave retornada para utilização |
Parâmetros em PROCEDURE:
Parâmetros | Tipo | Descrição |
---|---|---|
IN_FILIAL | Caractere | Filial utilizada |
IN_CBASE | Caractere | Código base |
IN_ITEM | Caractere | Item do Código Base |
IN_TIPO | Caractere | Tipo do bem |
IN_SEQ | Caractere | Sequencia da inclusão do bem |
IN_DATA | Caractere | Data da depreciação |
OUT_RESULT | Caractere | Resultado retornado da procedure. Se "0" pula o registro, Se "1" não |
Retorno do ponto de entrada ADVPL e PROCEDURE:
Modo | Retorno | Tipo |
---|---|---|
PROCEDURE | OUT_RESULT | Caractere |
ADVPL | lRet | Lógico |
05. ASSUNTOS RELACIONADOS
- Não se aplica.