Академический Документы
Профессиональный Документы
Культура Документы
Setúbal, 2015
Dedicatória
Confúcio
ii
Índices (Geral, Tabelas, Gráficos e Figuras)
Índice
Dedicatória .................................................................................................................................... ii
Índices (Geral, Tabelas, Gráficos e Figuras).................................................................................. iii
Lista de Siglas/Acrónimos.............................................................................................................. x
Resumo..........................................................................................................................................xi
Abstract ........................................................................................................................................ xii
Prefácio ....................................................................................................................................... xiii
1. Introdução................................................................................................................................. 1
1.1 Apresentação do Projeto .............................................................................................. 1
1.2 Objetivos do Projeto ..................................................................................................... 2
1.3 Atividades do Projeto .................................................................................................... 2
1.3.1 Atividades realizadas na Divisão de Controlo de Gestão de Custos ................................ 3
1.4 Metodologia .................................................................................................................. 3
1.5 Estrutura do relatório .................................................................................................... 4
2. Enquadramento Teórico ........................................................................................................... 5
2.1 A importância das linguagens de programação em contexto organizacional .................... 5
2.1.2 Visual Basic for Applications ............................................................................................ 5
2.2 A importância das folhas de cálculo em contexto organizacional ...................................... 6
2.2.1 Excel ................................................................................................................................. 7
2.2.2 Funcionalidades do excel ................................................................................................. 8
2.3 A importância dos Sistemas de Bases de Dados em contexto organizacional ................... 8
2.3.1 Access ............................................................................................................................... 9
2.3.2 Funcionalidades do Access ............................................................................................. 10
3. Apresentação da Organização................................................................................................ 12
3.1 História .............................................................................................................................. 12
3.2 Missão, Visão e Cultura ..................................................................................................... 13
3.3 Recursos Humanos ............................................................................................................ 14
3.4 Apresentação da Área de Projeto - Direção de Controlo de Gestão ................................ 16
3.4.1 Divisão de controlo de gestão ........................................................................................ 16
3.4.1.1 Divisão de Controlo de Gestão de Custos ................................................................... 16
3.4.1.2 Divisão de Controlo de Gestão da Banca Comercial ................................................... 17
3.4.1.3 Divisão de Controlo de Gestão do Grupo Consolidado............................................... 18
iii
3.4.1.4 Divisão de Controlo de Gestão do Banco, Atividades Corporativas (AC), ALCO ......... 18
3.5 Organograma da Direção de Controlo de Gestão ............................................................. 19
3.6 Caraterização dos SI/TIC.................................................................................................... 20
4. Automatização de tarefas ...................................................................................................... 22
4.1 Tarefa 1 - Interface de custos (Incos) ................................................................................ 22
4.1.1 Requisitos ....................................................................................................................... 22
4.1.2 Procedimentos ............................................................................................................... 23
4.1.3 Access ............................................................................................................................. 23
4.1.3.1 Ficheiros de suporte à criação das Incos ..................................................................... 24
4.1.3.2 Tabelas de suporte à criação das Incos ....................................................................... 24
4.1.4 Form para tratamento das incos .................................................................................... 26
4.1.4.1 Processo Detalhado..................................................................................................... 32
4.1.4.1.1 Backup de Históricos ............................................................................................ 33
4.1.4.1.2 1º Parte do Processo ............................................................................................ 37
4.1.4.1.3 Gerar T01Incos02 ................................................................................................. 42
4.1.4.1.4 Validações e Relatório de Erros............................................................................ 50
4.1.4.1.5 Produzir Interfaces ............................................................................................... 53
4.2 Tarefa 2 – Tratamento e criação de Mapas Desglose ....................................................... 54
4.2.1 Requisitos ....................................................................................................................... 55
4.2.2 Procedimentos ............................................................................................................... 55
4.2.3 Excel ............................................................................................................................... 57
4.2.3.1 Ficheiro 1 – Desglose.xlsx ............................................................................................ 57
4.2.3.2 Ficheiro 2 – Preparação_BD.xlsm ................................................................................ 57
4.2.3.3 Ficheiro 3 – BOOK_x.xlsx ............................................................................................. 60
4.2.3.4 Ficheiro 4 – Xanomes_cformulas.xlsx ......................................................................... 61
4.2.3.5 Ficheiro 5 – Custos_x.xlsx............................................................................................ 63
4.2.3.5 Ficheiro 6 – Custos_x.xlsx............................................................................................ 63
4.2.4 Form para o tratamento dos mapas desglose ............................................................... 64
4.2.4.1 Etapa 1: Selecionar Ficheiro Desglose ......................................................................... 65
4.2.4.2 Etapa 2: Gerar Book .................................................................................................... 66
4.2.4.3 Etapa 3: Gerar Destino ................................................................................................ 68
4.2.4.4 Etapa 4: Macro ............................................................................................................ 68
4.3 Integração da tarefa 1 com a tarefa 2 ............................................................................... 69
5. Conclusões e Perspetivas de Trabalho Futuro ....................................................................... 70
iv
5.1 Conclusões................................................................................................................... 70
5.2 Perspetivas de Trabalho Futuro .................................................................................. 70
Referências .................................................................................................................................. 71
Anexos ......................................................................................................................................... 72
Anexo 1 – Procedimentos manuais para criação das Incos ........................................................ 74
Anexo 2 – Tabelas da BD “01Custos_San.accbd” ........................................................................ 77
Anexo 2.1 Tabela Selecionar Ficheiros ................................................................................ 77
Anexo 2.1 Tabelas T01Incos0*_H........................................................................................ 77
Anexo 2.2 Tabelas T01Incos0* ............................................................................................ 78
Anexo 2.3 Tabelas F01Incos0* ............................................................................................ 79
Anexo 2.4 Tabelas F01Incos0*_ANT ................................................................................... 80
Anexo 2.5 Tabelas F01Incos01_02_ANT ............................................................................. 80
Anexo 2.6 Tabela “T_MES”.................................................................................................. 81
Anexo 2.7 Tabela “Balancetes” ........................................................................................... 81
Anexo 2.8 Tabela “Balancete_ContasMOV” ....................................................................... 81
Anexo 2.9 Tabela “Ficheiro_Contabilidad” ......................................................................... 82
Anexo 2.10 Tabela “GLL” ..................................................................................................... 82
Anexo 2.11 Tabela “SAL” ..................................................................................................... 83
Anexo 2.12 Tabela “Midat” ................................................................................................. 83
Anexo 2.13 Tabela “Tabela_Contas” ................................................................................... 84
Anexo 2.14 Tabela Centros ................................................................................................. 84
Anexo 2.15 Tabela “Matriz Dedicação”............................................................................... 85
Anexo 2.15 Tabela “Tabela_Conceptos-Cargabal” ............................................................. 85
Anexo 2.16 Tabela “Month1”.............................................................................................. 85
Anexo 2.17 Tabela “T01Incos03_Aux” ................................................................................ 86
Anexo 2.18 Tabela “T01Incos05_Aux” ................................................................................ 86
Anexo 2.19 T01Incos06_Aux ............................................................................................... 87
Anexo 2.20 F01Incos06_Mes .............................................................................................. 87
Anexo 2.21 Tabelas de Preenchimento da T01Incos02 ...................................................... 88
Anexo 2.20.1 T01Incos02 – DCRH: Tabela F01Incos02_RH................................................. 88
Anexo 2.20.2 T01Incos02 – DCRH: DCRH_centro_6971 ..................................................... 88
Anexo 2.20.3 T01Incos02 – Tecnologia: Tecnologia_Midat ................................................ 89
Anexo 2.20.4 T01Incos02 – Tecnologia: Tecnologia_Conceitos.......................................... 89
Anexo 2.20.5 T01Incos02 – Tecnologia: Tecnologia_Diferença .......................................... 89
v
Anexo 2.20.6 T01Incos02 – Tecnologia: Tabela prioridades ............................................... 90
Anexo 2.20.7 T01Incos02 – Percentagem: Percentagem_Origem ..................................... 90
Anexo 2.20.8 T01Incos02 – Percentagem: Percentagem_Distribuição .............................. 90
Anexo 2.20.9 T01Incos02 – Rendas: Rendas_TMP ............................................................. 90
Anexo 3 – Relatório final ............................................................................................................. 91
Anexo 4- Relatório Incos Validações Iniciais ............................................................................... 93
Índice de Gráficos
Gráfico 1 - Género dos colaboradores ........................................................................................ 14
Gráfico 2 - Número de colaboradores......................................................................................... 15
Gráfico 3 - Idade Média dos colaboradores ................................................................................ 15
Gráfico 4 - Títulos Escolares ........................................................................................................ 15
Índice de Tabelas
Tabela 1 - Software ..................................................................................................................... 21
Tabela 2 - Ficheiros a extrair do Excel ......................................................................................... 24
Tabela 3 - Tabelas da BD “01_Custos_SAN.accdb” ..................................................................... 24
Tabela 4 - Tabelas da BD "01Custos_SAN.accdb" (Continuação) ............................................... 25
Tabela 5 - Tabelas de suporte à criação da T01Incos02 .............................................................. 25
Tabela 6 - Precedências para criação das Incos .......................................................................... 29
Tabela 7 - Exemplos de validações finais .................................................................................... 31
Tabela 8 - Agregar dados T01Incos01 ......................................................................................... 42
Tabela 9 - Agregar dados T01Incos02 ......................................................................................... 45
Tabela 10 - Dados obtidos na tabela Tecnologia_Midat ............................................................. 46
Tabela 11 - Dados obtidos na tabela Tecnologia_Conceitos ...................................................... 46
Tabela 12 - Exemplos de dados obtidos na tabela Tecnologia_Diferença .................................. 46
Tabela 13 - Diferença <0 ............................................................................................................. 47
Tabela 14 - Agregar dados T01Incos03 ....................................................................................... 51
Tabela 15 - Agregar dados T01Incos04 ...................................................................................... 51
Tabela 16 - Agregar dados F01Incos05 ....................................................................................... 52
Tabela 17 - Ficheiros utilizados no Desglose ............................................................................... 56
Tabela 18 - Selecionar Ficheiros .................................................................................................. 77
Tabela 19 - T01Incos01_H ........................................................................................................... 77
Tabela 20 - T01Incos02_H ........................................................................................................... 78
Tabela 21 - T01Incos03................................................................................................................ 78
Tabela 22 - T01incos04................................................................................................................ 79
Tabela 23 - F01Incos05................................................................................................................ 79
Tabela 24 - F01Incos06................................................................................................................ 80
Tabela 25 - F01Incos01-02_ANT.................................................................................................. 80
Tabela 26 - T_MES ....................................................................................................................... 81
Tabela 27 - Balancetes ................................................................................................................ 81
vi
Tabela 28 - Balancete_ContasMOV............................................................................................. 81
Tabela 29 - Ficheiro_Contabilidad............................................................................................... 82
Tabela 30 - GLL ........................................................................................................................... 82
Tabela 31 - SAL ............................................................................................................................ 83
Tabela 32 - Midat ........................................................................................................................ 83
Tabela 33 - Contas ....................................................................................................................... 84
Tabela 34 - Centros ..................................................................................................................... 84
Tabela 35 - Matriz Dedicação ...................................................................................................... 85
Tabela 36 - Conceptos Cargabal .................................................................................................. 85
Tabela 37 – Month1 .................................................................................................................... 85
Tabela 38 - T01Incos05_Aux ....................................................................................................... 86
Tabela 39 - T01Incos06_Aux ....................................................................................................... 87
Tabela 40 - F01Incos06_Mes ....................................................................................................... 87
Tabela 41 - F01Incos02_RH ......................................................................................................... 88
Tabela 42 - DCRH_centro_6971 .................................................................................................. 88
Tabela 43 - Tecnologia_Midat ..................................................................................................... 89
Tabela 44 - Tecnologia_Conceitos............................................................................................... 89
Tabela 45 - Tecnologia_Diferença ............................................................................................... 89
Tabela 46 - Tecnologia_Prioridades ............................................................................................ 90
Tabela 47 - Percentagem_Origem............................................................................................... 90
Tabela 48 - Percentagem_Distribição ......................................................................................... 90
Tabela 49 - Rendas_TMP ............................................................................................................. 90
Índice de Figuras
Figura 1 - Visão e Criação de Valor .............................................................................................. 13
Figura 2 - Organograma da Direção de Controlo de Gestão ....................................................... 19
Figura 3 - Form inicial “Incos” ..................................................................................................... 26
Figura 4 - Incos - Selecionar Ficheiro........................................................................................... 26
Figura 5 - Erro - Selecionar ficheiros ........................................................................................... 27
Figura 6 - Preencher "T_MES" ..................................................................................................... 27
Figura 7 - Mês em Análise ........................................................................................................... 28
Figura 8 - Ficheiro Excel das Interfaces ....................................................................................... 29
Figura 9 – Ficheiro texto das Interfaces ...................................................................................... 30
Figura 10 - Msg Box primeira paragem ....................................................................................... 31
Figura 11 - Form Processo Detalhado ......................................................................................... 32
Figura 12 - Abrir Form ................................................................................................................. 33
Figura 13 - Backup de históricos ................................................................................................. 33
Figura 14 - Botão 1 – Atualizar Históricos ................................................................................... 34
Figura 15 - Botão 2 - Limpar Tabelas T01 .................................................................................... 34
Figura 16 - Botão 3 - Cópia de segurança.................................................................................... 35
Figura 17 - Botão 4 - Preparar tabelas F01 ANT .......................................................................... 35
Figura 18 - Botão 5 - Limpar tabelas F01 ANT ............................................................................. 36
Figura 19 - Botão 6 - Atualizar T_MES ......................................................................................... 36
Figura 20 - Input Box Fec_Data ................................................................................................... 36
vii
Figura 21 - Msg Box "Processo Concluído!" ................................................................................ 37
Figura 22 - 1º Parte do Processo ................................................................................................. 37
Figura 23 – Comparações F01Incos06 ......................................................................................... 38
Figura 24 - Agregar dados F01Incos06 com driver01 .................................................................. 39
Figura 25 - Agregar dados F01Incos06 com driver02 .................................................................. 39
Figura 26 - Importar ficheiro ....................................................................................................... 40
Figura 27 - Consultas para auxiliar na importação de ficheiros .................................................. 40
Figura 28 - Centros ou Contas Novas .......................................................................................... 41
Figura 29 - Agregar dados T01Incos01 ........................................................................................ 41
Figura 30 - Gerar T01Incos02 ...................................................................................................... 43
Figura 31 - T01Incos02 DCRH ...................................................................................................... 43
Figura 32 - Tratamento T01Incos02: DCRH ................................................................................. 44
Figura 33 - Preencher Tecnologia_Midat .................................................................................... 45
Figura 34 - Centros percentagem ................................................................................................ 48
Figura 35 - Dados das tabelas Percentagem ............................................................................... 48
Figura 36 - Dados das tabelas Preparar1 e Preparar2................................................................. 48
Figura 37 - Tratamento de Rendas .............................................................................................. 49
Figura 38 - Relatório Rendas ....................................................................................................... 49
Figura 39 - Validações e Relatório de Erros................................................................................. 50
Figura 40 - Relação entre centros ............................................................................................... 52
Figura 41 - Verificar duplicados na F01Incos01........................................................................... 52
Figura 42 - Produzir Interfaces .................................................................................................... 53
Figura 43 - Gravar Interfaces ....................................................................................................... 54
Figura 44 - Gerar Interface .......................................................................................................... 54
Figura 45- Ficheiro 1 - Desglose .................................................................................................. 57
Figura 46 - Preparação_BD.xlsm - Folha Macro .......................................................................... 58
Figura 47 - Preparação_BD.xlsm - Folha Cabeçalhos .................................................................. 58
Figura 48 - Preparação_BD.xlsm - Folha Desglose ...................................................................... 59
Figura 49 - Preparação_BD.xlsm - Folha Book ............................................................................ 60
Figura 50 - BOOK_x.xlsx............................................................................................................... 60
Figura 51 - Xanomes_cformulas.xlsx - Folha BASE ...................................................................... 61
Figura 52 - Validações folha BASE ............................................................................................... 61
Figura 53 - Xanomes_cformulas - Folha LOCAL ........................................................................... 62
Figura 54 - Xanomes_cformulas - Folha GI.................................................................................. 62
Figura 55 - Custos_x.xlsx ............................................................................................................. 63
Figura 56 - Custos_X.xlsx ............................................................................................................. 63
Figura 57 - Formda Macro Mapas Desglose ................................................................................ 64
Figura 58 - Especificar ficheiro Desglose ..................................................................................... 65
Figura 59 - Selecionar ficheiro Desglose ..................................................................................... 65
Figura 60 - Macro Gerar Book ..................................................................................................... 66
Figura 61 - Validações Book ........................................................................................................ 67
Figura 62 - Macro Gerar Destino ................................................................................................. 68
Figura 63 - Macros....................................................................................................................... 68
Figura 64 - Controlo de Custos .................................................................................................... 69
Figura 65 - T01Incos03_Aux ........................................................................................................ 86
viii
Figura 66 - Relatório Final ........................................................................................................... 92
Figura 67 - Relatório Final - Parte II ............................................................................................. 92
Figura 68 - Relatório de Validações Iniciais ................................................................................. 93
ix
Lista de Siglas/Acrónimos
AC – Atividades Corporativas
AN - Área de Negócio
BD – Base de Dados
DD – Dicionário de Dados
RH - Recursos Humanos
SI – Sistemas de Informação
x
Resumo
Assim, este projeto tem como objetivo automatizar um conjunto de tarefas repetitivas
através da criação de macros ou código Visual Basic para Aplicações (VBA) e permitir a sua
utilização a longo prazo. Desta forma, pretende-se introduzir a programação em VBA como
uma ferramenta simples de cálculo, levando a uma utilização das normais folhas de cálculo
(neste caso, o Microsoft Excel) e de Bases de Dados (neste caso, o Microsoft Access) com mais
eficiência e versatilidade, bem como proporcionar uma maior rapidez na elaboração de
tarefas.
xi
Abstract
This project was developed in Santander Totta, more specifically in the Cost Control
Division (CCD) which is part of the Management Control Department (MCD) in order to
automate repetitive tasks. The project allowed the graduate student prepare a report in order
to complete her Master in Organizational Information Systems, enabling the graduate student
the ability to test and consolidate skills/knowledge acquired during the Bachelor and Master,
autonomously, and enhance an innovative and enriching experience in the real world of
organizations and work.
This project aims to automate a series of repetitive tasks by creating macros or Visual
Basic for Applications (VBA) code and allow its use in the long term. Thus, programming is
intended to introduce in VBA as a tool of calculation, leading to a use of standard spreadsheet
(in this case, Microsoft Excel) and data bases (in this case, Microsoft Access) with more
efficiency and versatility as well as providing greater speed in the development tasks.
The methodology used during the project was the research methodology. As the VBA
language was new to the graduate student, she has carried out several surveys in order to
collect information and gain knowledge to understand the language in question and possible
their practical application aimed at solving the problem in question. Moreover, was usead a
forming method consisting to transmitting the knowledge to the graduate student. This
knowledge was transmitted over meetings in which was explained and manually demonstrated
the procedures performed in a job file for later a graduate student be aware of the steps to be
followed in order to be automated and executed in the same way, but as soon as possible.
VBA is a programming language that allows users to program macros to effect complex
tasks within an application. With Excel VBA can develop minor procedures (macros and/or
functions) that will make the process easier and less time-consuming for the organization. On
the other hand, the VBA also offers a set of tools that let you create custom applications based
on the elements and the Access database objects. For example, you can create a routine with
VBA in a database called bd1.mdb. This routine allows access to data in a second database in
the network, for example, bd2.mdb. The same routine can do calculations, consolidations,
generate the results in Excel format and save in the network or on a page in HTML format. The
VBA is a very powerful programming language that lets you develop real programs that will
effect in a few minutes very complex tasks.
xii
Prefácio
A elaboração deste projeto não teria sido possível sem a colaboração e incentivo de
diversas pessoas. Gostaria de expressar toda a minha gratidão e apreço a todos aqueles que,
direta ou indiretamente, contribuíram para que este projeto se tornasse uma realidade. A
todos quero manifestar o meu sincero agradecimento.
Em primeiro lugar, ao meu orientador João Paulo pelo seu aconselhamento, partilha
de informação e disponibilidade ao longo do projeto. Por me ter sempre apresentando as suas
críticas e sugestões e por me ter dado a liberdade de ação que foi decisiva para que este
trabalho contribuísse para o meu desenvolvimento pessoal e profissional.
Aos meus pais e à minha irmã, que estiveram sempre presentes com as suas palavras
de apoio e motivação.
Aos meus amigos que nunca estiveram ausentes, agradeço a amizade e o carinho que
sempre me disponibilizaram.
A todos, obrigada por permitirem que este projeto seja uma realidade.
xiii
1. Introdução
“Quando se pensa em projetar algo de novo, torna-se conveniente recorrer a modelos que
representem aquilo que irá ser desenvolvido. Esses modelos constituem assim uma
representação abstrata de uma realidade projetada para o futuro”, (Nunes, 2001:2).
A sua automatização irá permitir tornar os processos mais rápidos e permitir que os
projetos sejam entregues à hora certa e da melhor forma possível. Os processos da área de CG
são feitos tendo em conta precedências, por exemplo a área X só pode iniciar o seu processo
quando a área Y terminar o seu. Basicamente, a área de Controlo de Custos recebe
determinada informação, trata-a, envia-a para Espanha para validação e disponibiliza esta
informação às restantes áreas do Controlo de Gestão. Mas Espanha pode não aprovar a
informação recebida e esta volta para trás. Se os processos não forem feitos a tempo irão
prejudicar os processos da área seguinte atrasando assim o fecho do projeto. Por isso é
1
necessário automatizar processos de forma a permitir que estes sejam terminados em 15% do
tempo total da criação do mesmo. Para que estes sejam criados diversas vezes e o mais rápido
possível para não prejudicar os prazos de entrega. Porque enquanto manualmente os
utilizadores demoravam cerca de uma hora a criar determinar processo, neste momento
demoram 15 minutos.
Este relatório teve como objetivo a descrição das atividades desenvolvidas pela estudante
durante os nove meses de estágio profissional no Santander Totta, uma empresa do sector da
banca. O objetivo e o interesse no desenvolvimento deste projeto decorreram da necessidade
de facilitar e aligeirar tarefas repetitivas, através da automatização de dois ficheiros da DCG da
organização, um em Excel e outro em Access. Assim, os principais objetivos gerais para o
tratamento dos dois ficheiros são:
Deve ser criada uma form que permita tratar o ficheiro;
Tratar o ficheiro em questão clicando apenas num único botão e o mais rápido
possível;
Deve ser possível correr o código de uma vez e devem haver também vários
botões na form que possibilitem correr o código passo a passo;
Deve ser apresentado um relatório ou algo semelhante que valide cada ficheiro,
ou seja, deve ser possível comparar por exemplo os registos recebidos no ficheiro
inicial e verificar se existem os mesmos no ficheiro final;
Criar uma estrutura user-friendly e que permita alterar facilmente o código sem ter
de recorrer ao VBA.
2
1.3.1 Atividades realizadas na Divisão de Controlo de Gestão de Custos
Como já foi dito anteriormente, foram tratados dois ficheiros na DCGC. O ficheiro Desglose
tratado no Excel através da criação de macros e código VBA e o ficheiro Incos tratado no
Access, além de automatizado através de macros e código VBA, também foi automatizado
através de tabelas, queries, relatórios e formulários. Assim, as atividades previstas para cada
ficheiro foram as seguintes:
Por outro lado, no processo de envio das Incos são realizadas as seguintes atividades:
criação de form para agrupar todas as tarefas de arquivo/preparação das tabelas para início do
processo. Automatizar o processo de tratamento dos dados dos ficheiros recebidos para
inserção nas tabelas. Criação de form para agrupar todas as validações existentes sobre os
dados carregados nas tabelas para envio nas interfaces. Extração de informação para
interfaces em Excel (criação de interfaces de custos).
Na seção 4.2 é possível compreender melhor a estrutura do ficheiro Incos e os
procedimentos para tratamento do mesmo.
1.4 Metodologia
3
Por outro lado, foi utilizada uma metodologia de formação que consistiu na
transmissão de conhecimentos do responsável pela área de Gestão de Custos à mestranda
sobre os conceitos tratados na mesma. Esta formação foi essencial para a mestranda
compreender que objetivos se pretendiam atingir e como e proceder à sua elaboração através
da criação de macros e código VBA. Estes conhecimentos foram transmitidos através da
realização de reuniões em que se explicava e demonstrava manualmente os procedimentos
realizados num determinado ficheiro de trabalho para posteriormente a mestranda ter noção
dos passos a executar e a este ser automatizado e executado da mesma forma, mas o mais
rapidamente possível e de uma vez só, clicando num único botão. Apesar que também deverá
ser possível fazer o processo detalhadamente.
Resumindo, a integração nos processos e tarefas da área em questão, foi realizada através
da leitura de documentos e acompanhamento de tarefas, com o intuito de aumentar
competências e adquirir conhecimentos que permitiram proceder à elaboração de propostas
de automatização e simplificação, destes processos e tarefas, e respetiva execução, através do
Microsoft Access e Excel, utilizando macros e código VBA.
4
2. Enquadramento Teórico
O Visual Basic for Applications (VBA) é uma linguagem de programação que é baseada no
Visual Basic e está concebido para funcionar em conjunto com diferentes aplicativos da
Microsoft, tais como o Excel, o Word, o Project, o Acces e outras aplicações desenvolvidas pela
empresa, (Peres, 2005:181).
Esta linguagem foi a linguagem utilizada pela mestranda durante o seu projeto no
Santander Totta. O principal objetivo para a utilização desta linguagem, foi pelo simples facto
de os utilizadores realizarem as suas tarefas repetitivas em aplicativos Microsoft, e assim,
tornou-se necessário automatizar essas tarefas nos mesmos de forma aos utilizadores
continuarem a utilizar os aplicativos em que se sentem à vontade.
A utilização do computador como uma ferramenta de cálculo torna-se cada vez mais
importante pois permite a execução de tarefas repetidas, que de outra forma demorariam
imenso tempo a executar e com potencial introdução de erros humanos. Desta forma, uma
solução passa pela utilização da programação em Visual Basic para Aplicações (VBA) nas
organizações como uma ferramenta simples de cálculo, levando a uma utilização das normais
folhas de cálculo (neste caso o Microsoft Excel) com mais eficiência e versatilidade, bem como
proporcionar uma iniciação ao cálculo numérico, normalmente utilizado para resolução de
problemas relacionados com ajustes ao orçamento através da manipulação de vários ficheiros
recebidos.
5
O VBA é uma linguagem de programação que é baseada no Visual Basic e está concebido
para funcionar em conjunto com diferentes aplicativos da Microsoft, tais como o Excel, o
Word, o Project, o Acces e outras aplicações desenvolvidas pela empresa, (Peres, 2005:181).
O seu principal uso é para fazer tarefas repetitivas, mas o VBA permite automatizar essas
tarefas de forma a serem realizadas de forma mais rápida e eficaz.
O Microsoft Excel é uma poderosa folha de cálculo que dispõe de inúmeras ferramentas
para tratamento, simulação, análise, partilha e proteção de dados.
Segundo Mário Pinto, “A formatação de dados e de folhas de cálculo é facilitada pela
existência de diversas galerias de formatos predefinidos, bastando ao utilizador selecionar o
formato mais adequado ao seu caso. Como ferramenta de cálculo que é, o Excel possibilita a
utilização de fórmulas e o recurso a funções predefinidas, organizadas em diversas categorias.
Com base nos dados das folhas de cálculo é possível elaborar os mais variados tipos de
gráficos, ordenar listas de dados, consultar dados com base na definição de critérios (filtros de
dados), criar listas de subtotais, proteger e partilhar folhas de cálculo em ambiente
colaborativo”, (Excel 2010, 2011:5).
6
nome da função e dos argumentos inseridos entre parenteses. Os argumentos correspondem
à informação que a função necessita para realizar determinada operação. Todas as funções
seguem a seguinte sintaxe: “=Nome_Função(Argumento1, Argumento2, …, ArgumentoN)”,
(Peres, 2005:64).
O Excel é, de longe, a ferramenta informática mais usada pelas empresas de todo o mundo
uma vez que permite o apoio à administração e gestão, preparação e análise de resultados
financeiros, orçamentação, controlo de custos, avaliação de projetos de investimento, entre
outros processos de apoio à tomada de decisão.
2.2.1 Excel
O Visual Basic for Applications (VBA) é uma linguagem de programação que associada,
ao Excel, permite um total controlo da folha de cálculo. Cada ficheiro excel pode conter um
projeto VBA e um programa pode ser constituído por vários ficheiros. Por exemplo, posso
limpar o ficheiro 2 a partir do ficheiro 1. O objetivo da utilização do VBA é a automatização de
tarefas que envolvam objetos. Basicamente, o Excel está organizado numa coleção de objetos.
Cada botão, barra de ferramenta, folha de cálculo ou célula é um objeto, (Peres, 2005:181).
Basicamente tudo o que é feito manualmente pelos utilizadores, como abrir e fechar
ficheiros, copiar folhas e colar numa nova folha, configurar páginas, efetuar cálculos, etc, pode
ser feito através da programação, o que leva a que estes procedimentos básicos sejam
concluídos em metade do tempo.
7
2.2.2 Funcionalidades do excel
Uma macro é um pequeno programa que contém uma lista de instruções. Por ser um
repositório de operações, uma macro pode executar um conjunto de tarefas mediante um
único procedimento que pode ser invocado rapidamente. As instruções que formam o corpo
da macro são escritas num código próprio, para que o computador possa compreendê-las,
designado VBA. Para criar macros, existem duas possibilidades: por meio de gravação de
macros ou utilizando o editor e programador em VBA. [Silva, Joel, Alvaro, Alexandre, 2007:11]
Ou seja, o objetivo das macros é programar funções típicas do Microsoft Excel de forma a
facilitar a execução de tarefas repetitivas. A criação de uma Macro é semelhante à gravação de
uma cassete, inicia-se a gravação e realiza-se a tarefa pretendida que é convertida
automaticamente em código VB. A tarefa pode ser, por exemplo, abrir um determinado
ficheiro, selecionar colunas a copiar e colar no ficheiro inicial e realizar um determinado tipo
de gráfico. Com a utilização da macro podemos repetir este conjunto de tarefas o número de
vezes que for necessário poupando bastante tempo no caso de estarmos a analisar uma
grande quantidade de resultados.
8
disponibilizar meios de desenvolvimento de novos sistemas e facilitar a manutenção do
sistemas construídos segundo esta tecnologia, (Pereira, 1998).
Segundo Pereira, (1998), num Sistemas de BD “os dados são organizados num único
conjunto, ou seja, em vez de estarem separados por várias unidades independentes, os dados
encontram-se integrados numa só unidade de armazenamento, física ou lógica”.
Todos os acessos aos dados passam por uma entidade designada Sistema de Gestão de
Base de Dados (SGBD), que centraliza em si o acesso físico à BD. A BD encontra-se armazenada
num conjunto de ficheiros, organizados num tipo de memória de caraterísticas não voláteis,
mas de forma transparente aos utilizadores e a todo o nível aplicacional, que não desce a esse
nível de detalhe. O SGBD será então a entidade responsável que manipula a BD, atendendo às
necessidades organizacionais, (Pereira, 1998).
Segundo Virginia (2007), uma base de dados é uma coleção organizada de informações
relacionadas usadas para uma finalidade específica.
O principal objetivo da escolha da utilização da BD por parte dos utilizadores foi pelo
simples facto desta permitir reduzir ou mitigar a redundância, mas principalmente pelo
isolamento entre os programas e os dados, uma vez que contribui para a obtenção de
informação com qualidade (correta, atual, relevante, disponível na altura correta e com o
formato adequado), destacando-se a sua produtividade e desenvolvimento.
As bases de dados estão cada vez mais presentes nas tarefas básicas do nosso quotidiano.
O método de programação userfriendly tornou o Microsoft Access no sistema de gestão de
bases de dados relacionais, para aplicações desktop, por excelência.
2.3.1 Access
O Microsoft Access 2010 é uma base de dados relacional que inclui centenas de
ferramentas para rapidamente procurar, tratar e partilhar de informações, mesmo para
utilizador que não tenho conhecimentos base em bases de dados, uma vez que estes têm
acesso a uma grande biblioteca de modelos concebidos pelo programa: basicamente existem
assistentes que criam automaticamente tabelas, formulários, consultas e relatórios.
O Access suporta a partilha de dados com outras fontes, incluindo outros
programadas do Microsoft Office 2010, Microsoft SQL Server, Formatos HTML, PDF e outros.
Basicamente o seu principal objetivo é disponibilizar recursos avançados que
permitem ao utilizar criar aplicações sofisticadas numa base de dados de forma a reunir e
visualizar dados sem precisarem saber nada sobre o design da base de dado ou o seu
desenvolvimento, (Cox, Lambert, 2010).
9
O Microsoft Access é um Sistema de Gestão de Base de Dados (SGBD) relacional em
ambiente gráfico (Windows), que possibilita ao utilizador o armazenamento, organização e
gestão dos dados de uma forma simples e direta. Basicamente é uma aplicação interativa para
o Microsoft Windows, o que significa que tem capacidade para relacionar dados provenientes
de diferentes origens.
O Access uma ferramenta constituída por um conjunto de objetos como tabelas, consultas,
formulários, relatórios, macros e módulos, que visam o armazenamento, edição, apresentação
ou gestão de um conjunto de dados, (Microsoft Access, 2010:5).
A grande vantagem do Access é que esta BD não implica que os utilizadores sejam
programadores. Os dados podem ser manipulados através de consultas que permitem criar
uma ação sobre uma tabela, por exemplo, eliminar todos o conteúdo da tabela 1, adicionar ou
atualizar um campo de uma tabela com conteúdo de uma outra tabela ou fazer uniões entre
tabelas; através de forms que são Windows criadas, organizadas de forma atractiva e colorida,
pelos utilizadores e que proporcionam uma forma mais fácil de visualizar ou alterar
informação de uma tabela; através de relatórios que auxiliam na impressão ou visualização de
informação que consta numa determinada tabela; através de macros que são mini programas
que automatização determinada tarefa e são uma simples forma de programar tarefas sem ser
programador; e através de módulos que são ficheiros que contêm o código do VBA. Este
código pode ser utilizado para actualizar 10000 registos e enviar para um email, (The missing
manual, 2010:24).
Uma macro é uma maneira de automatizar uma tarefa ou uma série de tarefas numa base de
dados. Uma macro é um objeto, assim como tabelas, consultas, formulários e relatórios. A
maioria das macros são acionadas por eventos como por exemplo, abrir um formulário através
de um clique num botão, (Themissing manual, 2010).
10
pesquisa, alteração ou aperfeiçoamento com o objetivo de tornar mais eficiente e amigável o
tratamento de dados, (Azevedo, Abreu, Carvalho, 2002).
11
3. Apresentação da Organização
3.1 História
12
3.2 Missão, Visão e Cultura
A figura 1 – visão e criação de valor tem como objetivo explicar a visão e valores do
banco em quatro perspetivas diferentes, sendo elas: visão dos funcionários, clientes,
sociedade e acionistas.
Visão – A visão é serem o melhor banco comercial, ganhando a confiança e a fidelidade dos
funcionários, clientes, acionistas e da sociedade, (Botín, 2014:8).
1.1 Melhor banco para os seus funcionários - Atrair, reter e comprometer os melhores
profissionais capazes de prestar o melhor serviço aos seus clientes e garantir o sucesso
e a sustentabilidade do negócio.
1.2 Melhor banco para os seus clientes - Construir relações de confiança a longo prazo
com os seus clientes, oferecendo soluções simples, personalizadas, um tratamento
justo e equitativo, e um serviço excelente por meio das nossas agências e canais
digitais, visando aumentar a sua satisfação e vinculação com o Banco.
1.3 Melhor banco para os seus acionistas - Obter uma rentabilidade e um retorno atrativo
e sustentável para os seus acionistas, com base num modelo de negócio com alta
recorrência de receitas, prudente em riscos, eficiente e com disciplina de capital e
solidez financeira.
1.4 Melhor banco para a sociedade - Desempenhar a atividade bancária contribuindo para
o progresso econômico e social das comunidades em que estão presentes, de maneira
responsável e sustentável, com compromisso especial com o ensino superior, (Botín,
2014:8).
Cultura – A nossa cultura baseia-se na crença de que tudo o que fazemos deve ser Simples,
Pessoal e Justo (Simple, Personal and Fair), (Botín, 2014).
13
Um banco simples oferece aos seus clientes produtos fáceis de entender e um serviço
de qualidade, com independência de como, quando e onde querem trabalhar
connosco. Um banco simples melhora os seus processos a cada dia, tornando-os mais
fáceis, claros e acessíveis para seus clientes e equipas.
Um banco pessoal valoriza e trata os seus clientes como se fossem únicos, oferecendo
um atendimento profissional e personalizado em que sempre possam confiar. Ao
mesmo tempo, apoia os seus funcionários para que desenvolvam todo o seu potencial
e alcancem seus sonhos.
Um banco justo trata as pessoas como elas gostam de ser tratadas e oferece aos
investidores uma rentabilidade sustentável, além de contribuir para o
desenvolvimento da sociedade, (Botín, 2014:8).
Esta seção pretende dar ênfase aos Recursos Humanos do departamento do banco em que
a mestranda se encontrou inserida, nomeadamente, da Direção de Controlo de Gestão (DCG).
Assim foram elaborados diversos gráficos relativamente ao género dos profissionais, ao
género, à idade média e ao seu nível escolar.
42% homens
58% mulheres
14
Número de colaboradores
Direção
5%
Banca Comercial
20%
35% Custos
20%
Banca, AC e
20% ALCO
Grupo
Consolidada
Através do gráfico 2 é possível verificar que a área com mais profissionais é a Banca
Comercial, mas tirando isso, a distribuição é uniforme pelas restantes áreas.
Elaborou-se o gráfico 3 por forma a dar enfase à idade média dos colaboradores da DCG.
Idade Média
0%
<30
Como já era previsto, a idade média ronda os 41-50 anos. Isto porque a organização dá
segurança em termos de trabalho aos seus colaboradores. E praticamente todos os
colaboradores trabalham na organização desde sempre.
Títulos Escolares
10% 0% 16%
Secundário
21% Licenciatura
53% Pós-Graduação
Mestrado
15
Através do gráfico 4 é possível verificar que, apesar de grande parte ter secundário ou
pós graduação feita, a maioria dos colaboradores tem licenciatura concluída.
16
elaboração e envio dos inputs necessários à alimentação do sistema, análise e revisão dos
resultados e elaboração dos relatórios de gestão;
- Elaborar o orçamento de custos por conceitos de custo, centro de custos dentro das
funções de Controlo de Gestão no modelo de Gestão Integral do Gasto, nomeadamente a
manutenção do ERP-SAP na vertente de controlo orçamental;
- Realizar o seguimento e análise dos custos operativos e investimentos ao nível do Grupo
Santander Totta;
- Proceder à elaboração de reportes de gestão relativos à evolução de custos de
transformação (custos com pessoal, gastos gerais e amortizações) e imobilizado face ao
orçamento e histórico, (Organização e Estrutura: Alterações Orgânicas – DCG 2014, 2014).
- Elaborar o orçamento anual para cada uma das Áreas de Negócio, de Produto e
Segmentos da Banca Comercial;
- Manter um sistema de seguimento, controlo, previsão, explicação e reporting para as
diferentes Áreas de Negócio, de Produto e de Segmentos desvios e variações, face ao
Orçamento e Ano Anterior;
- Elaborar mensalmente a estimativa de spread’s e volumes, por área de negócio;
- Elaborar notas, reportes e apresentações para o Grupo Santander, Comissão Executiva,
Áreas de Negócio e Suporte sobre o desempenho das diversas Áreas de Negócio, Áreas de
Produto e Segmentos da Banca Comercial;
- Parametrizar o MIS relativamente a Produtos, Centros (garantir a coerência com a
estrutura orgânica e funcional do Banco), Segmentos, Perfis de Utilizadores, etc., assim como a
validação da sua efetiva entrada no sistema;
- Garantir a qualidade da informação prestada pelo MIS, através de testes periódicos de
validação e reconciliação com as aplicações e contabilidade;
- Proceder ao reporte à Direção de Tecnologia e Sistemas de Negócio de eventuais
incorreções identificadas no funcionamento regular do sistema de informação, e realização
dos testes de verificação e validação necessários para garantir a qualidade das alterações
efetuadas;
- Coordenar com a Direção de Coordenação de Tecnologia e Sistemas de Negócio o
desenvolvimento de novas funcionalidades do sistema de informação, desenhando para tal as
especificações funcionais do pretendido, e controlando o back-log de desenvolvimento e
correcções, (Organização e Estrutura: Alterações Orgânicas – DCG 2014, 2014:1).
17
3.4.1.3 Divisão de Controlo de Gestão do Grupo Consolidado
- Elaborar o orçamento anual da Margem Financeira, suportado pelo detalhe de cada uma
das Áreas de Negócio e de suporte;
- Manter e desenvolver um sistema de seguimento, explicação, previsão e controlo dos
diferentes agregados das demonstrações financeiras do Banco;
- Elaborar mensalmente estimativas de resultado do Banco, procedendo à sua revisão e
justificação de desvios, após o mês fechado;
- Elaborar a Nota Informativa mensal sobre a evolução da margem financeira do Banco, de
Atividades Corporativas e do ALCO;
- Realizar a reconciliação dos resultados de gestão com os resultados contabilísticos e de
risco de mercado;
- Coordenar e articular com as diferentes áreas de negócio e de suporte a elaboração e
reporte do orçamento anual das sociedades que integram a área de Asset Management e das
áreas de negócio da Banca Maiorista Global (Global Banking & Markets), Banca Maiorista Local
e Gestão de Ativos;
- Manter um adequado controlo de custos da GBM e das sociedades da área de Asset
Management;
- Coordenar e elaborar as estimativas de fecho mensais e anuais dos resultados agregados
da área de Asset Management e do negócio GBM;
18
- Elaborar notas, reportes e apresentações para o Grupo Santander, Comissão Executiva,
Áreas de Negócio e Suporte, sobre a atividade dos diferentes negócios da Banca Maiorista
Global e local;
- Elaborar o relatório mensal com informação qualitativa sobre a evolução dos resultados
da área de Asset Management e das áreas de negócio de Banca Maiorista, justificando os
principais desvios para o orçamento e variações face ao ano anterior;
- Garantir a qualidade da informação prestada pelo MIS Corporativo (MIS Clientes),
(Organização e Estrutura: Alterações Orgânicas – DCG 2014, 2014:1).
Diretor/Coordenador de
Controlo de Gestão e
Capital
Direção de Controlo de
Gestão
19
Segundo a figura 2, o organograma encontra-se dividido por grupos de profissionais em
que a posição superior ocupa um cargo na Direção/Coordenação de Controlo de Gestão e
Capital – constituída por uma pessoa; e o cargo seguinte ocupa uma posiçao na Direção de
Controlo de Gestão - constituída por uma pessoa.
Por sua vez, a DCG é constituída por quatro divisões, e no sentido de melhor estruturar o
trabalho, cada divisão tem um responsável. A DCGBC é constituída por sete pessoas e a
DCGGC, DCGC e DCGBACA são constituídas por quatro; sendo que a idade média dos
colaboradores se situa entre os 41-50 anos e a formação académica predominante é a
licenciatura.
Alguns dos colaboradores não têm formação na área, e por exemplo, os que fizeram
licenciatura num curso diferente, optaram por fazer uma pós graduação com o intuito de se
formarem numa área da Banca.
Basicamente cada divisão da DCG tem um chefe que é responsável por fazer um report à
Direção de Controlo de Gestão e posteriormente à Capital e à Direção de Controlo de Gestão.
A caraterização dos SI/TIC no âmbito deste trabalho vai centrar-se na abordagem de expor
o hardware/software utilizados pela mestranda e que foram imprescindíveis para a realização
deste projeto e continuarão a ser utilizados futuramente.
Hardware
20
Software
21
4. Automatização de tarefas
A tarefa 1 – Interface de Custos tem como principal objetivo automatizar a base de dados
já criada no access, denominada “01Custos_SAN.accdb”. As tabelas e algumas consultas da
base de dados já estavam criadas, assim, o objetivo da automatização foi informatizar os
processos que eram realizados manualmente, sendo este automatismo visualizado e acedido
através de forms.
De forma resumida, o automatismo passa por preencher diversas tabelas intermédias
necessárias para posteriormente preencher as Incos01-07 finais e gravá-las com um formato
texto (.txt), formato adequado para introdução no Sistema Corporativo de Custos (SCC). O SCC
é uma ferramenta utilizada pelo Santander Portugal-Espanha para controlo de custos. Além
disso, na base de dados já existia um esboço de uma form e a mestranda tentou ao máximo
manter a mesma estrutura de forma a esta ser user-friendly.
Antes de ser iniciada a tarefa 1 o orientador disponibilizou um documento com todos os
procedimentos realizados manualmente e que se encontra no Anexo 1 – Procedimentos na
criação das Incos.
Este documento funciona como um guião formal que a mestranda deve usar como base
para automatizar o ficheiro uma vez que inclui todos os passos necessários para a criação do
mesmo. Basicamente todos os procedimentos deviam constar na Form final, sendo que alguns
foram melhorados e outros foram acrescentados uma vez que completavam o processo.
Ao longo desta seção será possível compreender os requisitos base para criação do
ficheiro, os seus procedimentos, a sua estrutura em Access, as queries, os relatórios e a form
para o tratamento das Incos.
4.1.1 Requisitos
22
No fim do processo deve ser possível obter um relatório com todas as validações
existentes, por exemplo, identificar o número de registos existentes em cada tabela.
No fim do processo devem ser automatizadas as sete incos: Incos01, Incos02, Incos03,
Incos04, Incos05, Incos06 e Incos07.
Deve ser possível correr o processo completo clicando num só botão. Mas também
deve ser possível correr o processo detalhadamente, caso exista algum erro.
Criar um código automatizado que evite ao máximo alterações por código VBA por
parte dos utilizadores finais futuramente.
4.1.2 Procedimentos
4.1.3 Access
Neste ponto é possível visualizar com mais detalhe a estrutura dos ficheiros utilizados ao
longo do processo. É de referir que as imagens contêm valores fictícios.
23
4.1.3.1 Ficheiros de suporte à criação das Incos
A tabela 2 indica os nomes dos ficheiros que vão ser importados do Excel para o Access, o
seu objetivo, ou seja, a incos que vão permitir criar, e a tabela que vai ser preenchida com a
importação. A principal função é posteriormente à importação, criar as tabelas “T01Incos0*” e
depois, criar uma cópia da mesma na tabela final “F01Incos0*”, através de consultas e código
VBA.
24
Nome da tabela Objetivo
10 Ficheiro contabilidade Ficheiro recebido pela contabilidade. Essencial para a criação da
Incos01.
11 GLL Tabela não obrigatória.
12 SAL Tabela não obrigatória.
13 MIDAT Ficheiro recebido pela contabilidade. Essencial para a criação da
Incos02. Inclui informação sobre conceitos de grupo.
14 Contas Listagem de todas as contas existentes.
15 Centros Listagem de todos os centros existentes.
16 Matriz Dedicação Informação sobre repartos. Essencial para criar a T01Incos04.
17 Conceptos-Cargabal Permite a relação entre a incos02 e o midat.
18 Month1/Month2 Contêm a informação do Quadro Pessoal e Quadro Pessoal ANT.
19 T01Incos03_Aux Auxilia na criação da tabela T01Incos03.
20 T01Incos05_Aux Auxilia na criação da tabela F01Incos05.
21 T01Incos06_Aux Tabela com dados relativados ao driver02 da T01Incos06.
22 F01Incos06_Mes Tabela de suporte à criação da F01Incos06.
Tabela 4 - Tabelas da BD "01Custos_SAN.accdb" (Continuação)
Por sua vez, a tabela 5 pretende identificar todas as tabelas que servem como auxílio para
o tratamento da tabela T01Incos02.
25
4.1.4 Form para tratamento das incos
a. SELECIONAR FICHEIROS
Ficheiro a ser
selecionado
26
Esta seleção irá permitir completar as tabelas correspondentes com uma ordem
previamente definida, ou seja, a ordem que se encontra na form inicial. E não implica ter de se
selecionar todos os ficheiros, podem ser selecionados só os ficheiros que se prentende para o
caso, porque não é obrigatório correr o processo completo, pode ser corrido o processo
detalhado. Por exemplo, quando for tratada a incos06 o código irá permitir fazer um import
dos ficheiros Excel “Quadro Pessoal” e “Quadro Pessoal ANT” para as tabelas correspondentes
no Access.
I. T_MES
A figura 6 permite visualizar os campos da tabela T_MES. Esses campos podem ser
modificados através da form, atualizando os campos representados na figura. Quando a
informação for atualizada, basta pressionar o botão “GRAVAR” e os dados são inseridos
automaticamente na tabela “T_MES”.
27
A figura 6 representa uma das etapas mais importantes do processo, uma vez que,
primeiramente, e antes de iniciar o processo, é necessário preencher a tabela “T_MES” de
forma a serem inseridas as novas datas através da apresentação de um calendário. Por outro
lado, é selecionada a entidade e a natureza do ficheiro a ser tratado. No Anexo 2 – Tabela
“T_MES” é possível compreender a estrutura da tabela T_MES.
Esta informação é importante, porque a informação final de cada mês é armazenada
em tabelas históricas que inclui toda a informação do ano, e essa informação é diferenciada
através da data. Além de ser atualizada a tabela “T_MES”, a data da form inicial também é
atualizada, como é possível visualizar na figura 7.
II. Processos
Nesta seção é explicado o processo completo na criação das incos, as validações que
devem ser efetuadas após a sua criação e a produção das interfaces finais. Esta seção também
apresenta um botão “Processo Detalhado” que permite aceder a uma sub form para correr o
processo passo a passo.
A partir deste momento existem duas hipóteses para correr o processo. Na primeira
hipótese o processo corre até ao fim sem interrupções:
Situação 1:
28
A criação das incos tem de seguir uma determinada lógica. Na tabela 6 é possível ter
uma visualização das precedências na criação nas Incos.
Basicamente, a incos01 só pode ser realizada se o ficheiro balancetes for carregado. A
incos02 só poderá ser criada após a incos01 estar concluída e após serem carregados os
ficheiros MIDAT e Custos com pessoal. A incos03 e incos04 só podem ser preenchidas após a
incos01 e incos02 estarem terminadas, uma vez que estas incos dependem da análise e dados
dos centros e conceitos das incos01 e 02. A incos06 só pode ser criada se o ficheiro Quadro
Pessoal e Quadro Pessoal ANT forem carregados.
Incos Precedências
A Balancetes -
B Balancetes Contas MOV -
C Ficheiros contabilidade -
D Midat -
E Quadro Pessoal -
F Quadro Pessoal ANT -
G Custos com Pessoal -
H Incos01 Atualização de A e C
I Incos02 D, G e H
a) DCRH G
b) Tecnologia DeH
c) Percentagem DeH
d) Rendas DeH
J Incos03 HeI
K Incos04 HeI
L Incos05
M Incos06 EeF
N Incos07
Tabela 6 - Precedências para criação das Incos
Para cada uma destas situações existem regras no código que obrigam o utilizador a
selecionar os ficheiros necessários para a criação das incos, caso contrário o código é
interrompido e é explicado o motivo. Após a criação das Incos são efetuadas validações às
mesmas tabelas, nomeadamente, eliminação de nulos e duplicados.
29
Basicamente é feito um export das tabelas incos para o excel. Estes ficheiros são para uso
pessoal e para guardar uma cópia dos dados da interface no mês em questão.
Este ficheiro foi criado tendo por base a F01Incos01, como se pode verificar através do
nome do ficheiro representado na figura 9. O seu conteúdo é composto pelos registos da
tabela e são sempre separados por ponto e vírgula. Por sua vez a primeira linha diz respeito a
campos específicos da tabela em questão – colunas “fec_data”, “fec_fichero”, “naturaleza” e
“”. A primeira linha segue uma regra definida por Espanha para leitura do mesmo no SCC.
Por fim, é gerado um relatório “Incos” que inclui validações com todos os pormenores
das tabelas, nomeadamente, número de registos, número de nulos, número de duplicados e
registos desnecessários. É através da análise do relatório que se compreende se o processo
está correto ou se é necessário tratá-lo novamente. Através da eliminação de nulos e/ou
duplicados, por exemplo.
Este relatório foi realizado tendo por base as validações que se encontram nos
procedimentos criados pelos utilizadores e disponibilizados no Anexo 1. O objetivo foi manter
ao máximo a forma de tratamento do ficheiro dos utilizadores de forma a que estes se
adaptem facilmente ao código.
Esse documento descrito no Anexo1 foi baseado nas validações que se encontram num
documento disponinbilizado à àrea por Espanha e que serve de guia para validar se os ficheiros
finais: as interfaces, estão corretas.
30
Este documento não pode ser disponibilizado por questões de confidencialidade, mas
com a ajuda do orientador a mestranda criou a tabela 7 que mostra as principais validações ao
ficheiro de texto final.
Validação Exemplo
Analisar a estrutura do ficheiro de texto O cabeçalho da tabela está correto/incorreto
Verificar a existência de duplicados Existência de dois registos iguais numa tabela
Verificar a integridade da informação O código do conceito de custo informado na
interface não existe
Qualidade dos dados Não foi informado um determinado campo
Coerência de dados entre interfaces Tem de haver coerência entre a informação de
determinada interface. Por exemplo, numa
interface são descritos só os códigos dos centros
e noutra interface deve haver uma descrição de
cada caso. O exemplo disto, é a incos01 e incos05
respetivamente.
Tabela 7 - Exemplos de validações finais
Situação 2:
Depois de já ter sido feita a seleção é feito o preenchimento de alguns dos ficheiros
iniciais (Balancetes, balancetes contas mov, ficheiros contabilidade, GLL, SAL e MIDAT), e
posteriormente é validada a existência de centros ou contas novas no ficheiro contabilidade.
Neste momento pode ocorrer a primeira paragem do processo caso existam registos e é
apresentada uma informação numa MsgBox "Existem contas ou centros novos. O processo
será interrompido.", como é possível visualizar na figura.
31
pelos botões 3 – Validações – que permite gerar o relatório final após validar todas as tabelas
“T01Incos0*” e o botão 4 –Produzir interfaces, que permite criar as interfaces.
Esta seção permite, de uma forma mais fácil e rápida, o acesso às várias tabelas existentes,
de forma a fazer consultas, manutenção de tabelas ou alteração de dados. Na figura é possível
ver um exemplo de uma das forms de acesso às tabelas existentes. O processo encontra-se
dividido em várias partes devido à existência de centros e contas novas e à criação da Incos02.
A Incos02 é a interface que precisa de mais validações manuais e caso o processo completo for
realizado, muito provavelmente será preciso efetuar pequenas alterações manuais à tabela
que irão implicar a que sejam criadas novamente as tabelas F01Incos03 e 04.
Podemos concluir que a form está preparada parar iniciar novamente o processo a partir
do momento em que este parou. Sempre que a form pára devido a erros de dados, é gerado
um relatório de erros com o que já foi processado até ao momento. Com esta informação, o
utilizador sabe a partir de que momento deve começar a correr o código outra vez e está apto
a efetuar alterações manualmente tendo em conta o que foi gerado. Assim o objetivo principal
é manter as alterações manuais que podem ser essenciais para processar a etapa seguinte.
Uma vez que o processo completo foi explicado do ponto de vista do utilizador, o
objetivo desta seção é apresentar uma explicação do processo do ponto de vista do
programador com exemplos de código e consultas do Access.
A sub form representada na figura 11 é divida nos principais processos anteriormente
descritos.
32
Cada botão é composto por uma sub form acedida através de um código específico
como é o exemplo representado na figura 12. Quando este código é executado o Access
procura na BD uma form com o nome idêntico ao definido e maximiza a form.
Como se pode ver na figura 13, esta form inclui os botões atualizar históricos, limpar as
tabelas T01 e F01, cópia de segurança, preparar tabelas F01 ANT e atualizar a tabela T_MES.
33
Naa figura 14 podemos visualizar os códigos necessários para criar o botão 1 existente
na form.
34
Na figura 16 podemos verificar o código do botão 3 que permite guardar num ficheiro
zip a base de dados com informação do mês anterior de forma a salvaguardar a informação.
35
A etapa 1, 3 e 5 deste botão permite limpar as tabelas F01Incos01_ANT,
F01Incos02_ANT e F01Incos01-02_ANT, respetivamente. Posteriormente, os botões 2 e 4
permitem inserir os dados da tabela F01Incos01 e F01Incos02 nas tabelas F01Incos01_ANT e
F01Incos02_ANT respetivamente. O botão 5 serve para limpar a tabela F01Incos01-02_A que
irá conter os dados de ambas as tabelas anteriormente referidas. Assim, no fim do processo,
quando já estiverem criadas as F01Incos01 e F01Incos02 é que se inserem dados na tabela
F01Incos01-02_A. Isto deve-se ao facto de ser mais fácil procurar a informação que se
pretende. Uma vez que a tabela histórica armazena informação com datas do ano e do ano
anterior ou mais antigas.
O código representado na figura 18 está associado ao botão 5 e segue o mesmo
racicionio que o botão 2.
Este botão permite limpar as tabelas finais F01Incos0*. É de referir que as tabelas só
podem ser limpas após a informação contida na tabela final for inserida na tabela histórica. Por
isso é que se torna necessário cumprir a ordem dos botões.
O código da figura 19 é composto por três consultas que têm como objetivo limpar a
informação existente na tabela e de seguida, atualizá-la.
36
A Input Box apresenta um campo que deve ser editado pelo utilizar e tem como
objetivo inserir esse valor numa determinada tabela, neste caso, será inserido na tabela
T_MES. E segundo o descritivo da mensagem que aparece na Input Box podemos perceber que
campo da tabela é que vai ser preenchido.
No fim de cada processo aparece uma mensagem a informar que o processo está
concluído, como é possível verficar na figura 21.
Esta form continua a permitir selecionar os ficheiros pertinentes para o caso, para
que seja possível atualizar algum ficheiro que tenha sofrido atualizadões e tenhas sido enviado
novamente, por exemplo. Ou simplesmente porque o utilizador optou por utilizar o processo
detalhado.
37
O botão 1 permite criar a F01Incos06. Esta tabela é criada através dos ficheiros Quadro
Pessoal e Quadro Pessoal ANT, em que através de uma importação, a sua informação é
inserida nas tabelas “Month1” e “Month2”, respetivamente e que têm a mesma estrutura que
o ficheiro Excel original. Na figura 23 estão representadas as consultas que permitem criar a
F01Incos06. As consultas foram numeradas para simplificar a sua compreensão.
1 2 3 4
5 6 8
7
O objetivo desta primeira parte é comparar os ficheiros Quadro Pessoal e Quadro Pessoal
ANT, ou seja, comparar o mês atual (Tabela Month1) com o mês anterior (Month2) e perceber
se existem centros novos e quais foram fechados.
Assim, na primeira consulta pretende-se inserir na tabela Month 2 todos os centros (CC)
do Month1 que não se encontram no Month2, ordenando-os por ordem ascendente e
inserindo o total correspondente. A consulta um um e dois são têm o mesmo objetivo, mas a
consulta dois pretende inserir dados na tabela Month1. A terceira e quarta consulta fazem
uma atualização às tabelas Month1 e Month2, respetivamente, introduzindo todos os campos
do “CC” com quatro digítos, assim caso exista um campo com o número “236”, este passa a
“0236”. A consulta cinco, permite preencher a tabela F01Incos06_Mes com a informação
aglomerada do mês atual e mês anterior, ou seja, preenche o campo CC com todos os CC do
mês atual e do mês anterior, sem duplicados, e nos campos mês_actual_total e mês_ant_total
os totais referentes aos dois meses. A sexta e sétima consulta, permitem preencher os campos
do total atual e anterior, respetivamente, com o valor “0” sempre que este campo for nulo. A
oitava consulta permite fazer a diferença entre os totais obtidos de forma a perceber se
existem centros novos e quais é que fecharam.
Este passo é um passo intermédio que será essencial para justificar o headcount em
diversos centros.
38
Mas como o objetivo é preencher a F01Incos06, as consultas representadas nas figuras 24
e 25 permitem compreender como se atinge esse objetivo.
1 2
39
No botão 3 é possível preencher várias tabelas através de importações dos ficheiros em
Excel. Na figura 26 é possível ver um exemplo de um caso.
O código presente na figura 26 é composta por quatro consultas e uma importação, como
se pode verificar na figura 27.
1 2 3 4
Por fim, a última consulta passa por inserir – consulta append - a informação da tabela
Balancetes_TMP na tabela Balancetes que tem a mesma estrutura. Foi criada uma tabela
temporária (TMP) para evitar que o código demore imenso tempo a fazer a importação, uma
vez que a tabela Balancetes original é uma tabela histórica e apresenta vários registos, de
vários meses e a sua atualização é demorada. Assim, apesar de serem adicionados os registos
da tabela Balancetes_TMP na tabela BALANCETES, a primeira tabela é que é utilizada nas
consultas porque tem menos dados, logo a sua consulta é mais rápida.
40
Os botões 4 e 5 permitem verificar se existem centros ou contas novas. E podem ser
consultados através das consultas representadas na figura 28.
1 2
Uma vez que as tabelas contas e a tabela centros são tabelas manuais, é necessário
verificar se existe alguma conta ou centro recebidos nos ficheiros balancetes contas mov e
ficheiro contabilidade, respetivamente, que ainda não existam na tabela contas e tabela
centros. A consulta é feita para a data do mês a ser tratado.
O botão 6 permite agregar dados à tabela T01Incos01 através da consulta que se encontra
na figura 29.
A T01Incos01 é criada através da consulta que se encontra na figura 29. Como se pode
verificar através da figura, esta tabela é preenchida através de dados presentes nas tabelas
ficheiros_contabilidade e tabela_contas. Assim, percebe-se que ao correr o processo completo
faz sentido fazer uma paragem caso existam contas novas antes de criar a T01Incos01.
41
As tabelas ficheiros_contabilidad e contas estão relacionadas através dos campos
conta e num_conta respetivamente. Assim, sempre que estes campos tiverem um valor
comum é possível preencher os campos da T01Incos01 como se pode verificar na tabela 8.
Além das tabelas anterioemente descritas, a tabela T_MES serve para pesquisar
apenas na tabela ficheiros_contabilidad dados referentes à data selecionada. Apesar da tabela
não ser temporária, pretendesse evitar erros e adicionar dados de meses anteriores. Por outro
lado, permite inserir na tabela T01Incos01 a fec_data, fec_ficheiro, naturaleza e cod_entidad.
O objetivo da Incos02 é fazer ajustes à incos01. Tendo em conta os valores que estão na
incos01 como terceiros, o processo passa por anulá-los na incos02 e apresentar novos valores
como grupo e com uma sociedade associada. A informação inicial proveniente da incos01 não
é informação sobre intragrupos, vem tudo em terceiros. Assim, esta tabela é criada recorrendo
ao MIDAT que tem informação de intragrupos.
42
valores dos centros da incos01 e anulam-se nos mesmos centros ou em centros diferentes na
incos02, e deve-se verificar se os valores finais dão zero.
Segundo a figura 31, apenas os ficheiros que permitem criar a T01Incos02 é que são
selecionados, pois é o que faz mais sentido. O botão 1, permite criar a tabela MIDAT através
do diretório definido, como já foi explicado na form anterior. O botão 2 limpa a tabela
T01Incos02. O botão 3, 4, 5 e 6 permite tratar a primeira parte da incos que se relacionado
com a anulação dos centros que se encontram na incos01.
De seguida, são eliminados da tabela T01Incos02 (porque este botão pode já ter sido
corrido), todos os registos com a fec_data igual à do T_MES e com os centros iguais ao
encontrados na tabela já referida. Na terceira consulta é feito ao tratamento ao número de
dígitos dos centros, que deve ser composto por quatro dígitos. Isto é importante porque
quando o ficheiro for inserido no SCC, este verifica se o campo centro tem os quatro dígitos.
Na consulta 4 é feito um append desses dados para a mesma data, mas os valores são
anulados, ou seja, multiplicados por -1. Este passo é essencial porque o objetivo da Incos02 é
anular os valores da incos01 de forma a que a soma por centro e a soma final seja igual a zero.
Por fim, na consulta 5, é atualizada a data da tabela para a data existente na tabela t_mes.
44
Na tabela 9 é possível visualizar como se deve preencher a T01Incos02.
45
Como se pode verificar na figura 33, as tabelas encontram-se relacionadas através do
campo cta_fin, e através desta relação é possível determinar que conceitos estão associados a
esta conta, e preencher a tabela tecnologia_midat com os conceitos existentes no midat e o
seu valor, através do campo “importe” da tabela. Na tabela 10 temos um exemplo dos dados
obtidos nessa tabela.
Após ser preenchida a tabela midat, é necessário fazer um append dos vários conceitos
tecnologia que se encontram na tabela T01Incos01 para a tabela Tecnologia_Conceitos.
É através da tabela conceptos-cargabal que podemos determinar quais são os
conceitos tecnologia porque existe uma coluna denominada “Tecnologia_Grupo” que indica
através de um true numa checkbox se o conceito é de tecnologia. Assim, é possível inserir na
tabela tecnologia_conceitos só os conceitos que dizem respeito a tecnologia. O mesmo
acontece para a tabela Tecnologia_Midat. É possível ver um exemplo dos registos obtidos na
tabela 11.
46
Existem três regras para determinar se o conceito é grupo ou terceiros:
Se a diferença for >0, indica que o valor do midat é maior que o da Incos01, então, o
conceito irá sofrer alterações. E, caso exista mais do que um centro para esse conceito, existe
uma tabela Tabela_tecnologia_Prioridades que determina que centro deve ser tratado em
primeiro lugar. O valor do centro é comparado com o valor total do midat, através da
diferença e caso a diferença seja diferente de zero o conceito/centro sofre alteração, passando
a ter ind_grupo “G”. Quando passamos ao tratamento do centro seguinte, a diferença obtida
no centro anterior é que irá servir de comparação para o valor do midat.
Se a diferença for =0, indica que o valor do midat é igual o da Incos01, portanto o conceito
não irá sofrer alterações e mantem-se como terceiros.
Se a diferença for <0, indica que o valor do midat é menor que o da Incos01, e torna-se
necessário criar dois registos para esse conceito/centro como podemos ver na tabela 13.
Sempre que um conceito passar a grupo seja este “A” ou “G”, o cod_entidad será alterado
para o código que se encontra na tabela tecnologia_Midat para esse conceito.
Por fim, torna-se necessário inserir esta informação na tabela T01Incos02 mas primeiro
devem ser anulados os mesmos conceitos que estão na T01Incos01.
47
Na figura 34 é possível visualizar o código que permite automarizar estes centros.
Esta automatização é feita tendo por base a utilização de duas tabelas que são alteradas
manualmente sempre que for necessário: a tabela Percentagem Origem e Percentagem
Distribuição. Na figura 35 é possível ver um exemplo de dados existentes nas tabelas.
Este tratamento é feito em duas tabelas temporárias como se pode verificar na figura 36.
48
Assim, a primeira consulta passa por limpar os dados de ambas as tabelas.
Posteriormente a são inseridos na tabela 1 as várias combinações possíveis de
centros/conceitos que se podem encontrar na T01Incos01, sendo que o seu indicador é
sempre terceiros. Caso exista um centro novo relativo a percentagens este deve ser inserido
manualmente nesta tabela. E a segunda tabela inclui os centros (CC1) e conceitos anteriores
(CCC1) e os novos centros (CC2) e a percentagem que deve ser multiplicada ao seu valor,
sendo que o resultado é visualizado no Total2. Se o centro for de grupo deve ser necessário
associar um cod_compana. É de referir que estes valores são fictícios. No fim do processo são
inseridos os valores na tabela T01Incos02.
No fim é obtido um relatório que permite visualizar as diferenças obtidas nos valores do
centros da T01Incos01 e do ficheiro Rendas, como se pode verificar na figura 38.
O botão 1 permite agregar dados à tabela T01Incos03 tendo como base as tabelas
T01Incos01, T01Incos02 e tabela centros. A Incos03 apresenta informação sobre os centros de
custos. Por exemplo, código e nome do centro. E como na incos01 e incos02 só é apresentado
o código do centro, a função e se é centralizado ou não.
Através de uma união das tabelas são selecionados todos os centros e conceitos que se
encontram nas mesmas e esses são pesquisados na tabela centros, uma vez que inclui a
descrição de cada combinação, permitindo assim completar a T01Incos03.
50
A informação que irá aparecer na T01Incos03 encontra-se detalhada na tabela 14.
O botão 4 tem como objetivo preencher a tabela F01Incos05. Esta tabela contêm
informação de pro memória. Por exemplo: universidades e meios de pagamento. A F01Incos05
também é criada tendo em conta as combinações de centros/conceitos existentes nas tabelas
T01Incos01 e 02 e outra informação contida na tabela T01Incos05_Aux.
51
Esta ultima tabela, é uma tabela manual, que é atualizada sempre que se recebe nova
informação de pró memória.
Como podemos ver na figura 40, existe uma relação entre os centros que se
encontram na consulta 02Incos02_C01 (união das T01Incos01 e 02) com os centros da tabela
T01Incos05_Aux. Sempre que o centro da tabela T01Incos05_Aux for igual ao encontrado na
união das T01incos01 e 02 é possível preencher a informação que se encontra na tabela 16.
52
Basicamente, a consulta vai verificar se existem duas combinações de centro/conceitos
iguais. Caso existam, estes são eliminados através do botão 10.
O botão 11 verifica se existem registos desnecessário, ou seja, verifica para cada uma
das incos se existem campos nos centros ou conceitos que sejam nulos. O botão 12 e 13
permite verificar se existem conceitos na F01Incos03 ou F01Incos04, respetivamente, que não
se encontrem nas tabelas F01Incos01 e F01Incos02. Os botões 14 e 15 fazem validações
adicionais e verificam que ainda existem duplicados, ou centros a mais. O botão 16 valida por
exemplo, se sempre que um centro tem indicador de Grupo, se a coluna de imputado_grupo
está preenchida, verifica também se existem nulos, e centros qe não tem conceitos. O botão
17 acrescenta à tabela F01Incos01-02 os dados obtidos nas tabelas F01Incos01 e 02. Por fim, o
último botão permite abrir o relatório final, através do código “Docmd.openform “Incos””,
sendo que Incos é o nome da form do relatório.
Segundo a figura 42, podemos selecionar que tabelas pretendemos produzir. Por isso,
caso o processo tenha um erro apenas na incos06, podemos aceder a esta form e apenas gerar
novamente esse ficheiro, uma vez que essa tabela não influencia o conteúdo das restantes.
O objetivo da produção das interfaces é criar uma estrutura que seja reconhecida pelo
SCC de Espanha. Basicamente, o utilizador insere no SCC um ficheiro com um formato
específico e o SCC valida a informação recebida naquele momento. Esta validação pode incluir:
validar se o cabeçalho está correto, verificar se existem duplicados ou verificar se faltam
centros ou contas novas, por isso é que se efetuam todas as validações da seção anterior. O
objetivo é ter em conta as validações do sistema e efetuá-las primeiro para obter o ficheiro
correto.
53
Através da form é possível selecionar a tabela F01Incos que se pretende produzir. E
caso se selecione o botão “Gravar Interfaces”, o ficheiro é gravado em Excel, através do export
visível na figura 43, numa pasta definida pelo utilizador na textbox da seção “selecionar
ficheiros” da form.
O botão “Gerar Interfaces” permite agrupar todos os dados de uma linha da tabela
F01Incos01 numa única coluna da tabela interface_F01Incos01, por exemplo, sendo que esses
dados estão separados por ponto e vírgula. Depois, esses dados são gravados num ficheiro txt
de forma a ser obtida a estrutura final e inserir os ficheiros no SCC, como se pode verificar na
figura 44.
54
organização ou alteração da ordem das mesmas. Este ficheiro será automatizado em Excel
através da criação de fórmulas, macros e código VBA.
Ao longo desta seção será possível compreender os requisitos base para criação do
ficheiro, os seus procedimentos, a sua estrutura em Excel e a form para o tratamento dos
mapas Desglose.
4.2.1 Requisitos
Com base nas reuniões com o diretor da área foram recolhidos um conjunto de requisitos
obrigatórios de forma a consolidar a realização da tarefa, sendo eles:
No fim do processo deve ser possível comparar o número de registos finais e iniciais de
forma a verificar se os dados foram todos imputados. Ou seja, deve ser comparado o
número de registos existentes no ficheiro inicial e o número de registos (linhas)
existentes no ficheiro final de forma a verificar se foram perdidos dados ao longo do
processo.
Automatizar dois tipos de ficheiros: Desglose Áreas de Negócio (AN) e Desglose Pró
memória. Cada Desglose pode ser do tipo: Orçamento (O), Real (R), ou Estimativa de
Fecho (EF). Cada tipo de Desglose tem duas visões: visão Origem ou visão Contable.
Ter em conta que Espanha altera muitas vezes a estrutura do ficheiro inicial, ou seja,
cada ficheiro tem um cabeçalho específico. Assim, deve ser possível atualizar o seu
cabeçalho sem ter que recorrer ao código.
Deve ser possível correr o processo completo clicando num só botão.
Evitar ao máximo alterações por código VBA por parte dos utilizadores finais.
Este processo está diretamente relacionado com a análise de sistemas que é a atividade
que tem como finalidade a realização de estudos de processos a fim de encontrar o melhor
caminho racional para que a informação possa ser processada.
4.2.2 Procedimentos
55
Desta forma, elaborou-se a tabela 17 no sentido especificar os ficheiros utilizados no
processo, no sentido de, posteriormente, melhor compreender o funcionamento da form
criada.
A tabela 17 tem como objetivo ser uma guideline dos ficheiros utilizados durante o
processo de automatização para melhor compreensão do mesmo. Relativamente ao nome dos
ficheiros, o “x” diz respeito ao tipo de ficheiro, por exemplo, se estiver a ser tratado o
Orçamento, o ficheiro terá como nome: “BOOK_O.xlsx”, se for Real, o nome do ficheiro será
“BOOK_R.xlsx” e se for Estimativa de Fecho será “BOOK_E.xlsx”. Os ficheiros 4, 5 e 6 seguem o
mesmo raciocínio.
56
células linkadas ao ficheiro 5 para disponibilizar informação do mês em questão às áreas da
DCG e estas iniciarem o seu trabalho.
4.2.3 Excel
Neste ponto é possível visualizar com mais detalhe a estrutura dos ficheiros utilizados ao
longo do processo. É de referir que as imagens contêm valores fictícios.
57
A figura 46 apresenta a estrutura da folha “Macro”. Esta folha é uma folha manual que
tem como objetivo permitir ao utilizador final alterar o diretório dos ficheiros a serem
utilizados sem ter que os alterar no código VBA.
58
essa estrutura sofre alterações, e só são copiadas determinadas colunas para uma nova folha,
denominada, “Book”. Além de serem copiadas menos colunas, as colunas copiadas seguem
uma determinada ordem diferente da original, como é possível ver na numeração a vermelho.
O prinicipal objetivo, é, caso Espanha decida alterar os nomes do cabeçalho ou alterar a ordem
das colunas no ficheiro final, o utilizador pode aceder a esta folha e proceder às suas
alterações sem recorrer ao código VBA.
A diferença entre esta folha e o ficheiro 1, é que é necessário fazer uma validação e o
ficheiro 1 não pode ser alterado, assim, a folha Desglose contém uma validação no topo do
documento que indica o ficheiro a ser tratado e a sua versão, neste caso é o DesgloseAN, visão
Consolidada, do tipo Real e com uma versão Restat. Por outro lado, nas colunas D e E é
possível, por um lado, visualizar a data da informação enviada por Espanha, “Dez14” e, por
outro, a data da versão do seu tratamento criada pelo utilizador final.
A validação mais importante encontra-se na coluna G e diz respeito ao Total Inicial, ou
seja, existe uma coluna com o orçamento imputado, e nessa célula é feita uma soma dessa
coluna para posteriores comparações com o ficheiro final. Já o Nº de Registos Iniciais diz
respeito ao número de linhas existentes no documento a partir da linha do 2º Cabeçalho. Na
coluna I, são os apresentados os registos do Ficheiro 1 de forma a verificar se foi perdido
algum registo.
Também é feita uma validação relativamente ao cabeçalho, ou seja, na célula A8 é
inserida uma cópia do Ficheiro 1, incluindo o cabeçalho. Tendo em conta o nome do ficheiro
na coluna B, a range 7:7 é preenchida com o cabeçalho correspondente da folha “Cabeçalhos”
e posteriormente, é feita uma validação na range 6:6 para verificar se os cabeçalhos batem
certo. O objetivo é verificar se Espanha alterou o nome de algum campo ou adicionou campos
novos. Com estas validações, o utilizador perde poupa tempo à procura de eventuais erros.
Como o ficheiro ainda é extenso e para evitar perdas de tempo a percorrer todas as
colunas do ficheiro, foi criada uma validação geral na célula J2 que verifica se a linha 7 é igual à
linha 8.
Estas validações serão comparadas com a validação contida na folha Book, para verificar
se foram perdidos dados.
59
A figura 49 apresenta a informação já tratada e pertinente para esse processo, e
encontra-se na Sheet “Book” do ficheiro2.
Como é possível verificar, a figura 49 tem menos colunas que a figura 8, mas segue o
mesmo raciocínio que a figura anterior, em termos de validações, mas com uma ligeira
diferença. Na coluna G, são apresentados os registos e o total inicial que dizem respeito à folha
Desglose e na coluna H os registos e o total final que dizem respeito à folha Book. É possível
que o número de registos finais sejam inferiores ao total inicial uma vez que são eliminadas
linhas que contenham zeros na coluna K. Mas o total final terá sempre de ser igual.
Assim, na coluna J é possível visualizar o número de zeros eliminados e o número de
zeros encontrados atualmente no ficheiro para verificar se foram mesmo todos eliminados.
Estas linhas são eliminadas, porque já existe informação em excesso e as linhas com zeros são
dispensaveis para o tratamento do ficheiro.
Figura 50 - BOOK_x.xlsx
60
Uma vez que o ficheiro “Preparação_BD.xlsm” é um ficheiro de carater temporário, é
criada uma cópia num ficheiro denominado “BOOK_x” de forma a salvaguardar a informação.
Este ficheiro armazenará a informação da folha “Book” dos vários meses processados. Assim,
quando atingir o limite do número de folhas é criado um novo ficheiro com o mesmo nome, e
o anterior passará a denominar-se: “BOOK_x(1)”.
Os meses são distinguidos através do nome das folhas, em que irá aparecer o tipo de
ficheiro, a data de tratamento, de forma a ser possível a verificar o mês a ser tratado, o dia e a
hora, uma vez que o mesmo mês pode ser tratado mais do que uma vez.
Na folha “BASE” é inserida nas colunas A-K uma cópia da informação da folha “Book” do
Ficheiro 2 e à direita são apresentadas fórmulas que permitem obter uma estrutura final que
serão apresentadas nas folhas “LOCAL” e “GI” como veremos mais à frente. Além disso, este
ficheiro também apresenta validações, como é possível ver na figura 33, de forma a ser
possível verificar se existem erros e se toda a informação foi copiada/colada corretamente.
61
As fórmulas apresentadas seguem o mesmo raciocínio que as validações da folha
“Desglose” e “Book” do Ficheiro 2, mas além disso, também distribui o total de custos, em
local e imputados como é possível ver nas figuras 53 e 54.
A figura 53 apresenta a estrutura final para os custos no que diz respeito ao valores
locais.
A figura 54 apresenta a estrutura final para os custos no que diz respeito ao valores
dos imputados.
62
Nas figuras 53 e 54 é possível visualizar a estrutura final do ficheiro. Esta estrutura foi
obtida através da fórmula concatenar que é uma função de texto, para associar duas ou mais
células de texto. Esta estrutura está organizada por áreas de negócio.
Figura 55 - Custos_x.xlsx
O ficheiro 6 tem uma série de 25 meses, por exemplo, inicia-se em Dez12 e inclui os meses
dos anos 2013 e 2014, por exemplo. Neste processo são retratados os custos por área de
negócio. Na figura 56 é possível ver um exemplo do ficheiro.
Figura 56 - Custos_X.xlsx 63
Para finalizar o processo, as linhas da coluna do mês em questão do ficheiro 5 são linkadas
ao ficheiro 6. Basicamente é um evolutivo mensal dos custos e é acedido pela DCG de forma a
distribuir a sua informação pela equipa e permitir que estes iniciem o seu trabalho.
64
4.2.4.1 Etapa 1: Selecionar Ficheiro Desglose
Esta etapa permite ao utilizador especificar o ficheiro desglose a ser tratado e a versão
do mesmo, como se pode verificar na figura 58. Esta especificação é importante uma vez que
cada ficheiro é tratado de forma específica.
Por outro lado, o botão “Browse” permite aceder ao diretório e escolher rapidamente
o ficheiro desglose extraído do SCC,pelo utilizador, como se pode ver na figura 59.
65
4.2.4.2 Etapa 2: Gerar Book
A seção “Sheet Desglose” que diz respeito ao tratamento das folhas do ficheiro
“Preparação_BD.xlsx”. O botão 1 - “Limpar Preparação BD” permite limpar as folhas do
ficheiro, sendo estas “Desglose” e “Book”.
Por sua vez, a seção “Sheet Book” diz respeito ao tratamento da folha “Book” do
ficheiro “Preparação_BD.xlsx”. SheetBook o botão 5 – “Gravar nome do ficheiro” introduz, no
66
cabeçalho da folha Book, informação relativa ao ficheiro, como por exemplo, Desglose, visão,
tipo, versão, data e hora de tratamento do ficheiro.
Segundo a figura 61, o botão 8 – Gerar valores iniciais seleciona o ficheiro inicial e
permite contar o número de registos iniciais e o total inicial da coluna “imputados” para
validações. Por outro lado, seleciona a data da informação, mês de fecho e as horas a que o
ficheiro foi retirado do SCC. Esta informação é importante porque Espanha envia várias vezes o
mesmo ficheiro, pois podem ter sofrido alterações.
O botão 9 – Eliminar zeros verifica se existe alguma linha da coluna “imputados” com o
valor zero. Se existir, esta linha é eliminada. Caso existam linhas com zeros, é inserida na form
o número de zeros eliminados.
O botão 12 – Gerar Log de processamento permite gravar uma cópia da folha Book. O
nome do ficheiro a ser gravado tem em conta o tipo de Desglose, por exemplo, se o ficheiro for
de orçamento o nome do ficheiro será “Book_O (Orçamento).xlsx”.
67
4.2.4.3 Etapa 3: Gerar Destino
A figura 62 tem como intuito explicar o tratamento realizado na seção “Gerar Destino”.
O passo seguinte passa por copiar a mesma informação para o ficheiro “Oanomes_tipo”. O
ficheiro inclui fórmulas que permitem tratar a informação inserida e obter a estrutura
pretendida.
O botão 1 permite abrir o ficheiro destino, o botão 2 limpa a informação que se encontra
na sheet 1 e através do botão 3 é copiada a informação do ficheiro Preparação BD e colada no
ficheiro final. Por fim, o botão 4 permite gravar o ficheiro sem fórmulas com o nome:
Custos_O, caso seja orçamento.
A figura 63, diz respeito à etapa 4 que tem como intuito explicar o processo desde o
tratamento do ficheiro inicial até à obtenção do ficheiro final.
Figura 63 - Macros
Segundo a figura 63, o botão “Macro completa” permite correr o processo do início ao fim
sem interrupções.
O botão “Gerar Book” corre a macro até Gerar o ficheiro Log, ou seja, a cópia da folha
Book do ficheiro “Preparação_BD”. Este botão diz respeito à etapa 2 da macro. E o botão
“Gerar Destino” trata o ficheiro final que diz respeito à etapa 3 da macro.
68
3. Validar número de registos/total inicial – ao longo do processo, principalmente
quando se mudar de folha será necessário comparar o número de registos/total inicial
e final para verificar se foram perdidos dados
4. Eliminar registos com o valor “0” – eliminadas linhas desnecessárias
5. Validar número de registos/total final
6. Criar cópia de segurança
Output Dados
FERRAMENTA SCC
Input Dados (Disponível na
(Processamento de
(.txt) Intranet para
Informação)
download)
Segunda a figura 64, a tarefa Incos tem como objetivo fazer a produção das interfaces
com dados. Este ficheiro é tratado e posteriormente é gravado em formato “.txt” e é inserido
no SCC como Input. É feito o processamento de informação recebida e é disponibilizada, como
output para download, na intranet. Existe a possibilidade deste ficheiro ser extraído em
formato “.pdf”, “.txt”, “.csv” e “.xlsx”, normalmente este ficheiro é extraído num dos últimos
dois formatos. Este output será tratado na tarefa Desglose que tem como intuito fazer o
tratamento dos dados processados.
No fim, esta informação fica armazenada num ficheiro final, “Custos_x” e fica disponível
para informação de gestão, por exemplo, para criar apresentações.
69
5. Conclusões e Perspetivas de Trabalho Futuro
5.1 Conclusões
As principais dificuldades encontradas pela mestranda foi o facto de nunca ter trabalho
com o VBA antes de iniciar o estágio. A mestranda apenas aprendeu a linguagem VB .NET na
faculdade e apesar de o raciocínio ser o mesmo, a mestranda teve de aprender o código base.
Para isso recorreu a vários tutoriais no youtube, pesquisou e imprimiu livros relacionados com
o VBA no Excel e no Access e registou-se em vários fóruns de programação online. Por outro
lado, sempre que tinha alguma dúvida que não conseguia ultrapassar, a mestranda pedia
ajuda a alguns colaboradores que tinham imensos conhecimentos na área pois trabalham com
o VBA desde que se encontram na organização. Mas a mestranda tentou ao máximo criar o
código de forma independente.
O principal objetivo com a criação destas forms foi tentar ao máximo criar um código que
pudesse ser utilizado no futuro e evitar que os utilizadores tenham de efetuar alterações ao
código. Isto porque, alguns dos utilizadores que possam utilizar o código, podem não ter
conhecimentos base de programação, e este problema poderia criar atrasos na entrega do seu
trabalho e a tentativa de tentar melhorar o código poderia original debugs no mesmo. Para
isso foi criado um manual do utilizador que funciona como um guião para os utilizadores ou
novos utilizadores que pretendam utilizar os documentos automatizados. Além disso, caso
alguém substitua a mestranda e pretenda trabalhar sobre o código, todo o código está
devidamente identificado, definido o que cada linha de código pretende fazer. Assim, o
utilizador terá uma fácil e rápida adaptação ao código.
70
Referências
Livros:
Andersen, V. (2007), “Microsoft Office Access 2007: The Complete Reference”, TheMcGraw-
Hill Companies
Cox & Lambert, 2010, “Microsoft Access 2010 - Step by steps”, Online Training Solutions, Inc.
Serrão, C., & Marques, J. (2000). Programação com PHP. FCA - Editora de Informática
Vesica (2009), “VBA na prática para excel”, Universo dos livros, Lda
Sites:
http://www.auditware.co.uk/content/70/ideav9
71
Anexos
Anexos ......................................................................................................................................... 72
Anexo 1 – Procedimentos manuais para criação das Incos ...................................................... 744
Anexo 2 – Tabelas da BD “01Custos_San.accbd” ...................................................................... 777
Anexo 2.1 Tabela Selecionar Ficheiros .............................................................................. 777
Anexo 2.1 Tabelas T01Incos0*_H...................................................................................... 778
Anexo 2.2 Tabelas T01Incos0* ............................................................................................ 78
Anexo 2.3 Tabelas F01Incos0* ............................................................................................ 79
Anexo 2.4 Tabelas F01Incos0*_ANT ................................................................................... 79
Anexo 2.5 Tabelas F01Incos01_02_ANT ........................................................................... 800
Anexo 2.6 Tabela “T_MES”................................................................................................ 810
Anexo 2.7 Tabela “Balancetes” ......................................................................................... 811
Anexo 2.8 Tabela “Balancete_ContasMOV” ..................................................................... 811
Anexo 2.9 Tabela “Ficheiro_Contabilidad” ....................................................................... 821
Anexo 2.10 Tabela “GLL” ................................................................................................... 822
Anexo 2.11 Tabela “SAL” ................................................................................................... 832
Anexo 2.12 Tabela “Midat” ............................................................................................... 833
Anexo 2.13 Tabela “Tabela_Contas” ................................................................................. 843
Anexo 2.14 Tabela Centros ............................................................................................... 844
Anexo 2.15 Tabela “Matriz Dedicação”............................................................................. 854
Anexo 2.15 Tabela “Tabela_Conceptos-Cargabal” ........................................................... 855
Anexo 2.16 Tabela “Month1”............................................................................................ 855
Anexo 2.17 Tabela “T01Incos03_Aux” .............................................................................. 865
Anexo 2.18 Tabela “T01Incos05_Aux” .............................................................................. 866
Anexo 2.19 T01Incos06_Aux ............................................................................................. 876
Anexo 2.20 F01Incos06_Mes ............................................................................................ 877
Anexo 2.21 Tabelas de Preenchimento da T01Incos02 ...................................................... 87
Anexo 2.20.1 T01Incos02 – DCRH: Tabela F01Incos02_RH................................................. 88
Anexo 2.20.2 T01Incos02 – DCRH: DCRH_centro_6971 ..................................................... 88
Anexo 2.20.3 T01Incos02 – Tecnologia: Tecnologia_Midat ................................................ 89
Anexo 2.20.4 T01Incos02 – Tecnologia: Tecnologia_Conceitos.......................................... 89
Anexo 2.20.5 T01Incos02 – Tecnologia: Tecnologia_Diferença .......................................... 89
Anexo 2.20.6 T01Incos02 – Tecnologia: Tabela prioridades ............................................. 900
72
Anexo 2.20.7 T01Incos02 – Percentagem: Percentagem_Origem ................................... 900
Anexo 2.20.8 T01Incos02 – Percentagem: Percentagem_Distribuição ............................ 900
Anexo 2.20.9 T01Incos02 – Rendas: Rendas_TMP ........................................................... 900
Anexo 3 – Relatório final ........................................................................................................... 911
Anexo 4- Relatório Incos Validações Iniciais ............................................................................. 933
73
Anexo 1 – Procedimentos manuais para criação das Incos
74
75
76
Anexo 2 – Tabelas da BD “01Custos_San.accbd”
No Anexo 2 podemos ter uma noção da estrutura das tabelas utilizadas na BD. O seu
objetivo é apresentar uma visão clara e detalhada da estrutura das mesmas e perceber, ao
longo da seção 4.2 a ligação entre as tabelas na criação das Incos.
Histórico de todas as incos processadas anteriormente. Uma vez que a estrutura das
tabelas T01Incos, T01Incos_H e F01Incos são semelhantes, serão apresentados exemplos em
cada uma delas e não apresentar as sete incos para todos os casos.
Tabela 19 - T01Incos01_H
77
Tabela 20 - T01Incos02_H
Tabela onde são tratadas as incos, antes de ser feito o append para as tabelas finais
“F01Incos0*”.
Tabela 21 - T01Incos03
78
Tabela 22 - T01incos04
Tabela 23 - F01Incos05
79
Tabela 24 - F01Incos06
Tabela 25 - F01Incos01-02_ANT
80
Anexo 2.6 Tabela “T_MES”
Tabela 26 - T_MES
Tabela 27 - Balancetes
Tabela 28 - Balancete_ContasMOV
81
Anexo 2.9 Tabela “Ficheiro_Contabilidad”
Tabela 29 - Ficheiro_Contabilidad
Tabela 30 - GLL
82
Anexo 2.11 Tabela “SAL”
Tabela 31 - SAL
Tabela 32 - Midat
83
Anexo 2.13 Tabela “Tabela_Contas”
Tabela 33 - Contas
Tabela 34 - Centros
84
Anexo 2.15 Tabela “Matriz Dedicação”
Tabela com informação sobre códigos e percentagens de repartos. Essencial para criar
a T01Incos04.
Informação essencial para criar a incos02, uma vez que apresenta uma relação com a
tabela Midat, através do campo Cta_fin.
Tabela 37 – Month1
85
Anexo 2.17 Tabela “T01Incos03_Aux”
Figura 65 - T01Incos03_Aux
Tabela 38 - T01Incos05_Aux
86
Anexo 2.19 T01Incos06_Aux
Tabela 39 - T01Incos06_Aux
Tabela 40 - F01Incos06_Mes
87
Anexo 2.21 Tabelas de Preenchimento da T01Incos02
Nesta seção são apresentadas as tabelas que permitem auxiliar na criação da tabela
T01Incos02.
Tabela 41 - F01Incos02_RH
Tabela 42 - DCRH_centro_6971
88
Anexo 2.20.3 T01Incos02 – Tecnologia: Tecnologia_Midat
Tabela 43 - Tecnologia_Midat
Tabela 44 - Tecnologia_Conceitos
Tabela 45 - Tecnologia_Diferença
89
Anexo 2.20.6 T01Incos02 – Tecnologia: Tabela prioridades
Tabela 46 - Tecnologia_Prioridades
Tabela 47 - Percentagem_Origem
Tabela 48 - Percentagem_Distribição
Tabela 49 - Rendas_TMP
90
Anexo 3 – Relatório final
91
Figura 66 - Relatório Final
Por outro lado, permite visualizar os dados das validações. A consulta P03/04 permite
visualizar se existem centros ou contas novas no ficheiro contabilidade. A consulta P12 permite
visualizar se existem centro na incos04 que não correspondem aos que se encontram na
incos01, incos02 e incos05. A consulta P13 segue o mesmo raciocínio. A consulta P14 conta o
número de duplicados existentes nas incos 01 a 07. A consulta P16-20 conta o número de
registos como Grupo e em Terceiros na incos01;o número de nulos, grupo; o número de
centros na incos03; verifica se a soma da percentagem de reparto na Incos04 é diferente de
um, e verifica se existem somas inferiores a 0. Por outro lado, entre as consultas P03/04 e P15
se existirem valores superiores a 0, esses valores são marcados a vermelho pois devem ser
corrigidos. Todas estas validações serão feitas no destino, assim isto permite evitar enviar
erros para Espanha.
92
93