abap_folha

17
FP e HR ABAP para Folha de Pagamento e Recursos Humanos Maurício Mião Consultor BC [email protected] /home/website/convert/temp/convert_html/55cf885555034664618f7e23/document.doc Pág. 1

description

abap folha

Transcript of abap_folha

Criao de infotypes

ABAP para

Folha de Pagamento e Recursos Humanos

Maurcio Mio

Consultor BC

[email protected]

3Convenes Grficas

Introduo4Conceitos e Transaes4Infotipos4Criao de Infotipos5Rubricas7Clculo da Folha de Pagamento7Esquema de Clculo de Pessoal7Funes e operaes do esquema de clculo9Criao de funes/operaes9Cluster da folha de pagamento11Exemplo de leitura do cluster12

Convenes Grficas

Este formato de caractere... usado para...

Telas, Mensagens e Caminhos ->mensagens em tela, nomes de telas e caminhos a serem seguidos nos menus do sistema.

Ex: Logstica -> Produo-processo -> MRP

Campo:campos a serem preenchidos nas telas.

Ex: Empresa:, Material:

TECLAteclas do teclado.

Ex: F2, ENTER, CTR+PGDN, ALT+SHIFT

[BOTAO]botes na tela.

Ex: [CANCELAR], [VOLTAR], [SNTESE]

TODAS MAISCULAScdigos de transaes e nomes de relatrios, programas, tabelas e arquivos.

Ex: MB1A, RFKORD50, J_1B_CORR_HEADER

Entrada do Usurioentrada exata no sistema. Textos e caracteres a serem digitados exatamente como descritos no manual. Ex: digite Pampulha

entrada varivel no sistema. O usurio define a entrada mais apropriada na situao descrita.

Ex: digite

Nome de Documentoreferncia outros documentos, normas, manuais.

Este cone...representa...

um exemplo para ajudar a esclarecer conceitos ou tarefas.

um lembrete com importantes informaes, consideraes ou excees.

a necessidade de ateno especial para evitar erros ou perda de dados.

um tpico contendo viso geral sobre captulos, manuais, funes, recursos.

um tpico descrevendo o objetivo de um processo, atividade ou tarefa.

um tpico com informaes de procedimentos passo a passo no sistema.

um tpico contendo descries de processos de negcio no SAP R/3.

um tpico contendo conceitos e conhecimentos bsicos relacionados com o processo de negcio e a execuo de tarefas no sistema.

Introduo

Existem alguns novos conceitos, comandos e transaes que devem ser dominados para o desenvolvimento de novas funcionalidades nos mdulos de folha de pagamento e recursos humanos. Estes pontos sero detalhados na seqncia, iniciando pelos conceitos e transaes.

Conceitos e Transaes

Infotipos

Infotipos so unidades de informao utilizados para agrupar campos de dados relacionados.

Para entendermos esse conceito, tomaremos como base uma transao mais conhecida; a transao de cadastro de materiais em MM.

Para se cadastrar um material, precisamos preencher campos que esto agrupados em vises. Cada viso representada por um conjunto de telas.

As vises contm campos que possuem um certo nvel de relacionamento ou servem para uma mesma aplicao.

Por exemplo, os campos relacionados a vendas como: organizao de vendas, canal de distribuio e grupo de vendedores esto localizados na viso Vendas: dados org.vendas 1.

Estes campos normalmente esto agrupados em uma mesma tabela no BD.

Por exemplo, para a viso Vendas: dados org.vendas 1, seus campos encontram-se na tabela MVKE - Dados de venda para material.

Do mesmo modo funcionam os infotipos.

Para se cadastrar um funcionrio precisamos alimentar vrios campos que esto agrupados em telas, cada tela representa um infotipo (similar a viso no cadastro de materiais).

Os campos pertencentes a um infotipo encontram-se na maioria das vezes em uma nica tabela do BD.

No cadastro de materiais no possvel inserir uma nova viso sem alterar o programa standard. Porm para permitir isso no cadastro de funcionrios foi desenvolvido o conceito de infotipo e uma srie de novas transaes para criao e utilizao dos mesmos.

Outra diferena a existncia de comandos ABAP especficos para o manuseio desses infotipos.

Como as alteraes do funcionrio precisam ser mantidas, os infotipos e a maioria das informaes de RH e FP possuem limite de datas.

Ao efetuar uma alterao, o registro inicial limitado, isto , sua validade encerrada e criado um novo registro com uma nova data de validade contendo os dados mais recentes.

importante lembrar disso quando for necessrio criar novas tabelas para RH ou FP, pois como legalmente a maioria das informaes no podem ser eliminadas, essa tabela precisa conter na chave a data de incio e fim da validade. Por exemplo, tabela de Percentuais para Adicional por tempo de servio no pode conter somente o percentual mais recente e sim todo o histrico de percentuais da empresa.

Criao de Infotipos

Para criar um infotipo utilizamos a transao PM01. Esta transao cria a estrutura, tabela transparente e module pool do infotipo.

Aps a criao desses objetos, pode-se alterar as telas geradas conforme necessidade via screen painter.

Para modificar os atributos dos campos da tela utilizar o Controle de tela contido no menu da PM01 Saltar -> Controle de tela.

Transao PM01

A estrutura PS contm os campos de informao de um infotipo. No BD seu nome gerado como P9999, onde 9999 o nmero do infotipo.

Os nomes dos campos da estrutura no devem ter mais de cinco dgitos e

no permitido a utilizao de campos inteiros (tipo de dados INT1...INT4) nessa estrutura.

A tabela transparente principal que contm os registros do infotipo nomeada como padro por PA9999.

O module pool para as telas do infotipo gerado com o nome de MP999900.

As caractersticas do infotipo so armazenadas na tabela V_T582A.

Um infotipo pode ser utilizado para armazenar valores de rubricas para um funcionrio. Logo a tabela PA9999 deve conter o campo LGART.

E para permitir que o usurio visualize via search help as rubricas pertencentes ao infotipo, anexe ao campo LGART da tela do infotipo um VALUE-REQUEST como segue:

Alterar o PROCESS ON VALUE-REQUEST da tela 2000 do infotipo incluindo o module LGART_VALUES.

Neste module chamar o form LGART_VALUES(SAPFP50I) USING P9999-INFTY P9999-LGART P9999-BEGDA.

Cadastrar as rubricas permitidas na tabela T512Z (admissibilidade de rubricas salariais por infotipo) via SM30.

Rubricas

Rubricas so os valores que compe o pagamento do funcionrio. Como exemplo desconto de INSS, bonificao, vale refeio, etc..

Algumas so valores fixos e outras so calculadas em tempo de execuo do programa de clculo da folha de pagamentos.

As caractersticas de uma rubrica salarial (campo deve conter valor por exemplo) esto na tabela T511, viso V_T511.

Para criar uma rubrica usar a transao PU30 e atualizar a tabela T512W.

Clculo da Folha de Pagamento

A forma como a folha de pagamento processada varia de empresa para empresa. Algumas possuem benefcios e descontos que outras no possuem, conforme o ramo de atuao, poltica interna e uma srie de outros fatores.

Dentre esses descontos e benefcios, alguns podem ser eliminados, outros so criados.

Imaginem se pensarmos a nvel global.

Como tratar os fatores da legislao trabalhista que mudam com freqncia para cada pas?

Para possibilitar a implementao dessa srie de mudanas no modo como a folha calculada, sem a necessidade de alterao do programa standard, foi criado o Esquema de Clculo de Pessoal.

importante ressaltar que mesmo com a existncia do esquema, no foi possvel manter uma nica verso do programa da Folha de Pagamento para todos os pases. Existe um standard para especficos para alguns pases ou grupo de pases. O nome do standard utilizados pelo Brasil HBRCALC0.

Esquema de Clculo de Pessoal

O esquema nada mais do que um conjunto de regras que informam ao programa de Clculo de Folha de Pagamento como o mesmo deve trabalhar para apurar o salrio de um funcionrio.

Ele pode ser utilizado tambm em uma diviso do mdulo de folha chamado Gerenciamento de Tempos ou Timing que apura o tempo trabalhado por um funcionrio no ms, ou tambm pelos processos chamados Off-cycles, que so pagamentos extra-salariais.

Na tela inicial do programa de clculo da folha informamos via parmetro, qual o esquema que o mesmo deve utilizar para calcular a folha.

Um esquema de clculo composto por funes e operaes e sub-esquemas.

Para visualizar um esquema de clculo utilizar a transao PE01

Caminho Recursos Humanos -> Clculo das Folhas de pagamento -> Ferramentas -> Ferramentas de atualizao -> Esquema

Transao PE01

Funes e operaes do esquema de clculo

As funes e operaes so comandos contidos nos esquemas de clculos.

Esses comandos vo ser executados pelo programa de clculo da folha.

Assim como os programas ABAP so compostos de comandos ou sentenas, os esquemas de clculo so compostos por operaes e funes.

Cada operao ou funo implementado como um FORM em um INCLUDE especfico, sendo que a funo pode retornar valores.

Criao de funes/operaes

Para criar uma funo ou operao utilizar a transao PE04

Caminho Recursos Humanos -> Clculo das Folhas de pagamento -> Ferramentas -> Ferramentas de atualizao -> Funo/operao

Transao PE04

Em paralelo a criao da funo na PE04, necessrio incluir um form no include RPCBURZ0. Caso seja utilizado o nome standard, este form deve ser nomeado como FUXXXXX para funes e OPXXXXX para operaes, onde XXXXX o nome da funo/operao criado na PE04 e indicado no box Nome da rotina FORM.

Este FORM ir conter o cdigo fonte da funo/operao.

Como estes forms so utilizados pelo DRIVE da folha de pagamento algumas regras devem ser seguidas:

Importante lembrar que qualquer desenvolvimento em funes e operaes deve prever a possibilidade de um reprocessamento j que o processamento da Folha de Pagamento pode ser excludo e refeito.

No utilizar o comando MESSAGE para emisso de mensagens. Ao invs disso necessrio a chamada do FORM FILL_MSGTAB. Isso porque alm da folha tratar vrios funcionrios de uma vez, o que dificultaria a visualizao das mensagens, ao chamar esse form indicando erro, o processamento para o funcionrio corrente abortado e seu nmero separado na rvore de log como funcionrios processados com erro. Todas as mensagens emitidas via FILL_MSGTAB so exibidas na rvore de resultado do processamento.

Modelo de chamada do FORM:

"Exibe log de resultado?

IF SW_PROT = PBR99_ON.

PERFORM LOG_REFRESH_PTEXT(H37PLOG0).

ENDIF.

"Insere a mensagem

CLEAR ERROR_PTEXT.

ERROR_PTEXT-TLEVEL = '1'.

ERROR_PTEXT-TINTENSIV1 = '0'.

ERROR_PTEXT-TLENGTH1 = STRLEN( $TEXT1 ).

ERROR_PTEXT-TEXT1 = $TEXT1.

IF NOT $TEXT2 IS INITIAL.

ERROR_PTEXT-TLENGTH2 = STRLEN( $TEXT2 ).

ERROR_PTEXT-TEXT2 = $TEXT2.

ERROR_PTEXT-TINTENSIV2 = '0'.

ENDIF.

IF NOT $TEXT3 IS INITIAL.

ERROR_PTEXT-TLENGTH3 = STRLEN( $TEXT3 ).

ERROR_PTEXT-TEXT3 = $TEXT3.

ERROR_PTEXT-TINTENSIV3 = '0'.

ENDIF.

IF NOT $TEXT4 IS INITIAL.

ERROR_PTEXT-TLENGTH4 = STRLEN( $TEXT4 ).

ERROR_PTEXT-TEXT4 = $TEXT4.

ERROR_PTEXT-TINTENSIV4 = '0'.

ENDIF.

APPEND ERROR_PTEXT.

PERFORM FILL_MSGTAB TABLES ERROR_PTEXT

PTEXT

USING SPACE "pernr dependent

PERNR-PERNR

APER_NUMB

P_MESS_POS

'E' "tipo da mensagem (E,I,S)

'A'.

IF SW_PROT = PBR99_ON.

PERFORM LOG_GET_BACK_PTEXT(H37PLOG0) TABLES PTEXT.

PERFORM LOG_REFRESH_PTEXT(H37PLOG0).

ENDIF.

Para exibir no LOG de processamento da folha o contedo das tabelas RT, IT e OT necessrio alimentar a tabela T52BW INPUT E OUTPUT DE FUNO via transao SM30.

Cluster da folha de pagamento

O cluster da folha de pagamento o resultado do processamento da folha de pagamento para um funcionrio em um determinado ms. Esse resultado fica armazenado em tabelas cluster no BD e podem ser visualizados sem a necessidade de uma nova execuo do programa de clculo.

O programa para visualizao do cluster o HBRCLSTR.

Caminho Recursos Humanos -> Clculo das folhas de pagamento -> Ferramentas -> Resultado do Clculo Folha de Pagamento -> Exibir

Transao PC00_M37_CLSTR

Para o manuseio do cluster existem macros especiais qcontidos no include PCXRXBR0.

Um outro mtodo para ler as tabelas utilizando o form READ_BRAZILIAN_CLUSTER e READ_SPECIFIC_RESULT.

Exemplo de leitura do cluster

Exemplo de como carregar o cluster dos funcionrios:

necessrio informar o Banco de Dados Lgico PNP nos atributos do programa.

REPORT ZEXEMPLO_CLUSTER.

* Declaraes ----------------------------------------------------------

TABLES: PCL1, "Cluster 1 HR

PCL2, "Cluster 2 HR

ITCPP,

PERNR. "Funcionrios

*- Includes ------------------------------------------------------------

INCLUDE PCTYPBR0.

INCLUDE PCCLSBR1. "HRMS BR cluster data

INCLUDE PCCLSBR0. "HRMS BR cluster reading

INCLUDE PCTYPBR0. "Type pools for declaring payroll data

INCLUDE PCXRXBR0. "Macros para recuperao do Cluster

DATA:

SUBRC LIKE SY-SUBRC,

FBEG LIKE SY-DATUM, "Incio perodo

FEND LIKE SY-DATUM. "Fim perodo

*- Parmetros Seleo --------------------------------------------------

PARAMETERS PMES LIKE QPPNP-PABRP.

PARAMETERS PANO LIKE QPPNP-PABRJ.

*- Eventos -------------------------------------------------------------

START-OF-SELECTION.

"Move o 1o. dia e o ltimo do ms informado no parmetro para FBEG e

"FEND

CONCATENATE PANO PMES '01' INTO FBEG.

CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'

EXPORTING

DAY_IN = FBEG

IMPORTING

LAST_DAY_OF_MONTH = FEND.

"Executa para cada funcionrio. Banco de dados lgico PNP

GET PERNR.

PERFORM READ_BRAZILIAN_CLUSTER TABLES RGDIR "Tab.de diretorios

USING PERNR-PERNR "Chave do empregado

PN-BEGDA "Data de inicio

PN-ENDDA "Data fim do periodo

SUBRC. "Flag de retorno

"A tabela RGDIR contm todos os processamentos de folha realizados

"para o funcionrio.

LOOP AT RGDIR.

"Verifica se existe processamento de folha para o ms

"solicitado no parmetro de execuo nesse funcionrio

CHECK FBEG LE RGDIR-FPEND.

CHECK FEND GE RGDIR-FPBEG.

"Se existir efetua a carga das tabelas

PERFORM READ_SPECIFIC_RESULT USING PERNR-PERNR "Chave do emp

RGDIR-SEQNR "Seq. do Proce

SUBRC. "Flag de reto

EXIT.

ENDLOOP.

"Neste ponto temos todas as tabelas carregadas (RT,VERSC,CRT,BT,etc.)

LOOP AT RT.

WRITE: / RT-LGART,

RT-BETRG.

ENDLOOP.

END-OF-SELECTION.

O nome de funes e operaes do cliente deve iniciar por $ ou &

Os infotipos criados pelo cliente devem iniciar por 9

Estas so as funes e operaes que compe o esquema

Penso alimentcia

9189

Remunerao bsica

0008

Endereo

0006

D:\Consultoria\Tecnologia\ABAP folha\curso_folha.doc

Pg. 2

_956584101.doc

Exemplo

_956584103.doc

Cuidado

_1025333221.doc

_935505368.doc

Nota