1 introdução

Propaganda
UNIVERSIDADE REGIONAL DE BLUMENAU
CENTRO DE CIÊNCIAS EXATAS E NATURAIS
CURSO DE SISTEMAS DE INFORMAÇÃO – BACHARELADO
RODRIGO JOÃO AMORIM
MÓDULO INTERATIVO VISUAL DE CONFIGURAÇÃO
PARA CARGA DE DADOS NO SISTEMA PROTHEUS 10
Proposta de Trabalho de Conclusão de Curso
submetida à Universidade Regional de
Blumenau para a obtenção dos créditos na
disciplina Trabalho de Conclusão de Curso I
do curso de Sistemas de Informação —
Bacharelado.
Prof. Dr. Oscar Dalfovo – Orientador
BLUMENAU
2009 / 2
2
1 INTRODUÇÃO
Totvs do latim tudo ou totalidade é o nome da maior empresa do Brasil de
desenvolvimento de software de gestão empresarial (ERP). Entre vários sistemas oferecidos,
destaca-se o Protheus do grego filho de Posseidon atualmente em sua versão 10 Release 1.3
(TOTVS, 2009a, p.1),
Protheus um sistema Enterprise Resource Planning (ERP) com inúmeras
possibilidades de customização. O sistema permite a interação com diversos tipos de
arquivos, através de Advanced Protheus Lenguage (AdvPL), linguagem proprietária da Totvs,
linguagem cujo o Protheus foi desenvolvido.
A possibilidade de interação com diversos tipos de arquivos é muito importante para
que haja interoperabilidade entre outros sistemas que existem na organização.
O problema da interação com diversos arquivos no Protheus é que toda vez que há a
necessidade de ler ou carregar um novo arquivo para o sistema ou o layout de um arquivo já
existente foi alterado, existe a necessidade de fazer manutenção direto no código fonte, não
existe no sistema uma tela de configuração genérica onde pode ser configurado o arquivo a
ser carregado e para onde ele será carregado.
1.1 JUSTIFICATIVA
Hoje na Selgron Industrial Ltda., indústria situada no bairro Itoupavazinha, onde está
implantado o sistema Protheus 10 Release 1.3, um dos grandes problemas enfrentados é a
importação de arquivos vindos de terceiros, por exemplo: bancos, contabilidade, clientes,
fornecedores.
Para cada arquivo a ser lido existe um arquivo de código fonte, com isto, existem
vários problemas atrelados, existência de vários arquivos “.prw”, (extensão dos arquivos fonte
utilizados pelo Protheus), vários arquivos para controle e manutenção. Com isto, surge então
a necessidade de implementar uma funcionalidade para auxiliar este processo de carga de
dados.
A idéia de automatizar este processo surgiu com a necessidade de um maior controle
do que é importado para o banco, com a posterior diminuição de código e de arquivos para
3
manutenção. Decidiu-se então implantar um mecanismo para a automatização e padronização
dos procedimentos que envolvem o sistema, e como primeiro passo, implementar um
mecanismo de carga de dados para o sistema Protheus 10.
1.2 OBJETIVOS
O objetivo deste trabalho é o desenvolvimento de uma aplicação para dar carga de
dados no sistema Protheus 10.
Os objetivos específicos da proposta são:
a) desenvolver uma aplicação desktop para execução da carga visando reduzir o
tempo gasto no processo de carga de dados no sistema Protheus 10;
b) automatizar a estruturação dos arquivos que serão carregados sem a necessidade de
intervenção direto no código fonte;
c) possibilitar a interação do usuário com o processo de carga de dados sem que haja
um contato direto com o departamento de desenvolvimento.
1.3 RELEVÂNCIAS DO TRABALHO
A aplicação a ser desenvolvida será incorporada ao sistema Protheus 10 e irá auxiliar
no processo de configuração dos arquivos que serão utilizados na carga de dados. Esta
aplicação também será responsável pela carga de dados propriamente dita. O fator de maior
relevância para o desenvolvimento desta aplicação está na automatização do processo de
carga de dados no sistema Protheus 10. A proposta desta aplicação consiste em agregar tanto
a implementação tecnológica quanto a automatização no processo de manutenção e execução
da carga de dados.
Empresas que não utilizam um sistema de ERP desfrutam de vários sistemas gerenciais
grátis encontrados na internet. O grande problema destes softwares é que os mesmos não
contemplam toda a estrutura de um ERP e não interagem entre si, quando no máximo
exportam arquivos nos formatos “.txt” ou “.csv”.
4
Quando estas empresas decidem implantar um sistema ERP robusto em sua corporação
acabam tendo um tempo de translado do sistema legado para o novo muito grande devido à
demora de inserção manual dos registros antigos.
5
2 FUNDAMENTAÇÃO TEÓRICA
Neste capítulo apresentam-se o procedimento atual de carga de dados usado pela
Selgron Industrial Ltda., a solução proposta e os trabalhos correlatos ao tema abordado.
Enterprise Resource Planning (ERP), segundo Rezende e Abreu, são pacotes de
gestão empresarial ou de sistemas integrados, com recursos de automação e informação,
visando contribuir com o gerenciamento dos negócios empresariais.
Para Buckhout, Frey e Nemec (1999), um ERP é um software de planejamento de
recursos empresariais que integra as diferentes funções da empresa para criar operações mais
eficientes. Integra os dados-chaves e a comunicação entre as áreas da empresa, fornecendo
informações detalhadas sobre suas operações.
Conforme Totvs (2009b, p.1), apresenta que o ERP gerencia e integra os processos de
gestão da empresa. A solução ERP Totvs (Protheus 10) é dinâmica, racional e eficiente, e
prepara a companhia para administrar processos e recursos na busca de integração de
informações. A adoção da solução ERP Totvs elimina o uso de interfaces manuais e a
redundância de atividades, proporcionando integração de diversos departamentos,
automatização e armazenamento de todas as informações de negócios.
2.1 SISTEMA ATUAL
Atualmente a Selgron industrial Ltda. possui vários arquivos de código fonte para
realizar a carga de dados para o sistema Protheus 10, sendo que este trabalho acaba sempre
sendo completamente semi-automático ou manual via script Structured Query Language
(SQL) direto no banco de dados. As tecnologias atualmente usadas para este processo são o
banco de dados SQL Server 2008, aonde os scripts escritos em SQL realizam a inserção de
dados direto no banco do sistema atual,
O processo atual de carga de dados acontece através da criação de vários arquivos de
código fonte. Existe atualmente um arquivo de código para cada layout de arquivo a ser
carregado ao sistema, gerando um enorme retrabalho na manutenção destes arquivos.
6
Os arquivos utilizados hoje para importação de dados no sistema são gerados por
terceiros geralmente vindos de fornecedores, clientes, contabilidades. Estes arquivos podem
sofre alteração em seu layout sem aviso prévio.
2.2 TRABALHOS CORRELATOS
Dentre os vários trabalhos relacionados ao tema ERP, são apresentados o que tiveram
maior relevância para este trabalho.
No trabalho de conclusão de curso de Leila de Souza desenvolvido na Universidade
Regional de Blumenau (FURB), a mesma apresenta o tão quanto é demorado à implantação
de um sistema de ERP Microsiga 7, nome que antecede o Protheus 10, em uma organização
(SOUZA, 2004).
No trabalho de conclusão de curso de Andre B. do Nascimento desenvolvido no
Centro Federal de Educação Tecnológica (CEFET), os mesmos demonstram um estudo de um
caso real de migração de banco de dados de sistemas ERP legado para um banco de dados do
novo sistema ERP (NASCIMENTO, 2001).
7
3 DESENVOLVIMENTO
Neste capítulo estão descritos a particularidades técnicas do sistema proposto tais
como a descrição do mesmo e a apresentação dos requisitos funcionais e não funcionais,
principais diagramas de caso de uso e a sua descrição, diagramas de caso de uso, e seu
detalhamento.
3.1 SISTEMA PROPOSTO
A solução proposta consiste em automatizar o processo de carga de dados para o
sistema Protheus 10, obedecendo os seguintes procedimentos:
a) configuração do arquivo: que identificara exatamente cada trecho do arquivo a ser
lido e onde o mesmo será carregado no sistema;
b) validação dos dados: que resolverá questões como tipo de dados que será carregado
e o tipo de dado que está sendo esperado pelo banco de dados;
c) carregar os dados: é o último passo do processo da carga de dados. Nesta etapa os
dados serão lidos do arquivo e inserido direto no banco de dados, Este processo
poderá ser executado várias vezes, pois depois de uma vez configurado, basta
apenas executar a carga de dados, e prestar manutenção na configuração quando
houver alterações no layout do arquivo;
A implantação desta aplicação terá impacto direto na performance e padronização do
processo de carga de dados nos sistema Protheus 10
O sistema será desenvolvido sobre a linguagem Advanced Protheus Lenguage
(AdvPL), usando o Integrated Development Environment (IDE) do próprio sistema Protheus
10.
O acesso a banco de dados será feito através do uso da ferramenta Totvs DBAccess
responsável por toda comunicação do sistema Protheus 10 com o banco de dados. A interface
será desenvolvida para ambiente desktop, usando AdvPL.
8
O processo de migração se inicia na fase de configuração dos dados, ou seja, de qual
fonte será extraído as informações e onde no banco de dados serão armazenadas. O foco de
armazenamento de dados da aplicação será no banco de dados SQL Server 2008.
A etapa inicial do processo consiste em configurar um arquivo configuração, contendo
local do arquivo a ser lido e as parametrizações do arquivo, onde cada trecho será extraído e
onde será copulado no banco. Criado o registro de configuração, o usuário já pode executar a
carga de dados.
Após o usuário ter configurado o sistema com a parametrização do arquivo que será
carregado ao banco de dados o usuário terá a possibilidade de verificar se a configuração
recém criada esta certa clicando no botão validar dados, onde o sistema fará leitura dos dados
do arquivo em disco, ou seja, será feito uma varredura no arquivo, lendo linha a linha e
verificando se o trecho do arquivo lido condiz com a espera de parâmetros do campo do
banco de dados.
Neste processo de validação dos dados a serem importados, o sistema utilizara um
arquivo de configuração de banco de dados onde estão contidas as informações de todos os
campos de todas as tabelas do banco de dados utilizado pelo Protheus 10, informações esta
como, tamanho, tipo, quantidade de casas decimais, obrigatoriedade.
3.2 ESPECIFICAÇÃO
O Quadro 1 apresenta os requisitos funcionais previstos para o sistema e sua
rastreabilidade, ou seja, vinculação com o(s) caso(s) de uso associado(s).
Requisitos Funcionais
RF01: O sistema deverá possibilitar ao usuário o cadastramento de registros
Caso de Uso
UC01
de configuração de importação.
RF02: O sistema deverá possibilitar a alteração de registros de
UC02
configuração.
RF03: O sistema deverá possibilitar a exclusão de registro de configuração
UC03
de importação.
RF04: O sistema possibilitará a execução do processo de carga de dados.
UC04
9
RF05: O sistema possibilitará ao usuário a seleção da fonte de dados para a
UC05
carga de dados.
RF06: O sistema possibilitará ao usuário a seleção da tabela a ser copulada
UC06
RF07: O sistema deverá possibilitar ao usuário a validação do arquivo antes
UC07
da rotina de importação dos dados.
RF08: O sistema deverá possibilitar ao usuário a visualizar o arquivo em
UC08
uma tela sem a necessidade de executar a importação dos dados.
Quadro 1: Requisitos funcionais
O Quadro 2 lista os requisitos não funcionais previstos para o sistema.
Requisitos Não Funcionais
RNF01: O sistema deverá ser desenvolvido na linguagem AdvPL
RNF02: O sistema deverá suportar o banco de dados SQL Server 2008
RNF03: O sistema deverá possuir interface para Desktop.
RNF04: O sistema deverá interagir com o sistema Protheus 10
RNF05: O sistema deverá utilizar a nomenclatura padrão para tabelas do sistema Protheus 10
Quadro 2: Requisitos não funcionais
3.3 MODELAGEM
Esta seção apresenta o(s) diagrama(s) que serão necessários para o entendimento do
sistema de carga de dados no sistema Protheus 10.
3.3.1 Diagramas de caso de uso
Esta seção apresenta o(s) diagrama(s) de casos de uso preliminar(es) do sistema carga
de dados no sistema Protheus 10, sendo que o detalhamento dos principais casos de uso,
devem ser descritos a partir do Apêndice A.
10
uc Casos de Uso
Módulo de Configurações de Carga de Dados
UC01 - Cadastrar
arquiv o de
configuração
UC02 - A lterar
arquiv o de
configuração
UC03 - Ex cluir
arquiv o de
configuração
UC04 - Ex ecutar
processo carga de
dados
UC05 - Selecionar
Usuári o
arquiv o
UC06 - Selecionar
tabela
UC07 - V alidar
dados
UC08 - V isualizar
importação
Figura 1: Diagrama de caso de uso
3.3.2 Diagramas de entidade relacional
Na Figura 2 tem-se o diagrama de entidade relacional que representam as entidades
que serão do banco de dados.
11
Figura 2– Diagrama de entidades relacionais.
A função de cada entidade do banco de dados está descrita a seguir após o nome da
mesma:
a) SZX010: entidade que irá guardar as informações genéricas para o processo de
carga de dados, dados como descrição, tabela que será copulada com os registros
do arquivo que será importado e local onde esta este arquivo em disco;
b) SZY010: entidade do banco responsável por manter os registros de configuração
dos arquivos que serão carregados, esta entidade manterá as configurações
especificas de cada trecho do registro que será importado e copulado no banco de
dados, conterá informações como caracter de início, caracter de término, tipo de
dado que será importado, nesta entidade existira um registro para cada trecho de
dado que será importado.
12
REFERÊNCIAS BIBLIOGRÁFICAS
BUCKHOUT, S.; FREY, E.; NEMEC JR. Por um ERP eficaz. HSM Management. Set./Out.
1999.
NASCIMENTO, A. B et al .Aplicação de Regras de Negocio em um Sistema ERP. 2001.
Trabalho de Conclusão de Curso (Pós Graduação em E-bussines), Centro Federal de
Educação Tecnológica, Rio de Janeiro.
REZENDE, Denise Alcides; ABREU, Aline França de. Tecnologias Aplicadas a Sistemas de
Informações Empresariais: Tecnologia da Informação Aplicada a Sistemas de Informação
Empresariais. São Paulo: Atlas S.A., 2001.
SOUZA, L. Aplicação de Regras de Negocio em um Sistema ERP. 2004. Trabalho de
Conclusão de Curso (Bacharelado em Ciências da Computação) Centro de Ciências Exatas e
Naturais, Universidade Regional de Blumenau, Blumenau.
TOTVS. Informativo Julho de 2009. Disponível em: <http://totvs.com/web/gest/company>
Acesso em: 22 jul. 2009a.
___. ERP. Disponível em: < http://www.totvs.com/software/erp> Acesso em: 19 nov. 2009b.
13
APÊNDICE A – Detalhamento dos casos de uso
No Quadro 3, apresenta-se o caso de uso "Cadastrar arquivo de configuração".
Nome do Caso de Uso
Cadastrar arquivo de configuração
Descrição
Usuário acessa aplicação via desktop e informa dados para login e senha
armazenados no cadastro do usuário.
Usuário seleciona o módulo que deseja/tem permissão para acessar.
Ator
Usuário
Pré-condição
Sistema deve estar com os seguintes processos rodando:

TotvsAppServer;

TotvsDBAccess;

SQL Server 2008.
Usuário deve estar cadastrado no banco de dados.
Fluxo principal
1.
Usuário preenche seu login e sua senha;
2.
Sistema valida os dados de login e senha do usuário;
3.
Sistema mostra pro usuário os módulos que ele tem acesso;
4.
Usuário seleciona o modulo requerido e clica em ok;
5.
Sistema mostra tela com o menu com os acessos do usuário;
6.
Usuário seleciona a opção configuração de carga de dados;
7.
Sistema exibe browser com todos os arquivos de configuração existentes;
8.
Usuário seleciona a opção incluir;
9.
Usuário seleciona a tabela;
10. Usuário inclui as informações e clica em ok;
11. Sistema retorna pro browser com todos os arquivos de configuração existentes.
Fluxo alternativo (a)
Fluxo alternativo (b)
Pós-condição

nome de usuário e/ou senha inválido(s);

alerta com mensagem “usuário ou senha inválida” é mostrada.

usuário sem acesso a fazer inclusão de configuração;

alerta com mensagem “usuário sem acesso a esta rotina” é mostrada.
Usuário incluiu um arquivo de configuração no sistema.
Quadro 3 – Descrição do caso de uso Cadastrar arquivo de configuração
No Quadro 4 apresenta-se o caso de uso "Alterar arquivo de configuração".
Nome do Caso de Uso
Cadastrar arquivo de configuração
Descrição
Usuário acessa aplicação via desktop e informa dados para login e senha
14
armazenados no cadastro do usuário.
Usuário seleciona o módulo que deseja/tem permissão para acessar.
Ator
Usuário
Pré-condição
Sistema deve estar com os seguintes processos rodando:

TotvsAppServer;

TotvsDBAccess;

SQL Server 2008.
Usuário deve estar cadastrado no banco de dados.
Fluxo principal
1.
Usuário preenche seu login e sua senha;
2.
Sistema valida os dados de login e senha do usuário;
3.
Sistema mostra pro usuário os módulos que ele tem acesso;
4.
Usuário seleciona o modulo requerido e clica em ok;
5.
Sistema mostra tela com o menu com os acessos do usuário;
6.
Usuário seleciona a opção configuração de carga de dados;
7.
Sistema exibe browser com todos os arquivos de configuração existentes;
8.
Usuário seleciona a opção alterar;
9.
Usuário altera as informações e clica em ok;
10. Sistema retorna pro browser com todos os arquivos de configuração existentes.
Fluxo alternativo (a)
Fluxo alternativo (b)
Pós-condição

nome de usuário e/ou senha inválido(s);

alerta com mensagem “usuário ou senha inválida” é mostrada.

usuário sem acesso a fazer alteração de configuração;

alerta com mensagem “usuário sem acesso a esta rotina” é mostrada.
Usuário alterou um arquivo de configuração no sistema.
Quadro 4 – Descrição do caso de uso Alterar arquivo de configuração
No Quadro 5 apresenta-se o caso de uso "Excluir arquivo de configuração".
Nome do Caso de Uso
Cadastrar arquivo de configuração
Descrição
Usuário acessa aplicação via desktop e informa dados para login e senha
armazenados no cadastro do usuário.
Usuário seleciona o módulo que deseja/tem permissão para acessar.
Ator
Usuário
Pré-condição
Sistema deve estar com os seguintes processos rodando:

TotvsAppServer;

TotvsDBAccess;

SQL Server 2008.
Usuário deve estar cadastrado no banco de dados.
Fluxo principal
1.
Usuário preenche seu login e sua senha;
15
2.
Sistema valida os dados de login e senha do usuário;
3.
Sistema mostra pro usuário os módulos que ele tem acesso;
4.
Usuário seleciona o modulo requerido e clica em ok;
5.
Sistema mostra tela com o menu com os acesso do usuário;
6.
Usuário seleciona a opção configuração de carga de dados;
7.
Sistema exibe browser com todos os arquivos de configuração existentes;
8.
Usuário seleciona a opção excluir;
9.
Usuário inclui as informações e clica em ok;
10. Sistema retorna pro browser com todos os arquivos de configuração existentes.
Fluxo alternativo (a)
Fluxo alternativo (b)
Pós-condição

nome de usuário e/ou senha inválido(s);

alerta com mensagem “usuário ou senha inválida” é mostrada.

usuário sem acesso a fazer exclusão de configuração;

alerta com mensagem “usuário sem acesso a esta rotina” é mostrada.
Usuário excluiu um registro de configuração no sistema.
Quadro 5 – Descrição do caso de uso Alterar arquivo de configuração
No Quadro 6 apresenta-se o caso de uso "Executar carga de dados".
Nome do Caso de Uso
Cadastrar arquivo de configuração
Descrição
Usuário acessa aplicação via desktop e informa dados para login e senha
armazenados no cadastro do usuário.
Usuário seleciona o módulo que deseja/tem permissão para acessar.
Ator
Usuário
Pré-condição
Sistema deve estar com os seguintes processos rodando:

TotvsAppServer;

TotvsDBAccess;

SQL Server 2008.
Usuário deve estar cadastrado no banco de dados.
Fluxo principal
1.
Usuário preenche seu login e sua senha;
2.
Sistema valida os dados de login e senha do usuário;
3.
Sistema mostra pro usuário os módulos que ele tem acesso;
4.
Usuário seleciona o modulo requerido e clica em ok;
5.
Sistema mostra tela com o menu com os acessos do usuário;
6.
Usuário seleciona a opção configuração de carga de dados;
7.
Sistema exibe browser com todos os arquivos de configuração existentes;
8.
Usuário seleciona a opção executar;
9.
Sistema mostra tela com o parâmetro de onde será lido o arquivo;
10. Usuário confirma a execução da carga de dados;
11. Sistema executa a carga de dados;
16
12. Sistema retorna para o browser com todos os arquivos de configuração
existentes.
Fluxo alternativo (a)
Fluxo alternativo (b)
Fluxo alternativo (c)
Fluxo alternativo (c)
Pós-condição

nome de usuário e/ou senha inválido(s);

alerta com mensagem “usuário ou senha inválida” é mostrada.

usuário sem acesso a fazer execução da carga de dados;

alerta com mensagem “usuário sem acesso a esta rotina” é mostrada.

arquivo a ser lido não encontrado;

alerta com mensagem “usuário arquivo não encontrado” é mostrada.

trecho do arquivo a ser lido é divergente;

alerta com mensagem “dados divergentes” é mostrada.

a rotina é interrompida.
Usuário executou carga de dados no sistema.
Quadro 6 – Descrição do caso de uso Alterar arquivo de configuração
No Quadro 7 apresenta-se o caso de uso "Selecionar tabela".
Nome do Caso de Uso
Cadastrar arquivo de configuração
Descrição
Usuário acessa aplicação via desktop e informa dados para login e senha
armazenados no cadastro do usuario.
Usuário seleciona o módulo que deseja/tem permissão para acessar.
Ator
Usuário
Pré-condição
Sistema deve estar com os seguintes processos rodando:

TotvsAppServer

TotvsDBAccess

SQL Server 2008
Usuário deve estar cadastrado no banco de dados.
Usuário deve ter seleciona a opção incluir
Fluxo principal
1.
Sistema mostra tela com todas as tabelas do banco de dados
2.
Usuário seleciona tabela e clica em ok;
3.
Sistema volta a tela de inclusão de registros de configuração de carda;
Quadro 7 – Descrição do caso de uso Selecionar tabela
No Quadro 8 apresenta-se o caso de uso "Validar dados".
Nome do Caso de Uso
Validar dados
Descrição
Usuário acessa aplicação via desktop e informa dados para login e senha
armazenados no cadastro do usuário.
17
Usuário seleciona o módulo que deseja/tem permissão para acessar.
Ator
Usuário
Pré-condição
Sistema deve estar com os seguintes processos rodando:

TotvsAppServer

TotvsDBAccess

SQL Server 2008
Usuário deve estar cadastrado no banco de dados.
Usuário deve ter configurado o arquivo que deseja validar.
Usuário deve ter seleciona a opção validar
Fluxo principal
1.
Sistema mostra tela com informação do primeiro caracter do arquivo texto onde
foi encontrado algo que não era esperado.
Quadro 8 – Descrição do caso de uso Selecionar tabela
No Quadro 9 apresenta-se o caso de uso "Visualizar dados".
Nome do Caso de Uso
Visualizar dados
Descrição
Usuário acessa aplicação via desktop e informa dados para login e senha
armazenados no cadastro do usuário.
Usuário seleciona o módulo que deseja/tem permissão para acessar.
Ator
Usuário
Pré-condição
Sistema deve estar com os seguintes processos rodando:

TotvsAppServer

TotvsDBAccess

SQL Server 2008
Usuário deve estar cadastrado no banco de dados.
Usuário deve ter configurado o arquivo que deseja validar.
Usuário deve ter seleciona a opção validar
Fluxo principal
1.
Sistema mostra tela de visualização dos dados a serem importados com base no
registro de configuração.
Quadro 9 – Descrição do caso de uso Selecionar tabela
Download