Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

RH - Linha Datasul - MFP - Manutenção fórmula de cálculo dos eventos – FP2600

relogio.png Tempo aproximado para leitura: 00:09:00 min

Dúvida
Como parametrizar o Sistema para utilizar o programa FP2600 - Manutenção Fórmula de Cálculo dos Eventos?

Ambiente
TOTVS RH - TOTVS RH (Linha Datasul) - Folha de Pagamento (MFP) – Versão 12

Solução
Segue detalhamento para realizar a Manutenção Fórmula de Cálculo dos Eventos:

Parametrização no Produto
 - Diagnosticar a real necessidade do usuário, analisando se não podem ser utilizadas as fórmulas criadas através do programa FP2600. 
- Efetuar o levantamento dos campos e tabelas a serem utilizadas no programa.
- Fazer o programa específico, sendo que as variáveis abaixo deverão ser utilizadas para retorno da informação. Estas variáveis já estão valorizadas para a fórmula utilizada na função FP2600.

- Variáveis disponíveis no módulo de Folha de Pagamento:
i-un-retorno: variável shared que retorna a unidade calculada pelo programa específico para o programa principal.
i-vl-retorno: variável shared que retorna o valor calculado pelo programa específico para o programa principal.
i-bs-retorno: variável shared que retorna a base de cálculo do programa específico para o programa principal.

def shared var i-un-retorno as dec no - undo
def shared var i-vl-retorno as dec no - undo
def shared var i-bs-retorno as dec no - undo

Buffers disponíveis que poderão ser utilizados em programas específicos da folha de pagamento - FP2600:

Def shared buffer bfunciona for funciona.
Def shared buffer bestabel for estabel.
Def shared buffer bturno for turno.
Def shared buffer bsindicato for sindicato.
Def shared buffer bcontrole for controle.
Def shared buffer btbinss for tbinss.
Def shared buffer bmvtobefo for mvtobefo.
Def shared buffer bsituacao for situacao.
Def shared buffer baltersit for altersit.

- Variáveis disponíveis no módulo de Benefícios Sociais BS0540 - Manutenção Fórmula de Cálculo:

d-vl-benefic: Variável shared utilizada na geração de benefícios que contém o valor atual do benefício.
d-acum-tot: Variável shared extent usada para acumular os totais usados no programa de cálculo que será tratado na geração de benefícios. Retorna para o programa principal.
d-acum-tot[1]: Total funcionário.
d-acum-tot[[2]: Total empresa.
d-acum-tot[3]: Total dependentes.
d-acum-tot[4]: Total correção.
i-inf-cd: Variável shared, sendo que no campo contínuo o extent [2] traz do programa de geração o salário atual do funcionário.
i-cd-benefic: Variável shared que contém o código do benefício que está sendo calculado.

Pré-requisitos para fazer o programa.
O diretório onde deverá estar o programa deve ser:
FMP: Folha de Pagamento - FP2600
FBP:
 Benefícios Sociais - BS0540

Exemplo de nomes e programas:
FM000416.P: FM + código do evento sendo que deverá ter 6 dígitos, e os primeiros deverão ser preenchidos com zeros à esquerda - FP2600.
FB00120.P: FB + código do evento sendo que deverá ter 6 dígitos, e os primeiros deverão ser preenchidos com zeros à esquerda - BS0540.

Exemplo de programa de fórmula de cálculo benefícios sociais:

Programa: Especifico/Beneficio *
Data....: Julho/1995 *
Autor...: DATASUL
Objetivo: Formula de Calculo para Plano de Saúde *

def shared var d-vl-benefic as dec no-undo.
Def shared var d-acum-tot as dec extent 10 no-undo.
Def shared var i-inf-cd as dec extent 15 no-undo.
Def shared var i-cd-benefic like mvtobene.cd-benefic no-undo.
Def var i-cont-dep as int initial 1 no-undo.
Def var d-vl-func as dec no-undo.
Def var d-vl-tot as dec no-undo.
Def var d-vl-benef as dec no-undo.
Def var d-vl-salar as dec no-undo.

Def shared buffer bfunciona for funciona.

For each depend dor bfunciona no-lock:
Assign i-cont-dep = i-cont-dep + 1.
End.
Find benefic no-lock where
Benefic.cd-benefic = i-cd-benefic no error.
If available benefic then do:
Find first benefunc of benefic no-lock no-error.
If available benefunc then do:
Find first tabvalor where
Tabvalor.ep-codigo = ngs-i-codemp and
Tabvalor.cd-tabela = 1 and
Tabvalor.sequencia = 4 no lock no-error.
Assign d-vl-func = tabvalor.vl-assumir * tabvalor.vl-base
d-vl-tot = tabvalor.vl-assumir * i-cont-dep
d-vl-benef = d-vl-func * i-cont-dep
d-vl-salar = i-inf-cd[2] * 0.06.
if d-vl-benef > d-vl-salar then
assign d-acum-tot[1] = d-vl-salar
d-acum-tot[2] = d-vl-tot - d-vl-salar.

Else

Assign d-acum-tot[1] = d-vl-tot.
End.
End.

A referência feita a tabela de valores é uma opção para cadastrarmos valores, evitando com isso, o tratamento interno destes valores no programa de fórmula de cálculo, gerando como benefício a constante alteração destes por parte do usuário.

/****FBP/FP000120.P****/


Exemplo de programa de fórmula de cálculo folha de pagamento:

Programa: FM000233.P *
Data....: Setembro/199
Autor...: DATASUL *
Objetivo: Calcular o evento 233 (férias vencidas indenizadas)* 
a partir do evento 890 Formula de Calculo para Plano de Saude *

def shared var i-un-retorno as dec no-undo.
Def shared var i-vl-retorno as dec no-undo.
Def shared var i-bs-retorno as dec no-undo.

Def var d-qtd as dec no-undo.
Def var d-salario as dec no-undo.
Def shared workfile wmovto no-undo.
Field seq-calculo as int
Field ev-codigo as int
Field un-inf as dec
Field hr-inf as dec
Field vl-inf as dec
Field un-calc as dec
Field hr-calc as dec
Field vl-calc as dec
Field bs-calc as dec
Field hr-carga as dec
Field ger-fixo as int
Field ev-indice as int
Field origem as cha format "x" initial "C"
Field valoriza as log init no.

Def buffer b-wmovto for wmovto.

Find first b-wmovto where
b-wmovto.ev-codigo = 233
no-lock no-error.
If not avail b-wmovto then return.
Assign d-qtd = b-wmovto.un-calc.

Find first b-wmovto where
b-wmovto.ev-codigo = 890
no-lock no-error.
If not avail b-wmovto then return.

Assign d-salario = b-wmovto.vl-calc
i-vl-retorno = trunc(round(d-salario * d-qtd / 30,2),2).

Return.

/****FM000233.P****/

Após esgotadas as possibilidades de criação de fórmulas de cálculo de evento através da rotina FP2600, resta a possibilidade da criação de um programa de computador na linguagem Progress® ABL, conforme descrito abaixo:

Pré-requisitos
Domínio da linguagem Progress® ABL e das ferramentas de desenvolvimento.

Passo a Passo
Inicialmente é preciso criar um novo código de fórmula no FP2600. Nesse código deve ser acrescentado uma única sequência com:

 

Acumulador 1
Operação P
Conteúdo Código do programa

 

O programa a ser criado deve seguir este formato para o nome:
fm + código do programa com 6 dígitos + extensão .p para fórmulas para Folha / Férias e Rescisões;

Exemplo
Se for criada a fórmula com código do programa 25 o nome do programa deverá ser fm000025.p

Conteúdo mínimo

Um programa mínimo para Folha, Férias e Rescisões apresenta este conteúdo:
def shared var i-un-retorno as dec no-undo.
def shared var i-vl-retorno as dec no-undo.
def shared var i-bs-retorno as dec no-undo.

Na variável i-un-retorno deve ser retornado a quantidade do evento na unidade cadastrada. Na variável i-bs-retorno deve ser retornado a base de cálculo usada na determinação do valor do evento, que deve ser retornado na variável i-vl-retorno.

Claro que para seja possível criação de um programa útil são necessárias outras informações. Abaixo definição de outras variáveis disponíveis com descrição de seu conteúdo.
/* Dezesseis (16) valores cadastrais – detalhes na Tabela 1 Informações Cadastrais */
def shared var i-inf-cd as dec  extent 16 no-undo.
/* Onze (11) valores de base de cálculo – detalhes na Tabela 2 Bases */
def shared var i-inf-bs as dec  extent 11 no-undo.
/* Variáveis que permitem determinar qual rotina chamou a fórmula de cálculo

Exemplo
l-fp3020 = yes significa que o programa foi chamado pela rotina FP3020 - Cálculo Folha Normal.

*/
define shared var l-fp3020 as log no-undo.
define shared var l-fp3060 as log no-undo.
define shared var l-fp3160 as log no-undo.
define shared var l-fp3170 as log no-undo.
define shared var l-fp3180 as log no-undo.
define shared var l-fr0100  as log no-undo.
define shared var l-fr5100 as log no-undo.
define shared var l-fr5160 as log no-undo.

Além disso o buffer abaixo permite determinar qual funcionário está sendo calculado
def  shared buffer bfunciona for funcionario.

Após finalizado o programa deve ser compilado e colocado no diretório informado no Manutenção Parâmetro Empresa RH – FP0500, Pasta 2, campo Diretório Fórmulas.

As fórmulas podem ser usadas nos módulos Folha, Férias e Rescisões.

Tabela 1 - Informações Cadastrais

Código

Conteúdo

Código

Conteúdo

01

Salário Padrão Mensal

09

Meses na Empresa

02

Salário Atual

10

Anuênios

03

Salário Hora

11

Biênios

04

Horas Padrão Mês

12

Triênios

05

Horas Padrão Dia

13

Quadriênios

06

Horas Reais Dia

14

Quinquênios

07

Dias Ativos no período

15

Salário Mínimo

08

Dias no Período

16

Idade funcionário ou dependente - benefícios

 

Tabela 2 - Bases

Código

Conteúdo

Código

Conteúdo

01

Base INSS

06

Base Auxiliar 3

02

Base FGTS

07

Base Auxiliar 4

03

Base RAIS Normal

08

Base Auxiliar 5

04

Base Auxiliar 1

09

Base Vale Transporte

05

Base Auxiliar 2

10

Base Salário Família

 

 

11

Base Líquido

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _