Árvore de páginas

Versões comparadas

Chave

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

Ferramenta de Importação Genérica de Tabelas Protheus

Deck of Cards
idPrincipal
effectTypeslide
Card
defaulttrue
labelObjetivo

Visando ofertar uma solução adequada para auxílio na implantação dos módulos de RH, bem como na importação de tabelas posterior ao período de implantação, foi desenvolvida a ferramenta genérica de importação de tabelas RHIMPGEN. Através da ferramenta RHIMPGEN é possível a definição de layouts para importação de arquivos texto para as tabelas do Protheus.

Para execução da ferramenta é preciso executar o smartclient com o programa inicial como RHIMPGEN.

Rotinas alteradas/incluídas:

Linha de Produto:

Protheus

Segmento:

Serviços

Módulo:

SIGAGPE - Gestão de Pessoal

Rotina:

Rotina

Nome Técnico

RHIMPGEN

Ferramenta de Importação Genérica

Rotina(s) envolvida(s)

Nome Técnico
RHIMPLAYManutenção de Layouts
RHIMPDPManutenção de De/Para
RHIMPSRVGeração de Verbas

RHIMP02

Importação Modelo de Funções

RHIMP03

Importação Modelo de Centro de Custos

RHIMP04

Importação Modelo de Departamentos

RHIMP05

Importação Modelo de Sindicatos

RHIMP06

Importação Modelo de Verbas

RHIMP07

Importação Modelo de Turnos

RHIMP08

Importação Modelo de Funcionários

RHIMP09

Importação Modelo de Dependentes

RHIMP10

Importação Modelo de Ausências

RHIMP11

Importação Modelo de Histórico Salarial

RHIMP12

Importação Modelo de Movimento da Folha de Pagamento

RHIMP13

Importação Modelo de Transferências

RHIMP14

Importação Modelo de Movimento de Rescisão

RHIMP15

Importação Modelo de Movimento de Férias

RHIMP16

Importação Modelo de Movimento de 13º Salário

RHIMP19

Importação Modelo do Cadastro de Crachás Provisórios

RHIMP20

Importação Modelo de Movimento de Banco de Horas

RHIMP21

Importação Modelo de Eventos

RHIMP25

Importação Modelo de Beneficiários

RHIMP26

Importação Modelo de Vale Refeição

RHIMP28Importação Modelo de Plano de Saúde
GPEA010Cadastro de Funcionários
GPEM040Rescisão
GPEA040Cadastro de Verbas

Cadastros Iniciais:

Tipos de Ausências

Processos

Períodos

Requisito (ISSUE): RHRH002-4
Card
labelPré-Requisitos
  • Deve ser carregado o cadastro padrão de processos e roteiros antes de iniciar o processo de importação. Para isso no módulo "Gestão de Pessoal" (SIGAGPE) deverá acessar o cadastro de Processos (Atualizações> Definições de Cálculo > Processos), Roteiros de Cálculo (Atualizações > Definições de Cálculo > Roteiros de Cálculo) e Manutenção de Tabelas (Atualizações > Definições de Cálculo > Manutenção de Tabelas).
  • O arquivo de verbas enviado pelo CMNET possui apenas código e descrição. Após a importação, deve ser feita manutenção dos cadastros informando as incidências e identificadores de cálculo para cada verba. Uma outra alternativa é utilizar a geração automática de verbas "Outras Ações > Geração de Verbas (SRV)". Ao executar esta rotina, será exibido um grid com um cadastro pré-definido de verbas e uma coluna para informar a verba correspondente no CMNET, fazendo este procedimento, a importação do arquivo de verbas gerado pelo CMNET é desnecessário. É muito importante que todas as verbas do CMNET possuam uma verba correspondente no Protheus, do contrário ocorrerá erros na importação de movimentos. Caso existam verbas no CMNET que não possuam correspondência com as verbas pré-definidas geradas na rotina, elas deverão ser incluídas manualmente, através da inclusão de novas linhas no grid.
  • Assim como o cadastro de verbas alguns outros cadastros específicos no CMNET são definidos por cada cliente e por isso não é possível fazer um relacionamento automático entre eles na geração dos arquivos. Sendo assim, faz-se necessário a criação de forma manual. Como no Protheus alguns cadastros não possuem uma tabela exclusiva ou há registros pré-definidos que ao acessar o cadastro pela primeira vez são gerados/carregados, há uma rotina para que o relacionamento possa ser feito, dentro de Manut. De-Para em "Outras Ações > De-Para Especificos". As opções da rotina são as seguintes:
    • Tipos de Rescisão: Nesta opção serão exibidos os Tipos de Rescisão existentes na tabela S043 - Tipos de Rescisão. Utilizando como base o arquivo "MotivosRescisao.Txt", gerado pelo CMNET, devem ser feitos os relacionamentos dos tipos de rescisão do Protheus com tipos de rescisão do CMNET preenchendo o campo DE-PARA.
    • Tipos de Alteração Salarial: Nesta opção serão exibidos os Tipo de Alteração Salarial existentes na tabela 41 do SX5. Utilizando como base o arquivo "MotivosAlteracao.Txt", gerado pelo CMNET, devem ser feitos os relacionamentos entre os tipos de alteração salarial do Protheus e do CMNET através do preenchimento do campo DE-PARA.
    • Tipos de Afastamentos: Nesta opção serão exibidos os Tipos de Afastamentos existentes na tabela de Ausências (RCM). Utilizando como base o arquivo "MotivosAfastamento.Txt", gerado pelo CMNET, devem ser feitos os relacionamentos entre os tipos de afastamentos do Protheus e do CMNET através do preenchimento do campo DE-PARA.

      Informações
      titleImportante

      Caso existam quaisquer tipos no CMNET sem registro equivalente no Protheus, deverá ser feito o cadastro manual através do módulo Gestão de Pessoal (SIGAGPE).

Card
idmanut_leiaute
labelManutenção de Layouts

Na montagem de layouts genéricos é possível definir quais campos serão importados, sendo que os campos obrigatórios sempre deverão constar no layout, seja como uma posição no arquivo ou como uma fórmula pré-definida.

Ao abrir a tela principal, existirá um browser com todos os layouts definidos. Em ações relacionadas existirá uma opção para manutenção (inclusão/alteração) dos layouts.

Tela inicial da rotina de importação

 

Ao clicar na opção para manutenção de layouts, uma nova tela é aberta onde existirá duas opções principais: 

  1. Seleção de uma tabela para definição do layout. Ao selecionar uma tabela, se já existir um layout previamente cadastrado, ele é carregado para alteração, do contrário um novo layout genérico baseado na ordem dos campos no dicionário de dados (SX3) é gerado. Na getdados é exibido Campo, Título (nome do campo), Tipo (C- caracter, N- numérico, D- Data, L- lógico, M- memo), Obrigatório (se é obrigatório informar campo no Protheus), Posição (a posição no arquivo TXT, que é baseado na ordem do SX3) e Fórmula (detalhes mais abaixo).
    Dos campos da tabela será possível alterar a posição e a fórmula.
    No cabeçalho deve ser informado o Tabela, a Descrição (carregado o nome da tabela no SX2 por padrão), o Nome do Arquivo (arquivo com informações do sistema externo que será importado para o Protheus), a Sequência e o De-Para automaticamente (detalhes mais abaixo).


    Todo campo obrigatório deve possuir uma posição válida (diferente de ZERO) ou uma fórmula definida, por exemplo, se a empresa é a mesma e não existe informação nela no TXT, a posição pode ser 0 (ZERO), e na fórmula deve ser informado a empresa: "T1". Em resumo, deve ser informado a posição apenas de campos que efetivamente existem no arquivo texto, os demais devem ficar com a posição "0" (ZERO). No campo fórmula podem ser usados strings, funções protheus e funções de usuário.


2. Seleção de um modelo de importação padrão. Ao selecionar o modelo, na tabela será exibido o layout especifico e apenas poderá ser alterado no cabeçalho a Descrição, o Nome do Arquivo, a Sequência e o De-Para automático; no getdados a Fórmula.



 

Informações
titleImportante

Delimitadores Arquivo.txt

O sistema realiza a importação das tabelas a partir da leitura de um arquivo de texto delimitado por pipes ("|").

Sequência

O campo "Sequência" será utilizado para ordenar as importações durante o processamento. Ele é gerado automaticamente e poderá ser alterado a qualquer momento. 


Tabela ≠ Modelo

Os layouts criados a partir de modelo geram um registro e os layout criados a partir de Tabela outro.

 

Modelo

No primeiro acesso, alguns modelos de layout padrão serão criados automaticamente. Esses layouts disponíveis no campo "Modelo" são referentes aos modelos de importação utilizados na migração de bases de dados Logix, por isso suas posições são pré-definidas. 

         

De-Para Automático

De-Para automático está disponível apenas para algumas tabelas/modelos. Ao habilitá-lo, ele será usado apenas para o campo chave principal, ou seja, caso habilite o DE-PARA do Cadastro de Funcionários (SRA), por exemplo, será feito DE-PARA automático apenas do campo (RA_MAT).

Exemplo

No layout de importação dos Sindicatos foi definido que seria feito o De/Para automático:

Após a importação do arquivo de Sindicatos, o De/Para foi gerado de maneira automática:

 Exemplificação da utilização do De Para automático

Durante a importação do arquivo de funcionários, que continha o valor original do Sindicato, o sistema busca o valor da chave externa e preenche o campo RA_SINDICA com valor cadastrado na chave interna:

Exemplo do arquivo de funcionários à ser importado

Consulta dos registros gerados na tabela do Protheus


Txt de exemplo

No canto superior direito existe um botão que possibilita a geração de um exemplo de arquivo de texto baseado no layout carregado. Ele poderá ser utilizado apenas quando existir um layout carregado. 


Fórmulas 

Durante a montagem de layouts genéricos será possível definir fórmulas, que poderão ser desde strings fixas, até funções executadas via RDMAKE. Um exemplo de uso para as fórmulas seria, por exemplo, nos campos FILIAL. Supondo que o a FILIAL do Protheus seja "D MG 01" (utilizando gestão de empresas), e a FILIAL do sistema legado, e que foi gravada no arquivo, seja "01". A conversão poderia ser feita tanto pelo DE-PARA de Filial, quando através do campo Fórmula, escrevendo algo como "D MG 01", no caso de existir mais de uma filial, bastaria escrever uma fórmula/função para tratar as diferentes possibilidades. Foram disponibilizadas duas funções para facilitar o desenvolvimento dos layouts: U_Periodo() que retorna o período do registro e U_Processo() que retorna o processo do funcionário do registro atual. Além disso, quando a tabela importada tiver um campo matrícula o sistema automaticamente se posicionará na tabela de funcionário(SRA).

Fórmulas de strings fixas devem estar entre aspas. Exemplo: "D MG 01 ".

Dica
titleParâmetros das Fórmulas

Toda fórmula utilizada nos layouts recebe como parâmetro as variáveis aCampos, aLinha e nPos. Esses parâmetros são disponibilizados para flexibilizar ainda mais o preenchimento dos campos.

Estrutura das variáveis
  1. aCampos: matriz que guarda todos os campos utilizados no layout. Cada índice da matriz guarda um campo e é composto por sete posições, sendo elas: nome do campo, posição na linha, fórmula do campo, De/Para, posição reservada, tipo do campo e ordem.
  2. aLinha: vetor que armazena todos os valores da linha atual
  3. nPos: armazena o índice do campo atual dentro de aCampos. Dessa forma para se acessar o campo que está sendo processado atualmente basta utilizar aCampos[nPos].
Exemplos

Exemplo 1: No sistema gerador os campos Conta e Digito são armazenados em um único campo, enquanto no Protheus os valores são guardados em dois campos distintos. Através da utilização das variáveis seria possível utilizar-se de uma única posição da linha para preenchimento de dois campos.

Exemplo 2: No sistema gerador o campo matrícula é composto por quatro algarismos, entretanto no Protheus o campo normalmente é composto por seis. Através da posição atual é possível preencher os algarismos faltantes.

Card
idmanut_leiaute_tab_generica
labelManutenção de Layouts - Tabelas Genéricas

A rotina foi preparada para importar dados para as tabelas genéricas que são atualizadas pela Manutenção de Tabelas.

Para realizar a importação de dados para as tabelas genéricas é preciso criar um layout para o tabela RCB(Estrutura das Tabelas Genéricas), quando a RCB for selecionada o campo Tabela Auxiliar ficará ativo possibilitando a escolha de alguma das tabelas genéricas.

Após a escolha da tabela genérica que se deseja importa e a definição do nome do arquivo que será importado o layout será preenchido com os campos da tabela genérica

Os dados das tabelas genéricas ficam gravados na tabela padrão RCC. Assim, a tabela RCB é utilizada para configuração dos leiautes, porém os dados a serem lidos provenientes dos arquivos de importação serão gravados na tabela RCC.

Com isso, foi necessário a inclusão fixa de alguns campos da tabela RCC (tabela alvo) para correta gravação dos dados.

  • O campo EMPRESA é utilizado em todos os leiautes para identificar a empresa alvo da importação.
  • O campo RCC_FILIAL é utilizado em todos os leiautes para Tab.Aux. a fim de identificar a Filial para qual a informação será gravada. Caso o campo não seja informado, será gravada a primeira Filial presente no SM0 obedecendo a regra de compartilhamento.
  • O campo RCC_FIL é utilizado nas tabelas genéricas para especificar a Filial do registro. É um campo disponibilizado na própria rotina de Manutenção de Tabelas. Seu preenchimento é opcional.
  • O campo RCC_CHAVE é utilizado nas tabelas genéricas para especificar a competência de vigência do registro. É um campo disponibilizado na própria rotina de Manutenção de Tabelas para as tabelas que não possuem o campo em sua definição de leiaute. Seu preenchimento é opcional.

Ao confirmar, será retornado à tela inicial da rotina e o leiaute estará disponível ao fim da lista, obedecendo o número do campo Sequência

Após a importação utilizando-se do layout cadastrado os registros podem ser visualizados pela Manutenção de Tabelas ou pelo banco de dados na tabela TCC.

Card
labelManut. De-Para

Acessar Importação de Tabelas > Outras Ações > Manut. De-Para.

Manutenção de DE-PARA, onde é possível visualizar e alterar todos os registros de DE-PARA existentes, existindo ainda a possibilidade de informar novos registros, para o caso de existir um DE-PARA pré-definido. Para incluir um novo De-Para inclua uma nova linha de registro informando Campo, Chave Externa e Chave Interna.



 No cadastro de DE-PARA é possível criar um relacionamento de valores para quaisquer campos existentes no Protheus.

Supondo que o campo "Tipo de Aviso" (RG_TPAVISO) da tabela de rescisão (SRG) possua características diferentes do sistema gerador do arquivo. Por exemplo, o tamanho do campo no Protheus é 2, enquanto no arquivo enviado será 5. Para possibilitar que a integração realize o DE-PARA deste campo deverá ser seguido os seguintes passos:

  • Acessar a opção "Manutenção de DE-PARA" 
  • Criar uma nova linha na grid indicando, no nome do campo "RG_TPAVISO", na chave externa deve inserir o valor do campo no arquivo TXT (sistema externo), e a na chave interna o código do Tipo de Aviso no Protheus.

Desta forma, ao executar a importação do arquivo de rescisão, antes de gravar o conteúdo no campo RG_TPAVISO, o sistema efetuará busca no DE-PARA e gravará o conteúdo correto. Caso a chave não seja encontrada no DE-PARA, o valor original (do arquivo) será truncado e gravado.

O mesmo poderá ser feito para relacionar a empresa e filial, por padrão, os modelos genéricos devem vir preenchidos com a Empresa e Filial do Protheus, entretanto, caso isso não ocorra, pode ser definido um DE-PARA de Filial que será obedecido durante a importação. Para que isso seja possível, os seguintes passos deverão ser seguidos:

  • Acessar a rotina "Manutenção de DE-PARA" em "Outras Ações"
  • Criar um novo registro, onde o nome do campo deve ser "FILIAL", a "Chave Externa" deverá possuir a empresa e filial definida no TXT separado por pipe ("|"), Ex.: 01|01
  • A "Chave Interna" deverá ser preenchida com a empresa e filial correspondente no Protheus, também separada por pipes. Ex.: T1|D MG 01

Desta forma a importação será feita baseada neste valores. Caso a empresa e filial existente no arquivo seja diferente da empresa e filial do Protheus, e não seja definido um DE-PARA, a importação não ocorrerá.


Também será possível, através do botão "Outras Ações", cadastrar um "DE-PARA Especifico" para os cadastros de "Tipos de Rescisão", "Tipos de Afastamentos" e "Tipos de Aumento Salarial". Através desta rotina será possível definir um DE-PARA de campos cuja origem não são uma tabela fixa padrão do dicionário Protheus.

Lista de opções do menu Outras Ações da tela de De Para

 

    • Tipos de Rescisão: Supondo que o Tipo de rescisão do sistema de origem possua características, como tamanho, diferentes do Protheus. Através desta opção será exibido em um grid todos os Tipos de Rescisão cadastrados no Protheus (Tabela S043), com uma coluna para informar o código correspondente no sistema de origem. Ao informar o código do sistema de origem, o DE-PARA será gravado e toda vez que for feita a importação de um arquivo de rescisão, por exemplo, essa tabela será consultada para que o tipo de rescisão seja gravado corretamente.
    • Tipos de Alteração Salarial e Tipos de Afastamento: Como no caso acima, caso os tipo de alteração salarial sejam diferentes dos utilizados no Protheus, poderá utilizar esta opção para que seja exibido todos os tipos existentes no Protheus com possibilidade de fazer o relacionamento do código do sistema de origem com o código Protheus. Desta forma, todas as vezes que for feita a importação de histórico salarial, por exemplo, o código correto será gravado.

Também é possível exportar o cadastro de De/Para para um arquivo delimitado por ponto e vírgula(extensão CSV) para preenchimento por editores de planilha. O layout exportado pode ser importado desde que esteja no mesmo layout do arquivo exportado pela ferramenta.

Card
labelGerar XML

Acessar > Importação de Tabelas > Outras Ações > Gerar XML.

É possível gerar uma planilha que poderá ser aberta no Excel com todos os campos definidos no layout.

 

Dica
titleDica

Esta planilha poderá ser utilizada para preenchimento e posterior conversão para TXT para efetuar a importação. Opção será válida apenas para os layouts genéricos. (Não utilizada com modelos RHIMP).

 

 

Card
labelGeração de Verbas (SRV)

Acessar > Importação de Tabelas > Outras Ações > Geração de Verbas (SRV).

É possível gerar uma tabela padrão de verbas com todas as incidências. Na criação, é possível definir para que seja criado um DE-PARA automático, onde poderá associar o código da verba do sistema de origem a cada nova verba que será criada, ou criar o DE-PARA sem valor de origem (o cadastro do código de origem deverá ser feito posteriormente).

Aviso
titleGeração das Verbas

A TOTVS se exime de qualquer responsabilidade no tocante a utilização deste modelo. Toda a validação do cadastro, principalmente das incidências, é de responsabilidade do cliente.

É possível exportar o cadastro para um arquivo delimitado por ponto e vírgula(extensão CSV) para que o preenchimento do De/Para seja feito em um editor de planilhas como o Excel. O arquivo exportado pode ser importado após o seu preenchimento.

Card
labelProcessamento

Após cadastrar os layouts , eles poderão ser selecionados na tela principal. Ao confirmar, será solicitado o diretório onde estão os arquivos para importação e aberta uma tela onde será possível definir os seguintes parâmetros:

 

  • ExecAuto?: Se marcado com "Sim", a importação de algumas tabelas será feita via rotina automática. A vantagem deste método é que serão feitas todas as validações necessárias para inclusão do registro, a desvantagem é que o tempo de processamento é maior. Se marcado com "Não", nenhuma rotina automática é executada, tornando o processamento mais rápido, porém, a maioria das validações não são feitas e por este motivo podem ser incluídos registros sem integridade garantida. Parametro não é válido para modelos RHIMP.
  • Erro no Fim?: Se marcado com "Sim", ao encontrar uma inconsistência em determinada linha, o processo de importação continua a leitura do arquivo. Se marcado com "Não", ao constatar a primeira inconsistência, o processo de leitura do arquivo é abortado.

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.