Vous êtes sur la page 1sur 8

Estrutura Tecnica

O framework eSocial administra o processo de extrao de dados, armazena os dados e gera os arquivos XML a ser enviado ao
governo

! l"gica para o#ter os dados a partir da #ase de dados $ gerenciada por classes especificas de neg"cio

O framework eSocial executa o processamento de cada evento e gerencia os dados retornados pelo processamento de eventos

O processamento do evento $ dependente de neg"cios% &or consequencia, cada evento precisa ter uma classe espec'fica para
extrair os dados da #ase de dados

! seguir, como a S!& pro(etou os componentes do framework eSocial



eSocial Data processing Engine:
&rincipal componente da estrutura que $ respons)vel pelo a transformao completa * o ponto de entrada para usar a
estrutura, ou se(a, voc+ pode usar esta classe quando voc+ quer executar o eSocial

eSocial Data Management:
* respons)vel por armazenar e ler dados a partir de #anco de dados

eSocial Data Extraction Business Logic:
a lgica especfica dos eventos para extrair dados de base de dados e gerar os eventos.




eSocial Change Manager:
* encarregado de controlar a gerao dos eventos respeitando retificao , excluso , alterao regras do eSocial -le lida com o
que eram gerada pela l"gica de neg"cio e controla o que deve eo que no deve ser enviado para o .overno
-le tam#$m armazena um registro das altera/es de dados mestre do empregado para ser capaz de executar o eventos eSocial
correto

Pr-requisitos do Framework

Processing class
0lasse de processamento do evento $ a classe que cont$m a l"gica de neg"cios para preenc1er os dados do evento
-sta classe $ acionado pela estrutura de acordo com a configurao2custominzing3
-le rece#e o o#(eto de seleo como par4metro e, de acordo com esta seleo% a classe gera uma ou mais inst4ncias da classe
0L567&!8975-:;:5-<-=>

! configurao2custominzing3 dos tipos de eventos e as classes de processamento correspondentes so armazenados na ta#ela
>?97-:;5-<>8&-

O framework controla os eventos pela tabela T7BREFD_EVENT.

&ara cada evento gerado no modo produtivo $ criada uma entrada nesta ta#ela e um @; $ gerado 2-<-=>5@;3 para identificar
o evento
Os principais campos da ta#ela soA
Event ID: @; glo#al Bnico do evento
Event type: Tipo de evento, ligao com a tabela T7BREFD_EVTYPE.
Status: Status atual para o evento.
Information type and value: 0ampos para informar que o conteBdo do evento refereCse, por exemplo,
funcion)rios, filiais, as empresas
Begin and end dates: Perodo valido para o evento.


Duando os eventos eSocial so gerados, eles t+m de ser armazenados em ta#elas para permitir que voc+ envie o arquivo XML
em um tempo futuro !s ta#elas de dados que voc+ criou deve ter todos campos necess)rios pelo arquivo XML do evento
<oc+ pode criar uma ou mais ta#elas, e cada evento pode ter uma ou mais entradas em cada ta#ela que voc+ criar

! classe de processamento preenc1e os campos da ta#ela e retornaCos para o framework de modo que o framework possa
salvaClos no #anco de dados

!s seguintes interfaces !9!& OO esto disponiveis para o eSocialA

IF_HRPAYBR_EFDF_DATA_EXTRACTOR:
Interface a ser implementado pela classes de negcio para extrair dados do banco de dados.

IF_HRPAYBR_EFDF_DATA_TRANS:
@nterface para ser implementada por classes de neg"cio para enviar os eventos via Ee# Services usando uma tecnologia como
proxies e &@

IF_HRPAYBR_EFDF_TYPINF_CONV
@nterface para ser implementada por classes de neg"cio para definir como o tipo de informao 2nBmero de empregado,
empregador, tipo sal)rio, etc3 deve ser exi#ida

Selection class
* uma classe que $ respons)vel por carregar os dados de seleo a partir da seleo de tela do aplicativo que aciona o
framework para a classe de processamento do evento -xiste F classes para seleoA

CL_HRPAYBR_EFDF_SELECTION:
-sta classe cont$m dados #)sicos, como o in'cio eo fim seleo, se a execuo $ produtivo ou no, se o aplicativo precisa de um
log detal1ado, e par4metros adicionais, se necess)rio -sta classe deve ser usado para qualquer seleo de eventos

CL_HRPAYBR_EFDF_EE_SELECTION (Su#classe da classe 0L567&!8975-:;:5S-L-0>@O=):
!diciona a capacidade de o#ter informa/es do empregado2nBmero pessoal3 -sta classe deve ser usada para eventos com #ase
em funcion)rios

CL_HRPAYBR_EFDF_ER_SELECTION(Su#classe da classe 0L567&!8975-:;:5S-L-0>@O=):
!diciona a capacidade de o#ter informa/es da empresa -sta classe deve ser usada para eventos com #ase no empregador




O fluxo da execuo eSocial





Como criar um novo evento no eSocial

Viso Geral:

1 Criar a Classe de Processamento para o Evento
2 Configurar o eSocial (Customizing) o e-Social com o tipo de tabela de informao
! "efinir as tabelas de aplicao
# Criar uma estrutura de dados
$ %mplementar a Classe de Processamento
& Configurar o eSocial(Customizing) o e-Social Evento para o tipo de tabela




1 Criar a Classe de Processamento para o Evento

Criar uma Classe Publica com o nome CL_HRPAYBR_EFDE_<Free_Name> e implementar a interface
IF_HRPAYBR_EFDF_DATA_EXTRATOR.
(A nomenclatura da SAP Free Name).

2 Confiurar o eSocial !Customi"in# o e$Social com o tipo de ta%ela de informao

! ta#ela tipo de informao armazena o principal tipo de informao que o evento cont$m% por exemplo, empregado, tipo de
sal)rio, da empresa

1 Em SPRO Configurar Tipos de Informao







Preenc'a os campos(

Information type: Definir um cdigo para o tipo de informao.
De 01 a79 reservado SAP.
De 80 a 99 para clientes.

Conversion class: Cadastrar uma classe opcional que pode ser usada para converter o tipo de informao a
ser exibido na tela. Esta classe tem que implementar a interface IF_HRPAYBR_EFDF_TYPINF_CONV.





& 'efinir as ta%elas de aplicao

G @dentificar quais ta#elas de aplicao so necess)rias para co#rir os dados do evento do eSocial

H Se necess)rio criar novas ta#elas seguindo as instru/es a#aixo

>?97-:;5 Ifree nameJ

2 =oteCse que a nomenclatura no $ para clientes 3

=a ta#ela incluir a estrutura 67&!;975-:;5S5!&&5K-85:@-L;S como c1ave

Aps incluir a estruturas HRPADBR_EFD_S_APP_OTHER_FIELDS.

;igite classe ! entrega

Os campos das estruturas acima so preenc1idas pelo framework Os outros campos da ta#ela
t+m de ser preenc1idos pela classe de processamento

( Criar uma estrutura de dados

0riar uma estrutura de dados que conten1a todos os campos necess)rios para o XML

!o criar a estrutura leve as regras a#aixo em consideraoA

;evem existir dois tipos de estruturasA

Flat structure ( Plana ): Due conten1a somente campos e elementos de dados ;evem ser lin1as de ta#elas de dados
do eSocial

Deep structure: -strutura que cont$m apenas as estruturas e tipos de ta#ela

Lma ta#ela principal $ uma ta#ela que esta em um n'vel acima de dados, como na imagem a#aixoA





! estrutura pode ser uma lin1a de uma ta#ela eSocial 2ver seco FF3, ou ter uma su# estruturas com
lin1as de outras ta#ela do eSocial



=este exemplo, o evento $ composto de dados de funcion)rios, cada funcion)rio pode ter v)rias pagamentos na fol1a
de pagamento, e cada execuo da fol1a de pagamento pode ter v)rios tipos de sal)rio

Para a tabela eventos usar a tabela de aplicao T7BREFD_DTCTRL para controlar as datas do evento, que
o framework ser capaz de lidar com o processo de insero / alterao / excluso deste tipo de evento.
Esta tabela contm os seguintes campos:

Data de inicio (BEGDA): representa a data de incio do evento.
Data final (ENDDA): representa a data de trmino do evento.
Data de incio anterior (PREV_BEGDA): representa a data de incio do evento, que ja foi enviado ao
Governo.
Ele ser preenchido pela estrutura automaticamente no caso de uma operao de mudana
anterior data de trmino (PREV_ENDDA): representa a data final do evento, que j foi enviada para o
governo.

) *mplementar a Classe de Processamento

Se necess)rio, crie um m$todo construtor para a classe, mas sem par4metros

Method CREATE_STRUCTURE

7etorna uma refer+ncia M estrutura de dados que cont$m todos os campos do evento
! instruo 07-!>- ;!>! deve ser usado


Method PROCESS
-xtrair os dados do #anco de dados e criar inst4ncias da classe

-xtrair os dados do #anco de dados e criar inst4ncias da classe 0L567&!8975-:;:5-<-=> para encapsular cada evento

O mtodo tem de usar o objeto de seleo IO_SELECTION que veio por parmetro para filtrar os
dados.
O IO_SELECTION $ preenc1ida pelo aplicativo que executa o framework do eSocial

&ara processar eventos do empregado, utilize o o#(etos do 60M framework para ler
informa/es de funcion)rios 2ver anexo ;3

O IO_SELECTION tam#$m pode conter outros par4metros que esto definidos na aplicao

O m$todo construtor da classe 0L567&!8975-:;:5-<-=> $ c1amado com os seguintes par4metrosA

Event type
O mesmo c"digo definido no passo FN 2ver a#aixo3
>a#elas de eventos so definidas pelo .overno Os eventos de eSocial reportam dados relacionados com as ta#elas,
como o tipo de sal)rio, ru#ricas, ramo, etc

Information value
!s principais informa/es que o evento cont$m% para exemplo, o nBmero de pessoal, documento 0&:, ramo, a
empresa, de acordo com o tipo de informa/es retornadas pelo m$todo .->5@=:O7M!>@O=5>8&-
&ara os valores padr/es usar uma constante da interface @:567&!8975-:;50O=S>!=>S50

Reference to data structure
! refer+ncia M estrutura de dados que cont$m os dados do evento, o mesmo que foi definido na etapa FO

Os campos Event type, Information type, Information value e as datas do evento 29-.;! e -=;;!3 so a c1ave
do evento
-les so usados para identificar o evento em caso de retificao ou cancelamento dos eventos Os tipos de informa/es
so retornados pelo m$todo .->5@=:O7M!>@O=5>8&-

Lse a instruo 07-!>- ;!>! e o#ten1a a sua refer+ncia para definiCla na classe de evento =o use definio local da estrutura
como like data ou atri#uto da classe 2SAP recomenta chamar o method CREATE_STRUCTURE).

A melhor prtica criar outro mtodo dentro da classe para preencher os campos da estrutura e no fazer
esse processamento no mtodo PROCESS

;eixe dentro do m$todo &7O0-SS apenas o c"digo para criar a estrutura e o evento inst4ncia.

=a classe no $ necess)rio para lidar com o processo de rectificao, porque ele vai ser feito pelo framework !penas gerar os
eventos de acordo com o seu #anco de dados e o framework ir) controlar a deleo, insero e processo de retificao

Method GET_EVENTS

Retorna uma tabela com a referncia aos eventos criado no mtodo PROCESS

Method GET_INFORMATION_TYPE

&recisa retornar o tipo de informao em que o evento se refere, por exemplo, empregado, 0&:, empresa
O valor devolvido pode ser um dos padr/es que so definidos na interface @:567&!8975-:;50O=S>!=>S50

Log errors e warnings utilize instance da classe 0L567&!8975-:;:5-<-=>

Para registrar erros e avisos gerais que no so especficos de eventos, use o exemplo do
classe CL_HRPAYBR_EFDF_DATA_LOG que passada como parmetro para o mtodo.


+ Confiurar o eSocial!Customi"in# o e$Social Evento para o tipo de ta%ela

O tipo de evento $ a ta#ela que armazena os tipos de eventos que podem ser executadas pela estrutura -le
identifica principalmente um tipo de evento como um c"digo num$rico, e armazena o nome da classe que processa
o evento 2da classe criado na etapa FG3

Vous aimerez peut-être aussi