Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Ajuste nas imagens com link quebrado.

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

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:

Image Removed

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áticoImage Removed

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 importadoImage Removed

Consulta dos registros gerados na tabela do ProtheusImage Removed

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. 

Image Removed

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).

Image Removed

Image Removed

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

Deck of Cards
idPrincipal
effectTypeslide
  • 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.
  • 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 leiautes para importação de arquivos texto para as tabelas do Protheus.

    Para execução da ferramenta é preciso executar o smartclient 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

    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 de Funções

    RHIMP03

    Importação de Centro de Custos

    RHIMP04

    Importação de Departamentos

    RHIMP05

    Importação de Sindicatos

    RHIMP06

    Importação de Verbas

    RHIMP07

    Importação de Turnos

    RHIMP08

    Importação de Funcionários

    RHIMP09

    Importação de Dependentes

    RHIMP10

    Importação de Ausências

    RHIMP11

    Importação de Histórico Salarial

    RHIMP12

    Importação de Movimento da Folha de Pagamento

    RHIMP13

    Importação de Transferências

    RHIMP14

    Importação de Movimento de Rescisão

    RHIMP15

    Importação de Movimento de Férias

    RHIMP16

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

    RHIMP19

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

    RHIMP20

    Importação de Movimento de Banco de Horas

    RHIMP21

    Importação de Eventos

    RHIMP25

    Beneficiários

    RHIMP26

    Vale Refeição

    RHIMP28Plano de Saúde
    GPEM040Rescisão
    GPEA040Cadastro de Verbas

    Cadastros Iniciais:

    Tipos de Ausências

    Processos

    Períodos

    Requisito (ISSUE): RHRH002-4
    Card
    labelPré-Requisitos

     

    Pré-Requisitos: lista dos itens necessários para realização das importações.

    Manutenção de Layouts: rotina responsável pela definição dos leiautes dos arquivos de importação. Pode ser configurado a partir de uma Tabela do Protheus OU a partir de um Modelo Pré-Definido.

    Manutenção de Layouts - Tabelas Genéricas: ramificação da rotina de Manutenção de Layouts. Essa opção permite configurar um leiaute para as Tabelas Genéricas do SIGAGPE (e.g. S008 - Assistência Médica Faixa Salarial)

    Manut. De-Para: rotina responsável pela configuração do relacionamento entre os códigos externos (valor contido no arquivo - De) e os códigos internos (valor a ser gravado no Protheus - Para). É possível realizar a exportação e importação da lista para um arquivo CSV a fim de facilitar a manutenção dos dados.

    Gerar XML: rotina responsável por gerar uma planilha com a estrutura do leiaute selecionado. Este arquivo procura facilitar a geração do arquivo de importação dentro da estrutura configurada.

    Geração de Verbas (SRV): rotina responsável pela geração de verbas no Protheus. É feita a carga das verbas padrão do sistema, possibilitando a alteração da configuração de cada verba, acrescentar novas verbas e indicar De-Para para cada verba listada.

    Processamento: Passo a passo de como realizar a importação dos dados.

     

    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

    Definição e Manutenção de Tabelas.

    Requisito (ISSUE): RHRH002-4
    OutrosER Ferramenta Importação Protheus
    Card
    labelPré-Requisitos
    • Realizar carga padrão dos cadastros:
      • Processo (SIGAGPE > Atualizações > Definições de Cálculo > Processos)
      • Roteiros de Cálculo (SIGAGPE > Atualizações > Definições de Cálculo > Roteiros de Cálculo)
      • Definição de Tabelas (SIGAGPE > Atualizações > Definições de Cálculo > Definição de Tabelas)
      • Manutenção de Tabelas (SIGAGPE > Atualizações > Definições de Cálculo > Manutenção de Tabelas)
      • Tipos de Ausências (SIGAGPE > Atualizações > Definições de Cálculo > Tipos de Ausência)
    • Verbas: realizar carga padrão através da opção RHIMPGEN > Outras Ações > Geração de Verbas (SRV) OU realizar importação dos dados. As verbas são essenciais para realização da importação de qualquer movimentação de cálculo.
    • Cadastro de De-Para: realizar o cadastro de De-Para para os campos-chave a serem importados e que não possuem opção de De-Para automático. O De-Para das Filiais é essencial para importação de qualquer registro (realizar cadastro em caso de necessidade).
    • Cadastro de De-Para Específico:
      • Tipos de Rescisão: influenciará diretamente na importação de Rescisões
      • Tipos de Alteração Salarial: influenciará diretamente na importação de Histórico Salarial
      • Tipos de Afastamentos: influenciará diretamente na importação de Ausências, Rescisão, Férias.

    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.
    Card
    idmanut_leiaute
    labelManutenção de Layouts

    Na montagem de leiautes genéricos é possível definir quais campos serão

    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 layoutleiaute, seja como uma posição no arquivo ou como uma fórmula pré-definida.

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

    Tela inicial da rotina de importaçãoImage Removed

     

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

    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).
    Image Removed
    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.

    Image Removed

     
    Informações
    titleImportante
    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.

    Image Removed

    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.

    Image Removed

    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.

    Image Removed

    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.

    Image Removed

    Image Removed

    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

    Image Removed

    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.

    Image Removed

    • 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

    Image Removed

    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.

    Image Removed

    Image Removed

    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.

    Image Removed
     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 ParaImage Removed
     
      • 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.

    Image Removed

    Outras Ações, há opção Manutenção de Layouts.

    Image Added

     

    Informações
    titleImportante

    Delimitadores no Arquivo texto:

    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 leiautes com origem em um Modelo e os leiautes com origem em uma Tabela de sistema são cadastros distintos na tabela GPETABGEN. Assim, é possível configurar o modelo de Funções e também configurar a tabela SRJ (Funções) de forma diferente. Ao final estará disponível para utilização 2 leiautes distintos.

     

    Modelo

    No primeiro acesso à rotina RHIMPGEN, os modelos de leiaute padrão serão criados automaticamente. Esses leiautes disponíveis no campo "Modelo" são referentes aos modelos de importação com posições pré-definidas e não podem ser alteradas. 

     

    A rotina de Manutenção de Layouts possui 2 opções de utilização: 

    1. Seleção de uma Tabela para definição do leiaute.

    Ao selecionar uma tabela, se já existir um leiaute previamente cadastrado, ele é carregado para alteração. Do contrário um novo leiaute genérico baseado na ordem dos campos no dicionário de dados (SX3) é gerado.

    Na grid é 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 texto, que é inicialmente baseado na ordem do SX3) e Fórmula (detalhes mais abaixo).

    Dos campos da grid será possível apenas alterar a posição e a fórmula. Não é permitido inclusão de novas campos ao leiaute.

    No cabeçalho, é possível alterar a Descrição (carregado o nome da tabela no SX2 por padrão), o Nome do Arquivo de importação, a Sequência de execução, e o De-Para automático (detalhes mais abaixo).

    Image Added

    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 arquivo, a posição pode ser 0 (ZERO), e na Fórmula deve ser informado um valor para o campo: "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 utilizadas 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 desejado os campos Descrição, Nome do Arquivo e Sequência presentes no cabeçalho serão carregados. Qualquer alteração realizada previamente e salva será carregada.

    No grid, serão carregados os campos do leiaute.

    Quando utilizada a opção Modelo, será possível alterar apenas o campo Fórmula no grid. Não é permitido inclusão de novas campos ao leiaute.

    No cabeçalho os campos Descrição, Nome do Arquivo, Sequência e De-Para Automático são abertos para alteração.

    Caso tenha sido realizada alguma alteração anterior no cadastro do modelo, estas serão carregadas.

             Image Added

     

    De-Para Automático

    De-Para automático está disponível apenas para algumas tabelas/modelos. Ao habilitá-lo, ele será utilizado apenas para o campo chave principal da tabela, realizando a busca do código identificador (De) a ser importado na tabela de De-Para, caso não encontre o registro na tabela, será gerado um novo código (Para) a partir da numeração automática da tabela importada e também gravado a relação entre os códigos na tabela de De-Para.

    Quando esta opção estiver desativada, será realizada a busca do relacionamento na tabela de De-Para, porém caso não encontre registro será realizada a tentativa de gravação com o próprio valor proveniente do arquivo texto, passando pela validação do sistema (tamanho do campo, conteúdo, relacionamento com outras tabelas).

    Exemplo

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

    Image Added

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

     Image Added

    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:

    Image Added

    Image Added

    Gerar Arquivo Texto de exemplo:

    No cabeçalho, há disponível um botão que possibilita a geração de um exemplo de arquivo texto baseado no leiaute carregado em tela. Assim como a opção de Gerar XML, esta opção visa facilitar a configuração/geração do arquivo de importação.

    Image Added

    Fórmulas 

    Para cada campo presente no leiaute, é possível configurar uma fórmula para tratar o conteúdo a ser gravado no sistema.

    As fórmulas podem ser uma string com valor fixo (sempre entre aspas), referência para um campo existente no Protheus, chamada de funções internas do Protheus ou chamada de funções de usuário executadas via RdMake. Foram disponibilizadas 2 funções de usuário para o auxílio da gravação dos campos Período ( U_Periodo() - retorna o período do registro ) e Processo ( U_Processo() - retorna o código do processo do funcionário do registro/linha atual).

    Exemplo 01:

    O campo Empresa não está presente no arquivo (posição = zero) e possui uma Fórmula de usuário para retornar o valor a ser gravado no campo.

    O campo Filial também não está presente no arquivo (posição = zero) e possui uma string com valor fixo para gravação do conteúdo. Assim, todos os registros serão gravados com o conteúdo "D MG 01" no campo QB_FILIAL.

    Image Added

     

    Exemplo 02:

    O campo Cod. Processo não está presente no arquivo (posição = zero) e possui chamada para a função U_Processo(). Desta forma, a cada linha processada, será verificado e retornado o código do Processo referente ao funcionário do registro (PC_MAT - posição 3)

    O campo Periodo não está presente no arquivo (posição = zero) e possui chamada para a função U_Periodo(). Desta forma, a cada linha processada será verificado e retornado o código do Período referente ao registro importado baseando no campo data do lançamento (neste caso PC_DATA - posição 4).

    O campo Número Pagto não está presente no arquivo (posição = zero) e possui um conteúdo fixo informado. Assim, em todos os registros o campo PC_NUMPAG será gravado com conteúdo "01".

    Os campos Centro de Custo, Departamento, Posto, Função e Turno não estão presentes no arquivo (posição = zero) e estão referenciados aos campos do cadastro de Funcionários que armazenam as mesmas informações. Assim, para cada campo, será consultado o valor presente no cadastro do funcionário do registro e gravará o conteúdo lido no referente campo da tabela alvo.

    O campo Sequencia não está presente no arquivo (posição = zero) e possui chamada para a função Protheus Posicione(tabela, ordem, chave de busca, campo de retorno). Esta função irá retornar o conteúdo presente no campo PJ_SEMANA.

    Manutenção de Layouts - exemplo do uso do campo Fórmulas 2Image Added

     

    Dica
    titleVariáveis de Manipulação do Arquivo

    A fim de flexibilizar e facilitar a manipulação dos dados do arquivo no momento da importação, está disponível para uso 3 variáveis que fazem referência aos dados do arquivo. Essas variáveis podem ser utilizadas como parâmetros nas chamadas das funções presentes no campo Fórmula.

    1. aCampos: matriz que guarda todos os campos utilizados no leiaute. Cada índice da matriz guarda um campo e é composto por sete posições, sendo elas:
      1. Nome do campo
      2. Posição na linha
      3. Fórmula do campo
      4. De/Para
      5. Posição reservada
      6. Tipo do campo
      7. 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].
    Exemplo 01:

    No cadastro de Bancos do Protheus, as informações de Número da Conta e Dígito são armazenadas em campos separados. Isso não é comum em todos os sistemas. Caso o arquivo a ser importado possua essas informações unificadas em apenas um campo, é possível fazer o tratamento da informação via fórmula no leiaute sem haver necessidade de alteração do arquivo. No caso deste cenário, os campos A6_NUMCON e A6_DVCTA serão referenciados à mesma coluna do arquivo (5) no campo Posição, e no campo Fórmula realiza-se o tratamento da informação lida.

    Como demonstra a figura abaixo, a referência aLinha[aCampos[nPos,2]] carrega o dado presente na posição atual (nPos = 5) da linha que está sendo lida.

    No campo A6_NUMCON a função Right() indica que será carregado neste campo somente os 4 primeiros caracteres da coluna lida. Já no campo A6_DVCTA a função Left() indica que será carregado neste campo somente os últimos 2 caracteres da coluna lida.

    Image Added
    Exemplo 02:

    Caso algum campo possua tamanho menor ao tamanho do campo no Protheus, é possível realizar um tratamento para completar o tamanho do campo com certo caractere a fim do preenchimento completo do campo.

    No exemplo abaixo, imagine que o campo Matrícula possua 4 caracteres no sistema anterior e, no Protheus temos o campo Matrícula com 6 caracteres. Caso não deseje gerar as matrícula por De-Para automático, pode-se realizar uma tratamento no próprio campo para completar com zeros (0) à esquerda a fim de ter o conteúdo totalmente preenchido.

    Com uso da função Protheus StrZero() completa-se a cadeia de caracteres lida na coluna do campo Matrícula (aLinha[aCampos[nPos,2]]).

    Image Added

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

    A rotina de Manutenção de Layouts também atende à necessidade de configurar leiautes para tabelas genéricas (Manutenção de Tabelas).

    Para realizar a configuração de leiaute para uma tabela genérica, é necessário selecionar a tabela RCB - Configuração de Parâmetros no campo Tabela, o que fará com que o campo Tab.Aux. seja habilitado para edição.

    No campo Tab.Aux. selecionar a tabela genérica desejada através da busca padrão ou digitando seu código. É possível escolher qualquer tabela definida na rotina Definição de Tabelas, inclusive tabelas de usuário.

    Manutenção de Layouts - configuração leiaute tabela genéricaImage Added

    Consulta Padrão Tabelas GenéricasImage Added

     

    Após escolher a tabela genérica, o grid será atualizado com a estrutura de campos desta tabela.

    Manutenção de Layouts - exemplo configuração leiaute tabela genéricaImage Added

     

    A estrutura das tabelas genéricas é armazenada fisicamente no banco de dados na tabela RCB (por isso o leiaute é configurado a partir desta tabela) porém, os dados dessas tabelas ficam fisicamente armazenados na tabela RCC - Parâmetros. Com isso, foi necessário a inclusão fixa de alguns campos da tabela RCC na estrutura dos leiautes das tabelas genéricas (por mais que não estejam presentes no arquivo) a fim de assegurar a correta gravação dos dados.

     Manutenção de Layouts - tabelas genéricas - campos fixos no leiaute.Image Added

    • 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 da tabela alvo (RCC).
    • 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 Ano/Mes em sua definição de leiaute. Seu preenchimento é opcional.

    Ao confirmar a configuração do leiaute, a janela de edição é fechada retornando-se à tela inicial da rotina. O leiaute estará disponível na lista, obedecendo o número do campo Sequência.

    Exemplo de leiaute de tabela genérica cadastrado.Image Added

     

    Realizada a importação, os dados estarão disponíveis para visualização e manutenção na rotina SIGAGPE > Atualizações > Definições de Cálculo > Manutenção de Tabelas.

    Card
    labelManut. De-Para

    A rotina de Manutenção de De-Para possibilita incluir, alterar e visualizar os relacionamentos entre os códigos externos (valor presente no arquivo texto) e internos (valor a ser gravado no Protheus).

    Acesse em Importação de Tabelas (RHIMPGEN) > Outras Ações > Manut. De-Para.

    No cabeçalho, o campo Tabela é carregado com os nomes das tabelas que possuem De-Para cadastrado, possibilitando assim o filtro desses dados a fim de facilitar a manutenção dos registros. Quando selecionado a opção em branco, serão carregados todos os registros cadastrados na tabela de De-Para (GPETABDP).

    O campo Buscar possibilita encontrar um registro carregado no grid da tela.


    No cadastro de De-Para é possível criar um relacionamento de valores para quaisquer campos existentes no Protheus. Para incluir um novo De-Para inclua uma nova linha de registro informando Campo (nome do campo na tabela do Protheus, e.g.: RA_MAT), Chave Externa (valor presente no arquivo texto) e Chave Interna (valor a ser gravado no Protheus).

    Image Added

     

    Exemplo 01:

    Campo Tipo de Aviso de Prévio (RG_TPAVISO) da tabela de Rescisão (SRG) possui tamanho diferente entre o sistema anterior (tamanho 5) e o Protheus (tamanho 2), fazendo necessário o cadastro de De-Para a fim de gerar um novo código para gravação da informação 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á no campo o conteúdo presente em Chave Interna. Caso a chave não seja encontrada no De-Para, o valor original (do arquivo) será truncado e gravado.

    CampoChave ExternaChave Interna
    RG_TPAVISO0000101
    RG_TPAVISO0000202
    RG_TPAVIO0001003


    Exemplo 02:

    Outro cenário que pode ocorrer, é a configuração de De-Para para os códigos das Filiais que podem sofrer alteração na mudança de sistemas. Para configurar De-Para de Empresa+Filial é necessário preencher com FILIAL o campo Campo. Ao incluir duas informações na chave (e.g.: Empresa+Filial) é necessário separá-las utilizando pipes ("|").

    CampoChave ExternaChave Interna
    FILIAL01|01T1|D MG 01
    FILIAL01|02T1|D MG 02
    FILIAL02|01T2|L MG 01


    Exemplo 03:

    Ao realizar De-Para de campos que possuem identificação por Filial, é necessário incluir o valor da Filial na chave, separando o código da Filial e o código do campo por pipes ("|").

    CampoChave ExternaChave Interna
    RA_MAT01|A00001D MG 01|000001
    RA_MAT02|A00002D MG 02|000002
    RA_MAT01|B00003L MG 01|000001

    Caso o valor da Filial informado na Chave Interna seja inexistente no Protheus, não será realizada a importação.

     

    Outras Ações > De-Para Específicos

    Dentro da rotina de Manutenção de De-Para há a opção De-Para Específicos para configuração de alguns itens que possuem valor padrão dentro do Protheus e, por diferença de tamanho ou outras características se torna necessário a configuração do De-Para.

    Image Added


    • Tipos de Rescisão: No Protheus, os tipos de rescisão (e.g.: Pedido de Demissão Trabalhado) são configurados a partir da tabela genérica S043 (presente na rotina Manutenção de Tabelas). Por padrão o sistema carrega 14 tipos de rescisão. Ao acionar a opção de De-Para Específico Tipos de Rescisão, uma nova tela é exibida com a listagem dos tipos padrão do Protheus e uma coluna para informar o valor externo (De). Ao confirmar a configuração, será gravado na tabela de De-Para (GPETABDP) a relação informada para o campo RG_TIPORES (tabela SRG - Rescisão. Na importação dos cálculos de rescisão, o sistema verifica se o Tipo de Rescisão está gravado no sistema. Caso não esteja, a importação dos dados não ocorrerá. Por isso é necessário a configuração da tabela ou do De-Para antes da importação desse item.).

    • Tipos de Alteração Salarial: No Protheus, os tipos de alteração salarial (e.g.: Salário Inicial) ficam gravados na tabela SX5 (Tabelas) com chave de identificação 41. Essa tabela somente é alterada via Configurador (SIGACFG). Por padrão o sistema carrega 3 tipos de alteração salarial. Ao acionar a opção de De-Para Específico Tipos de Alteração Salarial, uma nova tela é exibida com a listagem dos tipos padrão do Protheus e uma coluna para informar o valor externo (De). Ao confirmar a configuração, será gravado na tabela de De-Para (GPETABDP) a relação informada para o campo R3_TIPO (tabela SR3 - Histórico Valores Salariais. Na importação do Histórico de Alteração Salarial, o sistema verifica se o Tipo de Alteração Salarial está gravado no sistema. Caso não esteja, a importação dos dados não ocorrerá. Por isso é necessário a configuração da tabela ou do De-Para antes da importação desse item.).

    • Tipos de Afastamento (Ausências): No Protheus, os tipos de ausências (e.g.: Afastamento Temporário por Doença) ficam gravados na tabela RCM. Por padrão o sistema carrega 18 tipos de ausências. Ao acionar a opção de De-Para Específico Tipos de Afastamentos, uma nova tela é exibida com a listagem dos tipos padrão do Protheus e uma coluna para informar o valor externo (De). Ao confirmar a configuração, será gravado na tabela de De-Para (GPETABDP) a relação informada para o campo R8_TIPOAFA (SR8 - Lançamentos de Ausências. No momento da importação de Ausências, o sistema verifica a existência dos Tipos de Ausências. Caso o valor a ser importado não exista no sistema, a importação dos dados não ocorrerá. Por isso é necessário a configuração da tabela ou do De-Para antes da importação.).

     

    Outras Ações > Exportar CSV e Importar CSV

    Foi implementada também as opções de Exportar e Importar o cadastro de De-Para para um arquivo CSV (delimitado por ponto-e-vírgula) a fim de permitir a edição via editores de planilha facilitando a manipulação/criação de dados.

    Para realizar a importação é necessário utilizar o mesmo arquivo exportado (mesmo nome e leiaute).

    A opção Exportar CSV gera um arquivo com todos os registros da tabela de De-Para.

    A opção Importar CSV funciona de forma incremental, onde é possível importar apenas o diferencial (novos registros) e a rotina irá acrescentar os dados lidos à tabela de De-Para.

    Image Added

     

    Leiaute do Arquivo DEPARA - edição em planilha.

    Leiaute arquivo DEPARA - editor planilhaImage Added

    Leiaute do Arquivo DEPARA - edição em texto.

    Leiaute arquivo DEPARA - editor textoImage Added

    Card
    labelGerar XML

    A opção Gerar XML presente na rotina de Importação de Tabelas permite a geração de um arquivo planilha do leiaute configurado em Manutenção de Layouts. O objetivo da rotina é facilitar a geração do arquivo texto de importação através da manipulação de dados via planilha.

    Acesse em Importação de Tabelas (RHIMPGEN) > Outras Ações > Gerar XML.

    Image Added

    Nota
    titleAtenção!

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

    Card
    labelGeração de Verbas (SRV)

    A opção Geração de Verbas (SRV) tem como objetivo auxiliar a geração e relacionamento das verbas entre os sistemas (origem e destino). Ao acessar a rotina é carregado em tela uma lista de verbas padrão pré-configuradas. A primeira coluna do grid é disponibilizada para inserção do código externo (De) para agilizar o cadastro de De-Para dos itens. É possível realizar a alteração de todos os campos do grid a fim de atender às necessidades de uso do cliente (e.g.: configuração de Incidências.). Também é possível a inserção de novas linhas a grid caso as verbas carregadas não atendam todas as necessidades do cliente.

    Em resumo, é possível realizar o cadastro e configuração de todas as verbas a serem utilizadas pelo sistema nesta tela, antes de iniciar o uso do sistema. A gravação das informações na tabela de Verbas (SRV) via esta rotina é feita apenas enquanto a tabela estiver vazia. Após o cadastro de itens na tabela, a manutenção dos dados é feita via rotina padrão do Protheus (SIGAGPE > Atualizações > Definições de Cálculo > Verbas).

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

    Image Added

    Aviso
    titleGeração das Verbas

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

     

    Outras Ações > Exportar CSV e Importar CSV

    Foi implementada também as opções de Exportar e Importar a lista de De-Para das verbas padrão (Código Externo, Código Verba, Descrição, Desc.Det.) para um arquivo CSV (delimitado por ponto-e-vírgula) a fim de permitir a edição via editores de planilha facilitando a configuração do relacionamento de De-Para.

    Para realizar a importação é necessário utilizar o mesmo arquivo exportado (mesmo nome e leiaute).

    A opção Exportar CSV gera um arquivo com toda a lista das verbas padrão carregadas.

    A opção Importar CSV funciona permite importar apenas o diferencial (registros com código externo) e a rotina atualizar os dados lidos à tabela de Configuração de Verbas.

    Image Added

    Card
    labelProcessamento

    Após configuração dos leiautes e De-Para, é possível realizar a importação dos arquivos para o Protheus.

    Na tela principal da rotina de Importação de Tabelas (RHIMPGEN), selecione os leiautes dos arquivos que serão processados (possível seleção de vários leiautes) e clique em ConfirmarSerá solicitado para informar o diretório onde estão localizados os arquivos para importação.

    Image Added

    Então, a tela de processamento será aberta. Na aba Perguntas, configure os 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. Parâmetro não é válido para modelos RHIMP, que possui validações fixas.
    • 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, importando os registros que possuem os dados sem problemas. Se marcado com NÃO, ao constatar a primeira inconsistência, o processo de leitura do arquivo atual é abortado (caso esteja importando mais de um leiaute, incia-se o processamento do próximo arquivo).

    Image Added

    Na aba Informações, clique em Executar e aguarde o processamento. Um log será emitido somente se houver algum problema na importação, caso contrário ao fim do processamento será retornado à tela inicial da rotina.

    Em casos de importação de cálculos (Rescisão, Férias, 13º, Folha) caso a tabela já possua dados é exibida a pergunta Apaga importação de Movimento Anterior?. Confirme caso deseje sobrepor os dados presentes na tabela.

    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.

    Image Removed

     

    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).

    Image Removed

    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.

    Image Removed

    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:

     Image Removed

    • 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.

    Image Removed

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