Вы находитесь на странице: 1из 106

Instituto Politécnico de Setúbal

Escola Superior de Ciências Empresariais

Automatização de Tarefas em VBA


Projeto no Santander Totta

Joana Filipa de Nóbrega Santos

Projeto apresentado para cumprimento dos requisitos necessários à obtenção do grau de

MESTRE EM SISTEMAS DE INFORMAÇÃO ORGANIZACIONAIS

Orientadora: Professora Leonilde Reis

Setúbal, 2015
Dedicatória

“Escolhe um trabalho de que gostes, e não terás que trabalhar nem


um dia na tua vida.”

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

DCG - Direção de Controlo de Gestão

DCGBACA - Divisão de Controlo de Gestão do Banco, Atividades Corporativas (AC), ALCO

DCGBC – Divisão de Controlo da Banca Comercial

DCGC – Divisão de Controlo de Gestão de Custos

DCGGC – Divisão de Controlo de Gestão do Grupo Consolidado

DCOCC – Divisão de Coordenação de Otimização de Custos e Compras

DD – Dicionário de Dados

Incos – Interface de Costes

RH - Recursos Humanos

SI – Sistemas de Informação

SCC – Sistema Corporativo de Custos

TIC – Tecnologias de Informação e Comunicação

VBA - Visual Basic for Applications

SGBD - Sistema de Gestão de Base de Dados

x
Resumo

Este projeto foi desenvolvido no Santander Totta, mais propriamente na Divisão de


Controlo de Custos (DCC) que faz parte da Direção de Controlo de Gestão (DCG) com o intuito
de automatizar tarefas repetitivas. O projeto permitiu à mestranda elaborar um relatório com
o objetivo de concluir o Mestrado em Sistemas de Informação Organizacionais (MSIO),
possibilitando à mestranda a capacidade de testar e consolidar habilidades/conhecimentos
adquiridos no decorrer da Licenciatura e Mestrado, de forma autónoma, e potenciar uma
experiência inovadora e enriquecedora no mundo real das organizações e do trabalho.

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.

A metodologia utilizada ao longo do projeto foi a metodologia de investigação. Como a


linguagem VBA era uma novidade para a mestranda, esta realizou várias pesquisas, com o
objetivo de recolher informação e ganhar conhecimentos para compreender a linguagem em
questão e ser possível a sua aplicação prática dirigida à solução do problema em análise. Por
outro lado, foi utilizada uma metodologia de formação que consistiu na transmissão de
conhecimentos do responsável pela DCG à mestranda sobre os conceitos tratados na mesma.
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 de
forma a serem automatizados e executados da mesma forma, mas o mais rapidamente
possível.

O VBA é uma linguagem de programação que permite aos utilizadores programarem


macros para efetuarem tarefas complexas dentro de uma aplicação. Com o VBA do Excel é
possível desenvolver pequenos procedimentos (macros e/ou funções) que tornarão os
processos da organização mais fáceis e menos demorados. Por outro lado, o VBA também
oferece um conjunto de ferramentas que permitem criar aplicações personalizadas com base
nos elementos e nos objetos da base de dados do Access. Por exemplo, podemos criar uma
rotina em VBA numa base de dados chamado bd1.mdb. Esta rotina permite o acesso aos dados
numa segunda base de dados que está na rede, por exemplo, bd2.mdb. A mesma rotina além
de aceder aos dados pode fazer cálculos, consolidações, gerar os resultados no formato Excel e
salvar na rede ou numa página no formato HTML. O VBA é uma linguagem de programação
muito poderosa que permite desenvolver programas reais que efetuarão em poucos minutos
tarefas muito complexas.

Palavras-Chave: VBA, Automatização, Excel, Access

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.

Keywords: VBA, Automation, Excel, Access

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.

Um agradecimento geral a toda a equipa de Controlo de Gestão por me integrarem tão


bem e estarem disponíveis para me ajudar em qualquer momento.

À minha orientadora Leonilde Reis que foi fundamental na transmissão de


conhecimentos, experiências, na criação e solidificação de saberes e nos meus pequenos
sucessos.

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

Na tendência de acompanhar os novos avanços tecnológicos, as empresas estão,


constantemente, à procura de novas alternativas de automatização dos seus processos,
atingindo os seus objetivos de maneira mais rápida e eficaz.
Considerando que o mercado apresenta uma competitividade cada vez maior, nos mais
variados ramos de negócios, as organizações necessitam de avaliar, constantemente, o seu
posicionamento e trabalhar arduamente de forma a diferenciarem-se no mercado, através da
inovação e conhecimento.

Neste capítulo é apresentado o projeto realizado no Santander Totta, os seus objetivos e


interesses, as atividades previstas, a sua metodologia e por fim, é apresentada a estrutura do
relatório.

1.1 Apresentação do Projeto

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

Este projeto surgiu na fase conclusiva do Mestrado em Sistemas de Informação


Organizacionais. Apresenta-se sob a forma de um trabalho de natureza académica realizado na
DCG do Santander Totta que permitiu à estudante terminar o seu mestrado.

Na perspetiva de melhorar os processos da DCG, o Santander Totta procurou soluções


práticas dentro da informática para aperfeiçoar e tornar mais rápidas as suas rotinas, saindo
do tradicional tratamento manual e informatizando-o.

Assim, o projeto desenvolveu-se no âmbito da Programação através da criação de macros


e utilização de código VBA em Excel e Access. A criação de interfaces através do código tem
como principal objetivo automatizar as tarefas da área em questão uma vez que os processos
são repetidos vezes sem conta. Além do código VBA, vai ser imprescindível a utilização de
fórmulas em Excel para validações e a utilização de ferramentas do Access, como por exemplo,
a utilização de consultas, relatórios e formulários.

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.

1.2 Objetivos do Projeto

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.

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.

1.3 Atividades do Projeto

O projeto teve a duração de nove meses. Durante os nove meses a mestranda


desenvolveu as suas atividades na DCGC. AS tarefas passaram pelo acompanhamento de
tarefas da DCGC de forma a ter conhecimento do funcionamento da área em questão e
proceder à sua automatização; elaboração de propostas de automatização de tarefas da DCGC,
através do Microsoft Excel e Access, utilizando macros, e VBA.

O principal objetivo é otimizar a execução de processos repetitivos através da revisão e


automatização de tarefas e rotinas, envolvendo os diversos elementos da base de dados
(tabelas, consultas, formulários, relatórios e folhas de dados).

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:

No processo de tratamento dos dados (mapas) extraídos do Sistema Corporativo de Custos


(SCC) são realizadas as seguintes atividades: automatizar o processo de tratamento dos dados
do ficheiro Desglose. Basicamente é feito o tratamento ao ficheiro inicial Desglose.xls até se
obter a estrutura pretendida, o ficheiro final: Custos_x.xls. Automatizar dois tipos de ficheiros:
Promemória (Universidades e Meios de Pagamento) e Áreas de Negócio. Cada tipo de ficheiro
pode ser relativo ao Orçamento, ao Real ou Estimativa de fecho. E pode ter duas visões:
origem ou contable; cada tipo de ficheiro deve ser tratamento de uma forma específica uma
vez que a sua estrutura está sempre a ser alterada. Além de serem tratados de uma forma
específica, deve ser possível adequar o automatismo à nova estrutura sem ter de mexer em
código.
Na seção 4.1 é possível compreender melhor a estrutura do ficheiro Desglose e os
procedimentos para tratamento do mesmo.

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.

As atividades previstas para o desenvolvimento do projeto foram elaboradas pelo diretor


de Controlo de Gestão e pelos responsáveis da DCGC.
É de referir que ao longo do projeto, as atividades foram ajustadas pela mestranda e pelo
responsável da divisão em que esta se encontrava inserida.

1.4 Metodologia

A metodologia utilizada ao longo do projeto foi a metodologia de investigação. Esta


metodologia inclui diversos procedimentos, utilizados para obter conhecimentos, modelos de
trabalho ou sequências lógicas, que auxiliem na obtenção do conhecimento científico e
orientem uma determinada investigação científica. Como a linguagem VBA era uma novidade
para a mestranda, esta realizou várias pesquisas, com o objetivo de recolher informação e
ganhar conhecimentos para compreender a linguagem em questão e ser possível a sua
aplicação prática dirigida à solução do problema em análise.

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.

1.5 Estrutura do relatório

Este projeto está estruturado em cinco capítulos.


O 1º Capítulo – Introdução corresponde ao espaço de introdução e apresentação do
projeto, com a identificação dos objetivos e interesses do projeto, das atividades previstas e da
metodologia utilizada na sua elaboração.

Por outro lado, o 2º capítulo – Enquadramento Teórico propõe um breve


enquadramento teórico sobre a atividade desenvolvida no projeto, nomeadamente uma
introdução às linguagens de programação e a conceitos relacionados com o Excel, Access e
VBA.

A Apresentação da Organização que corresponde ao 3º capítulo desenvolve-se sobre


uma visão contextual da organização (Santander Totta), identificando-se a sua história,
caracterizando-se os seus pilares estratégicos, sendo estes a missão, visão e cultura. Por outro
lado, são caraterizados os Recursos humanos, e são apresentadas as divisões, o organograma e
os sistemas e tecnologias de informação da área em que a mestranda se encontrou inserida.

O 4º Capítulo – Automatização de tarefas apresenta um detalhe das atividades


realizadas pela mestranda ao longo do projeto, sendo estas, o tratamento e criação de mapas
Desglose e as Interfaces de Custos (Incos).

Por fim, o 5º Capítulo – Conclusões e Perspetivas de trabalho futuro apresenta as


conclusões finais deste projeto, lançando em simultâneo um desafio para a continuidade do
seu desenvolvimento através de propostas e perspetivas de trabalho futuro a realizar no
Santander Totta.

4
2. Enquadramento Teórico

Hoje em dia, a sociedade é moldada por um súbito crescimento e desenvolvimento de


tecnologia da informação (TI), que resulta numa grande dependência da sociedade, num
sentido mais amplo, sobre o conhecimento do indivíduo e das suas competências na área de
TI.

2.1 A importância das linguagens de programação em contexto organizacional

Uma linguagem de programação é um conjunto especial de comandos que são


utilizados para a criação de um programa. Segundo Peres (2005), um programa “é um
conjunto de instruções, escritas num editor, para serem executadas a fim de obter um
determinado resultado.”

Existem diversos tipos de linguagens de programação, alguns exemplos são:

O Hypertext Preprocessor (PHP) é uma linguagem de programação que permite a criação


de páginas dinâmicas, capaz de ser embebido dentro do código HTML (HyperText Markup
Language) e efetuar determinadas operações capazes de gerar páginas instantaneamente;
“uma combinação de uma linguagem de programação com um servidor de aplicações” (Serrão
& Marques, 2000).

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.

2.1.2 Visual Basic for Applications

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

Basicamente, o VBA é uma linguagem de programação que permite aos utilizadores


programarem macros para efetuar tarefas complexas dentro de uma aplicação. É possível
utilizar o VBA em cada aplicativo do Microsoft Office, desde criar contratos automaticamente
no Word, criar apresentações no PowerPoint em questões de segundos, criar sistemas de login
eficazes no Excel, manipular bases de dados no Access, entre outras coisas. Pode no entanto
ser usado para controlar uma aplicação a partir de outra, por exemplo, para criar um relatório
no Microsoft Word a partir de dados no Excel.

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.

Com a utilização do VBA no Santander Totta é possível desenvolver pequenos


procedimentos (macros e/ou funções) que tornarão os processos da organização mais fáceis e
menos demorados. O VBA é uma linguagem de programação muito poderosa que permite
desenvolver programas reais que efetuarão em poucos minutos tarefas muito complexas, o
que se torna uma vantagem, tendo em conta que o principal objetivo deste projeto é criar os
processos mais rápidos de forma a permitir que os utilizadores se foquem noutras tarefas.

2.2 A importância das folhas de cálculo em contexto organizacional

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

O excel é um dos programas de computador mais importantes e mais utilizados hoje em


dia nas organizações. Encontra-se incorporado no Microsoft Office.

O Excel possui um vasto conjunto de funções agrupadas em dez categorias:


Financeiras, Data e Hora, Matemática e Trigonometria, Estatísticas, Consulta e Referência,
Base de Dados, Texto, Lógica, Informação e ainda a possibilidade do próprio utilizador definir
as suas funções. Todas as funções do Excel estão acessíveis através do comando Função, da
barra de fórmulas. A sua invocação despoleta o aparecimento de uma caixa de diálogo que
apresenta todas as funções disponíveis agrupadas por categorias. A inserção de qualquer
função, numa célula da folha de cálculo, começa sempre com um sinal de igual, seguido do

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.

Na área de projeto em que a estudante se encontra inserida, a utilização do excel 2010 é


imprescindível uma vez que as fórmulas de cálculo e as funções predefinidas ajudam a
trabalhar e manipular os dados da folha de cálculo. Sempre que os dados são alterados na
folha de cálculo, o Excel recalcula automaticamente os resultados em função das fórmulas
definidas, poupando tempo aos utilizadores. Por outro lado, é possível partilhar de forma
simples documentos, permitindo que vários utilizadores possam trabalhar em conjunto na
mesma folha de cálculo. É possível ver quem está a trabalhar na folha de cálculo, verificar as
alterações que foram efetuadas por outros utilizadores (com permissões para tal), e quem está
num determinado momento a editar a folha de cálculo, (Excel 2010, 2011:5).

O excel é imprescindível, quer seja utilizado a um nível profissional, académico ou a nível


pessoal, uma vez que dispõe de inúmeras ferramentas para tratamento, cálculo, simulação,
análise e partilha de dados.

2.2.1 Excel

O excel dispõe de um conjunto variado de funções pré-programadas, agrupadas por


diferentes categorias, que podem ser utilizadas nas células da folha de cálculo para executar as
mais diversas operações. Contudo, existem funções que o Excel não contempla, e que são de
extrema importância no auxílio das tarefas diárias de qualquer gestor. Neste contexto, é feito
o desenvolvimento de funções personalizadas com recurso à linguagem de programação VBA.

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

Além da utilização de fórmulas os dados do Excel podem ser tratados e manipulados


através de macros e código VBA.

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.

Os utilizadores baseavam muito o seu trabalho em aplicativos Excel. Quando a mestranda


começou a trabalhar com o Excel já havia uma estrutura base definida, para tratar os ficheiros
manualmente. Por exemplo, existia um ficheiro base, em que era inserida e tratada a
informação proveniente de outro ficheiro Excel. A informação era tratada, por exemplo,
através da eliminação de colunas e linhas desnecessárias. Assim, a mestranda tentou ao
máximo manter a mesma estrutura com o objetivo de manter o ficheiro user friendly para o
utilizador.

2.3 A importância dos Sistemas de Bases de Dados em contexto organizacional

A divulgação das Tecnologias de Informação (TI) nas organizações aconteceu segundo


um processo gradual ditado, por um lado, pelos sucessivos avanços tecnológicos a nível dos
equipamentos e software e, por outro lado, pelo crescente reconhecimento das suas
potencialidades no tratamento dos dados.
À medida que os utilizadores se foram apercebendo das potencialidades oferecidas
por esta tecnologia, cresceram as solicitações de novas aplicações, cada vez mais complexas e
exigentes. A solução informática, para qualquer organização, deve assentar num depósito
integrado de dados, a Base de Dados (BD), (Avison 1992; Benyon 1990).

Uma BD é, por definição, um conjunto organizado de dados, disponível a todos os


utilizadores ou processamentos da organização que dele tenham necessidade, (Pereira, 1998).

A tecnologia de BD tenta responder a dois objetivos, por um lado, surge como


elemento integrador dos recursos informacionais da organização; e por outro lado,

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 Pereira, (1998), a interface lógica entre o nível aplicacional e a BD é conseguida


através do armazenamento na BD, não só dos dados mas também das suas descrições
(metadados), numa entidade conhecida como Dicionário de Dados (DD), ou catálogo. O DD
atua como um filtro que permite ao SGBD interpretar a estrutura de dados armazenados,
disponibilizando ao nível aplicacional uma interface lógica.

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.

2.3.2 Funcionalidades do Access

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

As tabelas, consultas, formulários e relatórios são sofisticadas e eficazes o suficiente


para atender às especificações mais exigentes na manipulação dos dados.

Basicamente, o utilizador atua em duas tarefas distintas do Access: desenhar a base de


dados, esta tarefa envolve a criação de tabelas para armazenar os dados, queries que podem
procurar dados importantes numa determinada tabela, forms que tornam a introdução mais
fácil da informação nas tabelas e os relatórios que produzem dados impressos, (Themissing
manual, 2010:24).

Além disso, no Access também é possível manipular e tratar os dados através de


macros e código VBA.

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

Basicamente, o VBA permite de uma forma concreta manipular os diversos objectos


existentes na Base de Dados. A sua utilização permite ao utilizador, mais experiente, a
realização de acções, tais como, a tomada de uma decisão ou a repetição de várias acções, que
seriam impossíveis sem o recurso a uma ferramenta de programação (VBA). A utilização de
VBA permitirá ao utilizador, de uma forma clara, usar o recurso à informação, quer para

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

A utilização de queries foi essencial no momento em que permitiram adicionar


informação a determinadas tabelas e a eliminar duplicados e zeros. Estes procedimentos
permitiram criar as tabelas finais. As forms também foram importantes, pois permitiram criar
uma interação entre o sistema e o utilizador num formato adequado. Os relatórios serviram
como um relatório de erros que incluía um conjunto de queries que permitiam encontrar erros
em tabelas: nomeadamente a existência de duplicados.

Concluindo, a combinação de funções com Macros e VBA na organização permitiu um


aumento da flexibilidade e uma maximização das potencialidades presentes nas folhas de
cálculo e bases de dados. É possivel aglomerar as funcionalidades existentes nos dois
ambientes, VBA e Excel ou Access, para que, em conjunto, facilitem a automatização das
atividades quotidianas realizadas pelos utilizadores mais exigentes.

11
3. Apresentação da Organização

O presente capítulo contém a apresentação da organização de acolhimento onde se


efetuaram as atividades do projeto, nomeada a sua missão, visão e cultura e os recursos
humanos. São descritas, também, as principais atividades prestadas pela divisão da área em
que a mestranda prestou as suas atividades, nomeadamente, a DCG. É, também, apresentado
o cronograma e a caraterização dos SI/TIC da mesma.
A fonte desta informação provém de documentos do Santander Totta, presentes no site
do mesmo e de documentação disponibilizada pelo orientador do projeto.

3.1 História

O Santander Totta é um Banco de referência no sector financeiro nacional, com uma


ampla base de clientes e mais de 600 balcões distribuídos por todo o país.

História Santander Totta


O Santander Totta é um Banco de referência no sector financeiro nacional, com uma
ampla base de clientes e mais de 600 balcões distribuídos por todo o país. A atividade do
Santander Totta, centrada na banca comercial, prossegue uma estratégia de proximidade ao
cliente, privilegiando a oferta de produtos e serviços inovadores, a melhoria contínua da
qualidade de serviço, a captação, retenção e satisfação de clientes, a captação e retenção de
talentos, a gestão prudente de riscos e uma procura permanente de maior eficiência através
da excelência operativa com base em tecnologia de vanguarda.
A presença do Grupo Santander em Portugal remonta a 1988, ano em que foi adquirida
uma participação acionista de cerca de 10% no Banco de Comércio e Indústria (BCI),
aumentada por via de uma OPA para 78%, em 1993, data em que foi também constituído o
Banco Santander de Negócios Portugal (BSNP).
Em Abril de 2000, na sequência de acordo formalizado com o Sr. António Champalimaud e
com a Caixa Geral de Depósitos, o Grupo Santander adquiriu o controlo do Banco Totta (que
por sua vez detinha o Crédito Predial Português).
No final de 2013, o Santander Totta obteve um resultado líquido de 102 milhões de euros,
com créditos no valor de 27 177 milhões de euros, recursos de 25 000 milhões de euros,
apresentando um rácio de core capital de 15,2%, muito acima do mínimo exigido pelo
reguladores e sem necessidade de recurso a qualquer tipo de aumento de capital, alcançado
unicamente com recurso à geração interna de resultados, refletindo a manutenção da
recorrência da rendibilidade positiva na atividade bancária doméstica, apesar da conjuntura
económica e da tendência do sistema financeiro. O rácio Tier I cifrou-se em 16%.
Ao longo do ano de 2013, o Santander Totta foi distinguido com um conjunto de prémios
em que se destacam: “Melhor Banco em Portugal”, atribuído pela revista Euromoney, no
âmbito dos EuromoneyAwards for Excellence, “Banco do Ano em Portugal” atribuído pela
revista TheBanker, “Melhor Banco em Portugal” atribuído pela revista Global Finance e
“Grande Banco que Mais Cresceu ” atribuído pela revista Exame.
Fonte:Santander Totta, Relatório Anual 2014 Santander Totta, 2014:7

12
3.2 Missão, Visão e Cultura

Missão – A missão do Santander é contribuirpara o progresso das pessoas eempresas,


(Botín, 2014:8).

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.

Figura 1 - Visão e Criação de Valor

Fonte:Santander Totta, Relatório de


Actividades 2014, Santander Totta, 2014:8

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

3.3 Recursos Humanos

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.

Elaborou-se o gráfico 1 de forma a seja possível observar o gênero dos profissionais da


DCG.

Gênero dos profissionais

42% homens

58% mulheres

Gráfico 1 - Género dos colaboradores

Como se pode constatar no gráfico 1 existem 58% profissionais do sexo masculino e os


restantes são do sexo feminino. Em média, a DCG é composta por mais homens do que por
mulheres, apesar de a diferença não ser significativa.

No gráfico 2 é possível observar o número de profissionais em cada área da Direção de


Controlo de Gestão.

14
Número de colaboradores
Direção
5%
Banca Comercial
20%
35% Custos
20%
Banca, AC e
20% ALCO
Grupo
Consolidada

Gráfico 2 - Número de colaboradores

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

26% 32% 31-40


42% 41-50
51-60

Gráfico 3 - Idade Média dos colaboradores

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.

No gráfico 4 é possível observar os títulos escolares de cada colaborador da DCG.

Títulos Escolares
10% 0% 16%
Secundário
21% Licenciatura
53% Pós-Graduação
Mestrado

Gráfico 4 - Títulos Escolares

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.

3.4 Apresentação da Área de Projeto - Direção de Controlo de Gestão

O sistema financeiro compreende o conjunto de instituições financeiras que asseguram,


essencialmente, a canalização da poupança para o investimento nos mercados financeiros,
através da compra e venda de produtos financeiros. Neste caso, o Santander, toma decisões
sobre investimento, produção e a oferta de trabalho.

3.4.1 Divisão de controlo de gestão

A mestranda exerceu as suas funções de projeto na Direção de Controlo de Gestão (DCG)


que é composta pela Divisão de Controlo de Gestão de Custos (DCGC), Divisão de Controlo de
Gestão da Banca Comercial (DCGBC), Divisão de Controlo de Gestão do Grupo Consolidado
(DCGGC) e pela Divisão de Controlo de Gestão do Banco, Atividades Corporativas (AC), ALCO
(DCGBACA). Inicialmente estava previsto a mestranda exercer funções de automatização na
DGCC e DCGGC mas acabou por automatizar apenas dois documentos na DGCC, dos quais um
foi programado em Excel e o outro em Access.
~
A DCG contribui para os objetivos estratégicos do Grupo, garantindo a fiabilidade da
informação de gestão às demonstrações financeiras das empresas do Grupo e a sua adequação
às normas internas e do Grupo, proporcionando informação útil e fiável para a tomada de
decisão da Administração e das áreas de negócio e de suporte, bem como para as entidades
supervisoras e Grupo Santander. As principais funções desta direção são a produção de
informação para o Grupo Santander, Conselhos de Administração e Comissão Executiva e
Auditores Internos e Externos, elaborar o orçamento consolidado do Grupo a partir dos
orçamentos das sociedades e das áreas de negócio, assegurar o sistema de informação de
gestão do Grupo, e fornecer análises dos desvios orçamentais e variações das diferentes áreas
de negócio e de reporte do Grupo e apoiar o Controller em seguimentos de assuntos especiais
como Espanha, (Organização e Estrutura: Alterações Orgânicas – DCG 2014, 2014:1).

3.4.1.1 Divisão de Controlo de Gestão de Custos

A DCGC tem como funções:

- Implementar e desenvolver o modelo corporativo de imputação e seguimento de custos


operativos às áreas de negócio, procedendo à elaboração do orçamento de acordo com as
categorias definidas (sociedade, conceito de custo, centro de custos, área de negócio e
funções);
- Efetuar a manutenção do sistema de suporte ao modelo corporativo nas diversas
vertentes (drivers, atualização dos conceitos corporativos de custos e de centros/funções),

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

3.4.1.2 Divisão de Controlo de Gestão da Banca Comercial

A DCGBC tem como funções:

- 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

A DCGGC tem como funções:

- Coordenar e articular com as diferentes áreas e sociedades a elaboração do Orçamento


consolidado do Grupo, a partir do orçamento individual de cada sociedade, validando a sua
coerência face aos pressupostos e às operações entre entidades do Grupo;
- Elaborar o orçamento de acordo com os critérios do Grupo Santander, acompanhar a
evolução dos resultados e os desvios face ao mesmo. Proceder à reconciliação dos resultados e
orçamento elaborados de acordo com os critérios do Grupo Santander com os critérios locais;
- Analisar mensalmente a evolução do orçamento, apurar variações e desvios e obter as
justificações junto das sociedades e dos negócios que os originaram;
- Coordenar e articular com as diferentes áreas de controlo financeiro/prestação de contas
a elaboração da estimativa de fecho mensal, trimestral e anual dos resultados e volumes
consolidados do Grupo, de acordo com os critérios do Grupo Santander e os critérios locais;
- 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, através do seguimento
dos volumes, resultados e rácios de gestão, quer do Grupo Santander, quer locais,
(Organização e Estrutura: Alterações Orgânicas – DCG 2014, 2014:1).

3.4.1.4 Divisão de Controlo de Gestão do Banco, Atividades Corporativas (AC),


ALCO

A DCGBACA tem como funções:

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

3.5 Organograma da Direção de Controlo de Gestão

O organograma seguinte representa as relações hierárquicas e as unidades funcionais e


cargos da área em que a mestranda se encontra inserida. O organograma permite aos
colaboradores saber exatamente quais são as suas responsabilidades, as suas funções e a
quem devem reportar o seu trabalho.

Deve-se levar em consideração que o organograma é uma representação da área neste


momento, e pode ser alterada futuramente.

Diretor/Coordenador de
Controlo de Gestão e
Capital

Direção de Controlo de
Gestão

Divisão de Controlo Divisão de Controlo Divisão de Controlo


Divisão de Controlo
de Gestão da Banca de Gestão de Banca, de Gestão de Grupo
de Gestão de Custos
Comercial AC e ALCO Consolidada

Figura 2 - Organograma da Direção de Controlo de Gestão

Adaptado de: “Organização e Estrutura: Alterações Orgânicas”, DCG 2014, 2014:2

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.

A Direção/Coordenação de Controlo de Gestão e Capital é composta por mais áreas, pois é


a área superior. A mestranda apenas criou o organograma com o intuito de exemplificar a
estrutura e o report feito entre a área em que se encontra inserida.

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.

3.6 Caraterização dos SI/TIC

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

Na área de Controlo de Gestão existe um total de 26 computadores, sendo que a


maioria tem como sistema operativo Windows 7. Apenas uma pessoa utiliza o Windows 8. As
marcas variam entre HP e LG. O processador predominante é o intelcorei3, sendo também
utilizados o Intel Pentium e o Intel Core i5 e i7.

20
 Software

A tabela 1 - Software pretende caraterizar osoftware utilizado subjacente à tarefa. O


software mais utilizado é o seguinte: Lync, Microsoft (principalmente powerpoint, excel e
access), Outlook.

Software Utilizado Utilização na organização


Lync software de mensagens instantâneas que serve de substituto para o
Windows Messenger em ambientes corporativos e empresas.
Microsoft Office – Access Criação de tabelas, consultase relatórios para desenvolvimento da
form.
Desenvolvimento de form, macros e código VBA.
Microsoft Office – Excel Desenvolvimento de calendarização de tarefas.
Desenvolvimento de form, macros e código VBA.
Microsoft Office – Troca de e-mails. Consulta da agendae tarefas. Visualizardetalhes de
Outlook contactos na organização, como por exemplo a extensão telefónica.
Microsoft Office – Word Levantamento de requisitos para o desenvolvimento de tarefas.
Máquina Utilizada para tratamento automático de informações ou
processamento de dados.
Acesso á Rede Permite a comunicação e partilha de arquivos entre diversos
computadores. Uma vez que as várias divisões trabalham com
documentos comuns, ou seja, mensalmente cada divisão actualiza por
exemplo uma sheet de excel com a sua informação para posterior
tratamento por parte de outra divisão é necessário ter uma forma que
permita o acesso rápido e fácil ao ficheiro.
Perfis de utilizador Permite a interação de utilizadores com um sistema de comunicações
para permitir a inicialização dotratamento de informações do
utilizador. Um acesso começa com uma emissão de uma requisição de
acesso por um originador de acesso. Os perfis de utilizador garantem
que as preferências pessoais são utilizadas cada vez que inicia sessão
no Windows.
Medidas de segurança Realização de backups diários automaticamente realizados ao fim do
dia. Se, por qualquer motivo, houver perda dos arquivos originais, a
cópia de segurança armazenada pode ser restaurada para repor os
dados perdidos.
Utilização de UPS (UninterruptiblePowerSupply, em português, Fonte
de Alimentação Ininterrupta) que permite alimentar dispositivos a ela
conectados quando há interrupção no fornecimento de energia.
Alteração mensal da password de utilizador.
Tabela 1 - Software

É de referir que existem colaboradores com 2 computadores uma vez que há


processos que demoram imenso tempo a processar. Assim, para não perderem horas de
trabalho utilizam um segundo computador para elaborarem outros processos.
Exemplo de processos demorados: Macros em access e no excel.
Estimativa de horas: aproximadamente 4h a correr uma macro.

21
4. Automatização de tarefas

O capítulo 4 descreve as tarefas do projeto que se centraram na Tarefa 1 - Form para


tratamento das Incos e Tarefa 2 - Tratamento e Criação de Mapas Desglose. A primeira tarefa
teve a duração de 7 meses e foi realizada através de criação de tabelas, consultas e relatórios
no Access, sendo também utilizado o código VBA e forms para consolidação do código com
essas ferramentas. Por sua vez, a segunda tarefa teve a duração de 2 meses e foi realizada
através de código VBA no Excel, sendo também utilizadas macros para auxiliar o código e
fórmulas do Excel para fazer validações, por exemplo.

4.1 Tarefa 1 - Interface de custos (Incos)

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

Com base em documentos já criados e em 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:

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

A documentação necessária para a execução da tarefa de Interface de Custos centra-se no


tratamento de tabelas de uma base de dados com extensão “.accdb”.É de referir que ficheiros
com extensão “.accdb” estão associados aos ficheiros do Microsoft Access.

A metodologia utilizada para a realização desta tarefa centrou-se na realização de reuniões


com guião formal, descrito no Anexo 1, com o objetivo de recolher e validar os requisitos
necessários para a automatização dos ficheiros. As reuniões não tinham uma data específica,
mas normalmente havia pelo menos uma reunião por semana. Basicamente quando o
trabalho avançava, o orientador e a mestranda reuniam-se de forma a validar o trabalho feito.
Por outro lado, foi disponibilizado um documento à mestranda com todos os procedimentos
manuais que deviam ser automatizados.

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.

Antes de se proceder à explicação do ficheiro, é necessário compreender os conceitos base


“Incos”. A palavra “Incos” é uma abreviatura de “Interfaces de Custos”. O principal objetivo
desta tarefa é, através do tratamento de diversas tabelas, obter as Incos 01 – 07.

A Incos01 diz respeito à Interface de Informação de Custos, a incos02 é a Interface de


Informação de Ajustes sobre Custos, a incos03 é a Interface de Informação de Contas de
Custos, a incos04 é a Interface de Informação de Repartição de Custos, a incos05 é a Interface
de Informação de Custos Pró-memória, a Incos06 é a Interface de Informação de Drivers por
Controlo de Custo e a incos07 é a Interface de Informação de Drivers por Área de Negócio.

23
4.1.3.1 Ficheiros de suporte à criação das Incos

Elaborou-se a tabela 2 no sentido de especificar os ficheiros Excel recebidos por áreas


da organização, por exemplo, contabilidade e recursos humanos. Estes ficheiros têm como
objetivo preencher tabelas do Access através de imports e assim, auxiliar na criação das Incos.
Nome do ficheiro (e Objetivo Tabela Access a ser
extensão) preenchida
1 Quadro Pessoal (.xls) Permite criar a incos06 F01Incos06_Month
2 Quadro Pessoal ANT (.xls) Comparar headcount do mês F01Incos06_Month
atual e do mês anterior
3 Custos com pessoal (.xls) Permite criar parte da incos02 F01Incos02_RH
4 Balancete contravalor (.xls) Permite criar a incos01 Balancetes
5 Balancete contas MOV (.xls) Só inclui contas movimento do Balancetes_contas_mov
Balancete, pode ser útil para
análises futuras
6 Ficheiro contabilidade (.xls) Permite criar a incos01 Ficheiros_Contabilidad
7 GLL 15000_TXT (.xls) GLL
8 SAL 00100 (.xls) SAL
9 MIDAT (.xls) Permite criar parte da incos02 MIDAT e MIDAT_TMP
10 Rendas (.xls) Permite criar parte da incos02 Intragrupos_TMP
Tabela 2 - Ficheiros a extrair do Excel

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.

4.1.3.2 Tabelas de suporte à criação das Incos

Elaborou-se a tabela 3 no sentido de especificar as tabelas utilizadas no processo, no


sentido de, posteriormente, melhor compreender o funcionamento da form criada.
Nome da tabela Objetivo
1 Selecionar_Ficheiros Armazena o diretório dos ficheiros Excel selecionados na form inicial.
2 T01Incos0*_H No início de cada processo é armazenado no histórico, uma cópia da
tabela F01Incos0* do mês anterior.
3 T01Incos0* Tabelas de trabalho temporárias para criação das F01Incos0*
4 F01Incos0* Tabela incos final.
5 F01Incos0*_ANT Armazena informação da tabela “F01Incos0*” do mês anterior.
F01Incos01_02ANT Armazena informação da tabela “F01Incos02” do mês anterior.
6 F01Incos01-02ANT Armazena informação das tabelas “F01Incos01” e “F01Incos02” do mês
anterior.
7 T_MES Tabela com informação relativa ao mês a ser processado.
8 Balancetes Ficheiro recebido pela contabilidade. Essencial para a criação da Incos01.
9 Balancetes contasmov Ficheiro Balancetes só com contas movimento para possíveis observações.
Tabela 3 - Tabelas da BD “01_Custos_SAN.accdb”

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)

A tabela 4 pretende indentificar as tabelas existentes na BD e explica qual o seu objetivo


no processo. Assim, através da leitura desta tabela podemos ter uma noção de que tabelas são
essencias na criação as inco uma vez que têm informação importante que será utiliza na
criação das mesmas.

Por sua vez, a tabela 5 pretende identificar todas as tabelas que servem como auxílio para
o tratamento da tabela T01Incos02.

Nome da tabela Objetivo


1 F01Incos02_RH Tabela de suporte à criação da T01Incos02 – DCRH
2 DCRH_centro_6971 Tabela de suporte à criação da T01Incos02 – DCRH
3 Tecnologia_Midat Tabela de suporte à criação da T01Incos02 – Tecnologia
4 Tecnologia_Conceitos Tabela de suporte à criação da T01Incos02 – Tecnologia
5 Tecnologia_Diferença Tabela de suporte à criação da T01Incos02 – Tecnologia
6 Tecnologia_Prioridades Tabela de suporte à criação da T01Incos02 – Tecnologia
7 Percentagem_Origem Tabela de suporte à criação da T01Incos02 – Percentagem
8 Percentagem_Distribuição Tabela de suporte à criação da T01Incos02 – Percentagem
9 Rendas_TMP Tabela de suporte à criação da T01Incos02 - Rendas
Tabela 5 - Tabelas de suporte à criação da T01Incos02

No Anexo 2 – Tabelas da BD “01_Custos_San.accbd” podemos visualizar a estrutura


das tabelas.

25
4.1.4 Form para tratamento das incos

Na figura 3 é possível visualizar a form inicial da tarefa 2 – Interface de Custos (Incos). De


forma resumida, esta form permite selecionar todos os ficheiros em excel necessários para
preencher as tabelas que têm informação essencial para criar as tabelas finais. Além disso,
permite aceder às várias tabelas existentes, seja para efetuar manutenções ou visualizar
dados, e permite atualizar a data do processamento, através da tabela “T_MES”. Por outro
lado, nesta form é possível correr todas as etapas do processo, ou seja, é possível correr o
processo completo e/ou aceder a uma sub form e correr o processo detalhado.

Figura 3 - Form inicial “Incos”

Através da explicação da figura 3, esta seção funcionará como um manual do utilizador


para que os utilizadores tenham percepção do funcionamento do processo e do que devem
fazer caso o processo seja interrompido.

a. SELECIONAR FICHEIROS

A form permite ao utilizador, aceder ao diretório e selecionar os ficheiros necessários


para iniciar o processo. Através da figura 4, podemos visualizar que ao serem selecionados um
ou múltiplos ficheiros, aparece no canto superior esquerdo de pesquisa no diretório, a
informação relativamente ao nome do ficheiro que deve ser selecionado, por exemplo:

Ficheiro a ser
selecionado

Figura 4 - Incos - Selecionar Ficheiro

O objetivo da figura 4 passa por identificar o nome do ficheiro a ser selecionado


servindo de guião a listagem selecionada pelo utilizador na form.

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.

Além disso, ao ser selecionado um ou vários ficheiros, se as checkbox e as textbox


estiverem vazias deve aparecer a mensagem da figura 5:

Figura 5 - Erro - Selecionar ficheiros

Após ser selecionado o diretório para cada ficheiro selecionado, o diretório é


atualizado na tabela “Selecionar_ficheiros”, composta pelas colunas correspondentes a cada
ficheiro e que se encontra no Anexo 2.1 – Tabela “Selecionar_Ficheiros”. O objetivo desta
tabela, é poder utilizar o diretório já atualizado na form inicial, sem ter que selecionar
novamente o diretório desta ficheiro na sub form seguinte, por exemplo, a sub form do
processo detalhado.

b. TRATAMENTO DO FICHEIROS DO PROCESSOS


Nesta seção é possível compreender o funcionamento do processo da criação das
Incos. Nomeadamente, a seleção da data e tipo de ficheiro a ser tratado, através da seção “I.
T_MES”, tratamento do ficheiro completo e do processo detalhado, através da seção “II.
PROCESSO” e o acesso a tabelas para manuntenção ou visualização de dados, através da seção
“III. MANUTENÇÃO”.

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

Figura 6 - Preencher "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.

Figura 7 - Mês em Análise

Ou seja, quando são inseridos os novos dados na tabela, é pressionado o botão


“GRAVAR” e os valores são atualizados em todas as forms. A data é correspondente ao mês em
análise e encontra-se no canto superior direito das forms.

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.

Antes de iniciar o processo do novo mês é necessário guardar a informação processada


no mês anterior. Assim este botão inicia o processo e permite atualizar tabelas “T01”
históricas, ou seja, armazenar a informação das tabelas F01Incos0* do mês anterior nas
tabelas T01Incos0*_H; limpar as tabelas “T01” e “F01”; criar uma cópia de segurança da base
de dados em zip; armazenar a informação da tabela “F01Incos01”e “F01Incos02” nas tabelas
“F01Incos01_ANT” e “F01Incos02_ANT”, respetivamente depois de as limpar; e criar uma
cópia das duas na tabela F01Incos01_02_ANT” depois de a limpar e atualizar o “T_MES”.

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:

As hipóteses diferem na etapa seguinte: Após serem selecionados os ficheiros Excel e


atualizada a informação do mês anterior, é 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. E
é corrida uma consulta que verifica se existem centros ou contas novas no ficheiro
contabilidade. Caso não existam centros ou contas novas o processo continua e dá-se início à
criação das incos.

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.

A fase de produção das interfaces inclui:

a) Produzir os ficheiros excel das interfaces: Na figura 8 é possível visualizar a estrutura


das Interfaces em Excel.

Figura 8 - Ficheiro Excel das Interfaces

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.

b) Gerar interfaces: Na figura 9 é possível visualizar a estrutura das Interfaces em


formato de texto (.txt). As interfaces são enviadas para Espanha mas como têm um
layout diferente do ficheiro Excel deve ser feito um tratamento às tabelas de forma a
obter uma extensão de texto (txt), este tratamento é feito no Access.

Figura 9 – Ficheiro texto das Interfaces

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.

No Anexo 3 – Relatório final é possível ver um exemplo do mesmo.

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

Estas validações são efetuadas no momento em que o utilizador insere os ficheiros de


texto no SCC. E estas validações têm dois momentos. A primeira validação é mais rápida,
demora aproximadamente uminuto, e faz validações prévias, valida se o cabeçalho está
correto e se existem duplicados. No segundo momento, efetuam-se validações de coerência,
pois são mais demoradas. Caso apareça a palavra “Avance”, avance em português, é porque o
ficheiro está correto, caso apareça a palavra “Rechazado”, recusado em português, o ficheiro
necessita de ser modificado.

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

Figura 10 - Msg Box primeira paragem

De seguida é aberto um relatório com todas as alterações efetuadas até ao momento.


No Anexo 4 – Relatório Incos Validações Iniciais é apresentado um exemplo do mesmo. O
processo pára neste momento, porque a incos01 e a incos02 são criadas tendo em conta a
informação das tabelas centros e contas. É neste momento que se pode utilizar o botão 2 que
corresponde à “2º Parte do Processo” e após selecionar as incos que se pretende criar,
automaticamente é selecionada a checkbox “Validações”, pois é obrigatório fazer validações e,
podemos decidir já, se queremos criar as interfaces finais. Caso contrário, é possível optar

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.

III. Manutenção de Tabelas

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.

4.1.4.1 Processo Detalhado

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.

Figura 11 - Form Processo Detalhado

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.

Figura 12 - Abrir Form

Através do código representado na figura 12 é possível abrir a form seguinte.

4.1.4.1.1 Backup de Históricos

O código em questão permite abrir a form de Backup de Históricos que representa o


primeiro botão. Esta form representa a primeira parte do processo, em que é necessário
armazenar a informação do mês anterior nas tabelas históricas (exemplo: Tabela
T01Incos01_H) e anteriores (exemplo: Tabela F01Incos01_ANT). Na figura 13 é possível
visualizar o layout da form.

Figura 13 - Backup de históricos

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.

Figura 14 - Botão 1 – Atualizar Históricos

A figura 14 pretende demonstrar o código necessário na atualização de histórico de


forma a compreender o seu funcionamento. Este botão permite actualizar históricos e tem
como objetivo inserir na tabela T01Incos0*_H toda a informação do mês anterior contida nas
tabelas finais F01Incos0*. Antes de inserir a informação na tabela histórica, verifica se já
existem dados com a mesma data contida na tabela F01Incos0*. Caso existam, esses dados são
eliminados e é inserida na tabela histórica a informação pretendida.
O botão 2 permite limpar todo o conteúdo existente as tabelas T01Incos0*.

Na figura 15 podemos verificar que o botão 2 permite limpar todo o conteúdo


existente as tabelas T01Incos0*.

Figura 15 - Botão 2 - Limpar Tabelas T01

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.

Figura 16 - Botão 3 - Cópia de segurança

Basicamente o Zip é um formato de arquivo usado para compactação de dados


armazenados no computador. O objetivo da compactação é reduzir o tamanho de um arquivo
ou agrupar vários arquivos em um só. Este passo é muito importante porque os utilizadores
armazenam informação mensalmente em zip para ser mais fácil a pesquisa de informação. Os
utilizadores podem preciisam de comparar dados do mês atual com os do mês anterior, ou até
com meses de anos anteriores.
O botão representado na figura 17 chama uma macro que inclui vários procedimentos.

Figura 17 - Botão 4 - Preparar tabelas F01 ANT

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.

Figura 18 - Botão 5 - Limpar tabelas F01 ANT

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.

Figura 19 - Botão 6 - Atualizar T_MES

A primeira consulta permite eliminar a data anterior existente na tabela T_MES. A


consulta dois, permite inserir uma data padrão, com o formato adequado, para
posteriormente inserir os dados finais. Por fim, a última consulta permite através de Input Box
atualizar as datas e o tipo do ficheiro. Na figura 20 é possível ver um exemplo da Input Box.

Figura 20 - Input Box Fec_Data

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.

Figura 21 - Msg Box "Processo Concluído!"

4.1.4.1.2 1º Parte do Processo

A segunda parte – 1º Parte do Processo, representada na figura 22, permite


visualizar/selecionar/atualizar os ficheiros principais que irão permitir criar as incos finais.
Permite criar a F01Incos06 e a T01Incos01 e faz validações que podem levar a que o código
seja interrompido e seja gerado um relatório de erros.

Figura 22 - 1º Parte do Processo

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

Figura 23 – Comparações F01Incos06

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.

Esta validação é compreendida através da diferença entre totais, que corresponde ao


número de head count por centro. Ou seja, se a diferença de totais for zero significa que não
existe ninguém a trabalhar naquele centro.

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

Figura 24 - Agregar dados F01Incos06 com driver01

A primeira consulta permite preencher os campos valor e cod_centro_coste da tabela


F01Incos06 com todos os registos tratados do ficheiro Quadro Pessoal, logo, o append é feito
da tabela Month1 porque para este caso não necessitamos dos registos do mês anterior. Na
segunda consulta são preenchidos os restantes campos da tabela final, nomeadamente dados
da T_MES, valores constantes, por exemplo o código_pais e por fim, o cod_driver com o
código correspondente ao headcount (valor fictício).

Figura 25 - Agregar dados F01Incos06 com driver02

Por fim, é necessário adicionar o driver 02 (valor fictício) relativo aos m2 de


determinado centro. Esta informação encontra-se na tabela T01Incos06_Aux, que é uma
tabela de manutenção manual, ou seja, sempre que existir um centro novo, é providenciada
informação sobre o mesmo e relativamente aos m2 que ocupa e este centro é adicionado
pelos utilizadores na tabela correspondente. No final obtemos o headcount e o número de m2
para cada centro que se encontra no ficheiro Quadro Pessoal.
O botão 2 efetua validações sobre a F01Incos06, nomeadamente, verificar se existem
centros que não se encontram nas tabelas ficheiros contabilidade e tabela contas.

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.

Figura 26 - Importar ficheiro

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

Figura 27 - Consultas para auxiliar na importação de ficheiros


~

A primeira consulta permite verificar na tabela, neste caso, Balancetes se já existem


registos com a data que se encontra na tabela T_MES. Assim, caso existam, esses registos são
eliminados – consulta delete - para evitar duplicação de dados. A segunda consulta permite
limpar – consulta delete - os registos da tabela Balancetes_TMP. Posteriomente é feita a
importação dos dados do ficheiros Excel correspondente e através da terceira consulta, o
campo fec_data é atualizado – consulta update - através da data existente na tabela T_MES.

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

Figura 28 - Centros ou Contas Novas

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.

Figura 29 - Agregar dados T01Incos01

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.

Campo a preencher Informação a selecionar Campo a Informação a selecionar


preencher
Ind_Balancete Informação da Tabela Contas Cod_Centro_Coste Centro associado a determinada
conta. Informação presente na
tabela contas
Cod_pais Refere-se ao país e é uma Ind_grupo Indicado de grupo associado a
constante. É sempre “PT”. determinada conta da tabela
contas
Fec_data Informação da tabela T_MES: Importe_acumulad Saldo final da tabela
campo Fec_Data o Ficheiros_Contabilidad associado
a determinada conta
Fec_fichero Informação da tabela T_MES: importe_acumulad Semelhante à anterior. Uma vez
campo Fec_Fichero o_terceros que na incos01 só existem
indicadores de grupo terceiros
“T”, o saldo final reflete-se neste
campo
Moneda Refere-se à moeda utilizada no importe_acumulad Igual a zero uma vez que não
país e é uma constante. É o_grupo existem indicadores de grupo
sempre “EUR”. com a letra “G”, referentes a
Grupo
Naturaleza Informação da tabela T_MES: Empresa O campo empresa da tabela
campo naturaleza ficheiros_contabilidade devem
ser específicos.
Tabela 8 - Agregar dados T01Incos01

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.

4.1.4.1.3 Gerar T01Incos02

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.

A figura 31 mostra todos os procedimentos necessários para gerar a tabela T01Incos02


e posteriomente gerar a tabela final, F01Incos02. Esta tabela é a mais complexa e após esta ser
concluída deve-se fazer uma validação, antes de se continuar com o processo. Isto porque esta
tabela precisa de muita trabalho manual e validações porque basicamente esta inclui todos os

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.

Figura 30 - Gerar T01Incos02

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.

Figura 31 - T01Incos02 DCRH


43
Segundo o código apresentado na figura 32, inicialmente é verificada se a textbox
referente ao ficheiro custos com pessoal, ou seja, DCRH está vazia. Se estiver vazia aparece
uma msgbox a avisar que é necessário selecionar o ficheiro antes de proceder à sua execução.
Caso contrário, a tabela F01Incos02_RH e DCRG_centro_6971 são limpas. Estas tabelas contêm
informação temporária, proveniente dos ficheiros Excel e serão essenciais para auxiliar a criar
a primeira parte da T01Incos02. Posteriormente é feito uma importação dos dados do ficheiro
custo com pessoal para a tabela F01Incos02_RH e, caso existam, são eliminadas todas as
colunas com nulos. É possível ver a sua estrutura no Anexo 2.

Figura 32 - Tratamento T01Incos02: DCRH

Segundo a figura 32, e continuando o raciocínio do código mas através da demonstração


de consultas, como a tabela com a informação do ficheiro Excel possui excesso de informação,
é copiada a informação mais importante para a tabela DCRH_centro_6971_TMP.

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.

Posteriormente é feito um append dessa informação para a tabela T01Incos02.

44
Na tabela 9 é possível visualizar como se deve preencher a T01Incos02.

Campo a Informação a selecionar Campo a Informação a selecionar


preencher preencher
Cod_pais Refere-se ao país e é uma constante. Cod_Concepto_ Informação obtida através do ficheiro
É sempre “PT”. Coste Excel ou através da T01Incos01.
Fec_data Informação da tabela T_MES: campo Ind_grupo Indicado de grupo associado a
Fec_Data determinada conta da tabela contas
Fec_fichero Informação da tabela T_MES: campo Importe_acumu Saldo final da tabela
Fec_Fichero lado Ficheiros_Contabilidad associado a
determinada conta
Cod_Moned Refere-se à moeda utilizada no país importe_acumu Se o indicador de grupo for terceiros
a e é uma constante. É sempre “EUR”. lado_grupo “G”, o saldo final reflete-se neste
campo.
Cod_Entidad Informação da tabela T_MES: campo Cod_Compana Sempre que o ind_grupo é “G” ou “A” é
cod_entidad. É sempre requerida obrigatório existir um cod_compana.
caso o ind_grupo seja “G” ou “A”.
Cod_Centro Informação obtida através do importe_acumu Se o indicador de grupo for terceiros
_Coste ficheiro Excel ou através da lado_terceros “T”, o saldo final reflete-se neste
T01Incos01. campo.
Tabela 9 - Agregar dados T01Incos02

O botão 4 permite tratar os conceitos/centros de tecnologia. Este procedimento faz-se


através de duas tabelas temporárias, a tabela Tecnologia_Midat que é preenchida com os
dados da tabela Midat e a tabela Tecnologia_Conceitos com os da T01Incos01. O objetivo é
comparar os valores obtidos para os conceitos da T01Incos01 com os do Midat e determinar
assim, que conceitos/centros são intragrupos. Uma vez que as tabelas não se podem
relacionar é estabelecida uma relação entre o midat e a tabela conceptos-cargabal como se
pode verificar na consulta que se encontra na figura 33 para preencher a tabela
Tecnologia_Midat.

Figura 33 - Preencher Tecnologia_Midat

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.

Tabela 10 - Dados obtidos na tabela Tecnologia_Midat

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.

Tabela 11 - Dados obtidos na tabela Tecnologia_Conceitos

Como podemos verificar, o indicador_grupo é sempre “T”porque na T01Incos01 não


existem valores de grupo. Agora já é possível comparar os conceitos da tabela midat com os da
tabela conceitos e determinar quais devem ficar como grupo. É possível determinar se um
conceito é grupo determinando a diferença entre o valor do midat e o da T01Incos01 para
determinado conceito.

Na tabela 12 podemos visualizar a tabela tecnologia_diferença que inclui as várias


combinações de conceitos/centros e o valor da diferença entre as duas tabelas.

Tabela 12 - Exemplos de dados obtidos na tabela Tecnologia_Diferença

46
Existem três regras para determinar se o conceito é grupo ou terceiros:

1- Diferença for >0 - Conceito 0001 Centro 2020/Centro 2500

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.

2- Diferença = 0 – Conceito 0002 Centro 2020

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.

3- Diferença <0 – Conceito 0009 Centro 2500

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.

Tabela 13 - Diferença <0

Ambos os registos incluem a mesma combinação conceito/centro. Mas no primeiro


registo, o ind_grupo passa a “A”, sendo que o valor a inserir em grupo é o valor do midat, e no
segundo registo, o ind_grupo continua “A” mas o valor a inserir é em terceiros, , sendo este a
diferença que resulta, não pertencendo a grupo. Por fim, o campo valor, deverá ser igual a
soma do campo grupo e terceiro para a mesma combinação de conceito/centro.

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.

O botão 5 permite tratar os conceitos/centros relacionados com percentagens. Ou seja,


tem como objetivo redistribuir custos de um centro origem entre um ou mais centros destino.
Por exemplo, o centro1 da T01Incos01 e tem um custo de 100€, mas esse valor devia ser
imputado e distribuido entre 3 centros diferentes, logo numa tabela final deveriamos ter:
centro2=20€, centro3=30€ e centro4=50€, por exemplo. Esse valor é distriuido por centros
através de percentagens previamente definidas de forma a perceber quanto se pretende
inserir no novo centro.

47
Na figura 34 é possível visualizar o código que permite automarizar estes centros.

Figura 34 - Centros percentagem

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.

Figura 35 - Dados das tabelas Percentagem

A primeira tabela inclui todas as combinações de centros/conceitos que se podem


encontrar na T01Incos01. Na segunda tabela podemos verificar o qual é o centro destino para
essa combinação definida. Para cada centro existe uma percentagem definida, sendo que é
possível o mesmo centro origem permanecer no destino com a totalidade do seu valor. Mas
também é possivel distribuir o valor de um centro por um ou mais centros diferentes.

Este tratamento é feito em duas tabelas temporárias como se pode verificar na figura 36.

Figura 36 - Dados das tabelas Preparar1 e Preparar2

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.

O botão 6 é referente ao tratamento de conceitos associados a rendas. As rendas quando


são enviadas também estão em terceiros, é necessário corrigir e passar centros com rendas
para grupo e informar a sociedade. Basicamente, o ficheiro recebido é tratado na tabela
Rendas que é uma cópia da tabela Rendas_TMP que inclui os dados do ficheiros Rendas
importado através do Excel.

Figura 37 - Tratamento de Rendas

Na figura 37 é possível verificar que ao iniciar o processo é necessário indicar através de


uma inputbox qual é o número do mês em análise. Esta informação é importante porque o
valor recebido no ficheiro rendas deve ser multiplicado pelo mês em análise para se obter o
valo real. Isto acontece porque o ficheiro não é entregue todos os meses. O valor presente no
documento é um acumulado mensal.

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.

Figura 38 - Relatório Rendas 49


Caso exista um registo com uma diferença entre a T01Incos01 e o ficheiro Rendas, o
botão “OK” irá permitir criar um novo registo para esse centro sendo o seu valor igual à
diferença. O objetivo é o valor de cada centro dar zero.

4.1.4.1.4 Validações e Relatório de Erros

Nesta seção são criadas as incos em falta, nomeadamente T01Incos03, T01Incos04,


T01Incos05 e T01Incos07. Além disso, são geradas as tabelas finais – F01Incos –, são feitas as
validações finais às incos de forma a que o ficheiro seja inserido no SCC com o formato
adequado e é gerado o relatório de erros. Na figura 39 é possível visualizar o layout da form
de Validações e Relatório de Erros.

Figura 39 - Validações e Relatório de Erros

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.

Campo a Informação a selecionar Campo a preencher Informação a selecionar


preencher
Cod_pais Informação proveniente da Codigo_naturaleza Informação proveniente da união das
união das T01Incos01 e 02 T01Incos01 e 02
Fec_data Informação da tabela Cod_Centro_Coste Informação proveniente da união das
T_MES: campo Fec_Data T01Incos01 e 02
Fec_fichero Informação da tabela Descripcion Descrição do centro que se encontra nas
T_MES: campo Fec_Fichero tabelas T01Incos01 e 02, sendo que
ainformação se encontra na tabela
centros: campo DECTO.
Moneda Informação proveniente da Ind_red Informação proveniente da tabela
união das T01Incos01 e 02 centros. Determina se é I
Cod_entidad Informação da tabela Cod_Nivel III Informação proveniente da união das
T_MES: campo cod_entidad T01Incos01 e 02
Tabela 14 - Agregar dados T01Incos03

O botão 2 permite agregar dados à T01Incos04, que inclui dados de matriz de


dedicação por centro. Esta tabela serve para repartir os centros por áreas de negócio e segue o
mesmo raciciocínio que a tabela anterior. A única diferença é que a união das T01Incos01 e 02
estabelece uma relação com a matriz dedicação, permitindo assim criar a T01Incos04, como se
pode verificar na tabela 15.

Campo a Informação a selecionar Campo a preencher Informação a selecionar


preencher
Fec_data Informação da tabela Cod_entidad Informação da tabela T_MES: campo
T_MES: campo Fec_Data naturaleza
Fec_Fichero Informação da tabela Cod_centro_custos Informação proveniente da união das
T_MES: campo Fec_Fichero T01Incos01 e 02
Cod_entidad Informação da tabela AANN_NIVI Informação proveniente da matriz
T_MES: campo cod_entidad dedicação.
Naturaleza Informação da tabela Por_Reparto Informação proveniente da matriz
T_MES: campo naturaleza dedicação
Tabela 15 - Agregar dados T01Incos04

Através da consulta “P11 Interface_Incos01”, o botão 3 permite limpar as tabelas


F01Incos e inserir a informação da tabela T01Incos na F01Incos correspondente.

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.

Figura 40 - Relação entre centros

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.

Campo a Informação a selecionar Campo a preencher Informação a selecionar


preencher
Codigo_Pais Informação da tabela Cod_entidad Informação da tabela T_MES: campo
T01Incos05_Aux naturaleza
Cod_entidade Informação da tabela Cod_centro_custos Informação proveniente da união das
T01Incos05_Aux T01Incos01 e 02
Naturaleza Informação da tabela AANN_NIVI Informação proveniente da matriz
T01Incos05_Aux dedicação.
Cod_Centro_Coste Informação da tabela Por_Reparto Informação proveniente da matriz
T01Incos05_Aux dedicação
Tabela 16 - Agregar dados F01Incos05

Só os centros que se encontram na T01Incos01 e 02 é que vão aparecer na tabela


F01incos05, porque a tabela T01Incos05_Aux é histórica e inclui informação de centros que
não são pertinentes para o caso. Os botões 5 e 7 permitem verificar se existem centros que se
encontram nas incos01, 02 e 06 e não se encontram nas incos04 e 03 respetivamente. Caso
existam centros, estes são atualizados na incos correspondente através dos botões 6 e 8. O
botão 9 permite verificar se existem duplicados em cada uma das Incos.
Na figura 41, a consulta permite verificar se existem duplicados na F01Incos01.

Figura 41 - Verificar duplicados na F01Incos01

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.

4.1.4.1.5 Produzir Interfaces

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.

Figura 42 - Produzir Interfaces

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.

Figura 43 - Gravar Interfaces

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.

Figura 44 - Gerar Interface

Podemos verificar que a primeira linha corresponde ao cabeçalho e as restantes


correspondem ao conteúdo da tabela.

4.2 Tarefa 2 – Tratamento e criação de Mapas Desglose

O objetivo da tarefa 2 é automatizar o ficheiro excel Desglose.xls. O ficheiro é constituído


por diversas colunas, sendo que a primeira linha diz respeito ao cabeçalho e as restantes linhas
são o corpo do documento. De forma resumida, a automatização passa por tratar o ficheiro
original Desglose para que seja obtida uma estrutura final num outro ficheiro. Essa estrutura é
obtida através da eliminação de colunas e linhas desnecessárias do Desglose e através de uma

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

A documentação necessária para a execução da tarefa de Tratamento e Criação de Mapas


Desglose centra-se no tratamento de cinco ficheiros sendo que um deles tem extensão “.xlsm”
e diz respeito ao ficheiro base que contêm a macro e os restantes têm extensão “.xlsx”.É de
referir que ficheiros com extensão “.xlsm” estão associados ao Excel Macro-EnabledWorkbook
(Microsoft Corporation), em português, ficheiros que permitem a utilização de macros.
A metodologia utilizada para a realização desta tarefa centrou-se na realização de reuniões
sem guião formal com o objetivo de recolher os requisitos necessários para a automatização
dos ficheiros.

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.

Ficheiro Guia de tratamento


(1) Desglose.xlsx Excel extraído do SCC com excesso de informação e
com colunas não pertinentes para a tarefa em causa.
(2) Preparação_BD.xslm Sheet Desglose- cópia do ficheiro 1.
Sheet Book - informação do ficheiro 1 tratada e com
redução de colunas não pertinentes.
Sheet Cabeçalho – Listagem dos vários cabeçalhos dos
ficheiros Desglose recebidos.
Sheet Macro – contêm os diretórios e os nomes dos
ficheiros a serem utilizados de forma a que estes
possam ser alterados pelos utilizadores sem ser
necessário recorrer ao código VBA.
(3) BOOK_x.xlsx Informação obtida no ficheiro 1 (cópia da sheetBook).
(4) Xanomes_cformulas.xlsx Excel com fórmulas para tratar a informação extraída
da folha Book do ficheiro 2 com o intuito de obter a
estrutura pretendida através de fórmulas já existentes
no documento.
(5) Xanomes É uma cópia do ficheiro 4, mas sem fórmulas para o
ficheiro não ficar pesado. O que os distingue é o facto
do ficheiro 4 ter no nome “cformulas” a indicar o
objetivo do ficheiro.
(6) Custos_x.xlsx Está linkado ao ficheiro 4 de cada mês. Basicamente é
um evolutivo mensal dos custos e distribui toda a
informação pela DCG de forma a que a área seguinte
inicie o seu trabalho.
Tabela 17 - Ficheiros utilizados no Desglose

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.

O processo inicia-se com a extração do primeiro ficheiro, denominado “Desglose” do SCC e


após o ficheiro ser extraído em formato Excel, com extensão “.xlsx” é feita uma cópia dessa
informação para a sheet “Desglose” do Ficheiro 2 e em simultâneo são copiadas as colunas só
com informação pertinente para a Sheet “Book” do mesmo ficheiro. No ficheiro 3 é criada uma
cópia da Sheet Book do Ficheiro 2, uma vez que este é um ficheiro de carater temporário para
criação dos mapas Desglose. No ficheiro 4, pretende-se que a informação obtida apresente
uma estrutura diferente através de fórmulas existentes no mesmo ficheiro. O ficheiro 5 é uma
cópia do ficheiro 4, mas sem fórmulas para este não ficar pesado. Por fim, o ficheiro 6 tem

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.

4.2.3.1 Ficheiro 1 – Desglose.xlsx

Na figura 45 é possível visualizar a estrutura do ficheiro inicial extraído do SCC pela


DCGC e enviado por Espanha. Este ficheiro é composto por um excesso de colunas e
informação que deve ser tratada.

Figura 45- Ficheiro 1 - Desglose

Como já foi dito anteriormente, o tratamento feito ao ficheiro 1 foca-se


essencialmente em extrair de uma folha de excel apenas a informação pertinente para o
pedido solicitado. Assim, a macro irá permitir abrir o ficheiro 1 e irá copiar para a Sheet
Desglose do ficheiro base toda a informação para posterior tratamento.

4.2.3.2 Ficheiro 2 – Preparação_BD.xlsm

O principal objetivo das folhas “Macro” e “Cabeçalhos” é evitar ao máximo que os


utilizadores finais necessitem de efetuar alterações no código. A finalidade deste projeto é
criar um código que continue a ser utilizado no futuro e evitar fazer a sua manutenção uma vez
que os utilizadores finais podem não ter conhecimento técnico nesta área para proceder às
alterações.

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.

Figura 46 - Preparação_BD.xlsm - Folha Macro

No ponto 1 – Desglose é apresentado o diretório, que normalmente é fixo, e o nome do


ficheiro que por sua vez é constantemente alterado, uma vez que diz respeito ao ficheiro a ser
tratado no momento. Assim, este campo será de carater obrigatório, uma vez que é necessário
alterar o nome do ficheiro cada vez que for recebido um novo. Este nome pode ser editado
manualmente nesta folha ou pode ser selecionado através de um browser na Form, como será
visto mais à frente.

Na figura 47, é possível visualizar a estrutura da folha “Cabeçalhos” que contêm o


cabeçalho para cada tipo de ficheiro Desglose a ser recebido.

Figura 47 - Preparação_BD.xlsm - Folha Cabeçalhos

Na listagem de A-Y ou A-X é possível visualizar o cabeçalho existente em cada tipo de


ficheiro Desglose e que diz respeito à estrutura do Ficheiro 1. Como foi dito anteriormente,

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 informação contida na figura 48, ou seja, a informação contida na Sheet “Desglose” do


ficheiro 2 é uma cópia da informação do ficheiro 1.

Figura 48 - Preparação_BD.xlsm - Folha Desglose

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.

Figura 49 - Preparação_BD.xlsm - Folha Book

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.

4.2.3.3 Ficheiro 3 – BOOK_x.xlsx

A figura 50 apresenta a informação contida no ficheiro BOOK_x.

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.

4.2.3.4 Ficheiro 4 – Xanomes_cformulas.xlsx

Na figura 51, é possível visualizar a estrutura da folha “BASE” do ficheiro


Canomes_x.xlsx, que é composto por duas folhas: a folha “BASE” e a folha ”LOCAL“.

Figura 51 - Xanomes_cformulas.xlsx - Folha BASE

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.

Figura 52 - Validações folha BASE

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.

Figura 53 - Xanomes_cformulas - Folha LOCAL

A figura 53 apresenta a estrutura final para os custos no que diz respeito ao valores
locais.

Figura 54 - Xanomes_cformulas - Folha GI

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.

4.2.3.5 Ficheiro 5 – Custos_x.xlsx

A figura 55 apresenta a informação contida no ficheiro Custos_x.xlsx.

Figura 55 - Custos_x.xlsx

Uma vez que o ficheiro “Canomes_x.xlsx” é um ficheiro de carater temporário, é criada


uma cópia num ficheiro denominado “C_x.xlsx”. O ficheiro é exatamente igual ao ficheiro
anterior mas sem fórmulas de forma a tornar o ficheiro mais leve.

4.2.3.5 Ficheiro 6 – 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.

Estes ficheiros já existiam inicialmente, mas eram tratados manualmente pelos


utilizadores da DCGC. Assim, a mestranda tentou ao máximo manter a estrutura do processo
manual realizado pelos seus utilizadores, de forma à plataforma ser userfriendly e os mesmos
saberem onde devem ir procurar a informação final.

4.2.4 Form para o tratamento dos mapas desglose

Na figura 57 é possível visualizar a estrutura final da macro denominada “Preparação


BD.xlsm”, através de uma Form criada no Excel. A form é constituída por seis seções. A
primeira seção serve para selecionar o ficheiro a ser tratado. A segunda seção, “Validação”
tem como intuito validar os ficheiros que foram tratados, principalmente, validar se o número
de registos finais corresponde ao número de registos finais. O mesmo serve para o total. As
seções três e quatro: “Gerar Book” e “Gerar Destino”, respetivamente, servem para fazer o
tratamento do ficheiro detalhadamente. A cinco seção, denominada “Macro”, serve para
tratar os ficheiros, com um só clique, e obter o ficheiro final. Por fim, a sexta seção serve para
abrir determinada folha do ficheiro base, “Preparação_BD.xlsm”, sempre que for necessário.

Figura 57 - Formda Macro Mapas Desglose

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.

Figura 58 - Especificar ficheiro Desglose

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.

Figura 59 - Selecionar ficheiro Desglose

65
4.2.4.2 Etapa 2: Gerar Book

A figura 60 engloba duas etapas, sendo estas: tratar o Ficheiro Preparação_BD.xlsx


(sheetDesglose) e o Ficheiro Book.xlsx (sheetBook). A macro “Sheet Book” tem como objetivo
tratar o ficheiro inicial utilizando o ficheiro Preparação_BD.xlsx.

Figura 60 - Macro 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”.

O botão 2 – “Gravar nome do ficheiro” introduz, no cabeçalho da folha Desglose,


informação relativa ao ficheiro, como por exemplo, desglose, visão, tipo, versão, data e hora
de tratamento do ficheiro.
O botão 3 – “Preencher Detalhe” permite abrir o ficheiro selecionado na etapa 1,
através do Browser, e copia e cola a sua informação, incluindo o seu cabeçalho, na folha
Desglose para posterior tratamento e validação.
Segundo o Botão 4 – “Validar Cabeçalho” através da folha “Cabeçalhos” (Anexo 2), é
feita uma validação ao cabeçalho do ficheiro. Basicamente, após a informação ser inserida na
folha Desglose, é colado uma linha acima, o cabeçalho que se encontra na folha “Cabeçalhos”
e que corresponde ao ficheiro que está a ser tratado, por exemplo: Desglose Área de Negócio
(AN), Tipo Orçamento e Visão Consolidada, para posterior validação. Se o valor nas duas
células coincidir aparece “OK” a verde, caso não coincida, aparece “ERRO” a vermelho.

Na folha “Cabeçalhos” é possível visualizar o cabeçalho para cada tipo de ficheiro e


uma determinada numeração a vermelho. O objetivo é tornar o código flexível, permitindo aos
utilizadores alterarem manualmente o cabeçalho para validação. É importante ter um código
flexível uma vez que Espanha altera frequentemente a estrutura do ficheiro inicial.

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.

O botão 6 – “Gerar Estrutura” consiste em eliminar do ficheiro inicial as colunas


desnecessárias e a organização dessas mesmas colunas na folha Book.
O Botão7 – “Validar Cabeçalho” – Segue o mesmo raciocínio que o botão 4, a única
diferença, é que o cabeçalho é copiado por uma determinada ordem uma vez que a
informação copiada da folha Desglose apresenta menos colunas e uma ordem diferente.

Os botões 8 -11 permitem preencher a figura 61:

Figura 61 - Validações Book

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 10 – Gerar valores finais seleciona o ficheiro Preparação BD - folha Book, e


conta o número de registos final e faz a soma do total final da coluna “imputados” de forma a
verificar se todos os registos foram tratados.
A form permite efetuar uma validação: calcula a diferença entre o total inicial e o total
final, e entre os registos iniciais e registos finais.

O botão 11 – Validar zeros permite verificar novamente se ainda existem zeros na


coluna imputados, e insere na form, o número de zeros encontrados.

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

Figura 62 - Macro 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.

4.2.4.4 Etapa 4: Macro

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.

Resumo: Tratamento do ficheiro “Preparação_BD”:


1. Determinar tipo e visão do ficheiro -> sem esta informação estar completa não é
possível iniciar o processo.
2. Validar cabeçalho

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

Podemos concluir que o principal objetivo da criação da form e do código VBA é


automatizar processos de forma a minimizar o tempo total de execução da tarefa. Isto irá
permitir que os utilizadores executem estas tarefas de forma muito mais rápida e tenham mais
tempo para executar novas.

4.3 Integração da tarefa 1 com a tarefa 2

Durante o projeto, a tarefa Desglose, que corresponde à tarefa 2, foi realizada


posteriormente à tarefa das Incos, que corresponde à tarefa 1. Mas neste relatório as tarefas
estão descristas por uma ordem diferente, apenas, por uma questão lógica, uma vez que, no
dia a dia dos utilizadores a tarefas 1 é realizada primeiro.
Segundo a figura 64, as tarefas Incos e Desglose estão integradas com o objetivo
principal de controlo de custos e funcionam como input e output no SCC, respetivamente.

Output Dados
FERRAMENTA SCC
Input Dados (Disponível na
(Processamento de
(.txt) Intranet para
Informação)
download)

Tarefa 1 – Produção Tarefa 2 - Tratamento


das Interfaces com de dados processados
dados (ficheiro download)

Figura 64 - Controlo de Custos

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

Esta seção diz respeito às conclusões obtidas no projeto, nomeadamente, as principais


conclusões obtidas relacionadas com o tema do projeto, as principais dificuldades enfrentadas
pela mestranda e como foram ultrapassadas e quais as perspetivas de trabalho futuro.

5.1 Conclusões

A utilização de linguagens de programação como uma ferramenta de trabalho tornou-


se cada vez mais importante no quotidiano uma vez que permitem a execução mais rápida e
correta de tarefas repetitivas, que de outra forma demorariam imenso tempo a executar e
com potencial introdução de erros humanos. A combinação de funções com Macros e VBA
permite um aumento da flexibilidade e uma maximização das potencialidades presentes nas
folhas de cálculo e bases de dados. É possível aglomerar as funcionalidades existentes nos dois
ambientes, VBA e Excel ou Access, para que, em conjunto, facilitem a automatização das
atividades quotidianas realizadas pelos utilizadores mais existentes.

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.

5.2 Perspetivas de Trabalho Futuro

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:

Abreu, A. e Carvalho, V. e Azevedo, A. (2010), “Microsoft Access 2010”, Centro Atlântico

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.

MacDonald, M. (2010), “Access 2010 – Themissing manual”, O’Reilly Media

Peres, P. (2005), “Excel Avançado”, Edições Sílabo

Pinto, M. (2010), 2Microsoft Excel 20102, Centro Atlântico

Serrão, C., & Marques, J. (2000). Programação com PHP. FCA - Editora de Informática

Silva, J. J. eArgenton, R. (2007), “Curso essencial de VBA”,

Vesica (2009), “VBA na prática para excel”, Universo dos livros, Lda

Walkenbach, J. (2010), “Excel 2010 Bible", Editora wiley

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

O procedimento descrito no Anexo 1 é um procedimento já instituído na organização e


funciona como um guião formal que a mestranda usou como base para automatizar o ficheiro,
uma vez que, inclui todos os passos necessários para a criação do mesmo, mas de forma
manual. Alguns procedimentos foram acrescentados no código, como por exemplo, a criação
da incos07, e outros foram melhorados. Além disso, a ordem de alguns procedimentos foi
alterada, por exemplo, na criação das Incos. Através do código, as incos são criadas umas a
seguir às outras. Antes, as incos eram criadas separadamente de forma a acelerar o processo.
Por exemplo, os utilizadores recebiam primeiro a informação da Incos06 e após esta ser criada,
podiam criar a Incos05, mas tinham de esperar que a informação da incos01 chegasse para
criar a mesma e criar as incos02, 03 e 04. A figura foi dividiva em três para ser mais fácil a sua
leitura, uma vez que foi feito um printscreen ao ficheiro em Excel mas é demasiado extenso.

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.

Anexo 2.1 Tabela Selecionar Ficheiros

Grava o diretório dos ficheiros selecionados através das forms.

Tabela 18 - Selecionar Ficheiros

Anexo 2.1 Tabelas T01Incos0*_H

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

Anexo 2.2 Tabelas T01Incos0*

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

Anexo 2.3 Tabelas F01Incos0*

Tabelas com as Incos finais. Informação completamente processada.

Tabela 23 - F01Incos05

79
Tabela 24 - F01Incos06

Anexo 2.4 Tabelas F01Incos0*_ANT

Armazena informação das tabelas “F01Incos01” e “F01Incos02” do mês anterior. São


semelhantes à T01Incos01_H e T01Incos02_H, respetivamente. Ver Anexo 2.2.

Anexo 2.5 Tabelas F01Incos01_02_ANT

Armazena informação das tabelas “F01Incos01” e “F01Incos02” do mês anterior.

Tabela 25 - F01Incos01-02_ANT

80
Anexo 2.6 Tabela “T_MES”

Informação relativa ao mês a ser tratados: data de processamentos e tipo de ficheiro:


entidade e naturaleza.

Tabela 26 - T_MES

Anexo 2.7 Tabela “Balancetes”

Tabela 27 - Balancetes

Anexo 2.8 Tabela “Balancete_ContasMOV”

Esta tabela apresenta apenas as contas movimentos presentes na tabela Balancetes.

Tabela 28 - Balancete_ContasMOV

81
Anexo 2.9 Tabela “Ficheiro_Contabilidad”

Informação importante para validar a existência de centros ou contas novas.

Tabela 29 - Ficheiro_Contabilidad

Anexo 2.10 Tabela “GLL”

Tabela 30 - GLL

82
Anexo 2.11 Tabela “SAL”

Tabela 31 - SAL

Anexo 2.12 Tabela “Midat”

Informação de intragrupos, essencial para criar a Incos02.

Tabela 32 - Midat

83
Anexo 2.13 Tabela “Tabela_Contas”

Listagem de todas as contas existentes até ao momento. A tabela está em constante


alteração. Sempre que há uma conta nova, a tabela é atualizada manualmente.

Tabela 33 - Contas

Anexo 2.14 Tabela Centros

Listagem de todos os centros existentes até ao momento. A tabela está em constante


alteração. Sempre que há um centro novo, a tabela é atualizada manualmente.

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.

Tabela 35 - Matriz Dedicação

Anexo 2.15 Tabela “Tabela_Conceptos-Cargabal”

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 36 - Conceptos Cargabal

Anexo 2.16 Tabela “Month1”

Informação dos ficheiros Excel Quadro Pessoal e Quadro Pessoal ANT.

Tabela 37 – Month1

85
Anexo 2.17 Tabela “T01Incos03_Aux”

Auxilia no preenchimento da tabela T01Incos03.

Figura 65 - T01Incos03_Aux

Anexo 2.18 Tabela “T01Incos05_Aux”

Auxilia no preenchimento da tabela F01Incos05.

Tabela 38 - T01Incos05_Aux

86
Anexo 2.19 T01Incos06_Aux

Auxilia no preenchimento da tabela F01Incos06.

Tabela 39 - T01Incos06_Aux

Anexo 2.20 F01Incos06_Mes

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.

Anexo 2.20.1 T01Incos02 – DCRH: Tabela F01Incos02_RH

Tabela 41 - F01Incos02_RH

Anexo 2.20.2 T01Incos02 – DCRH: DCRH_centro_6971

Tabela 42 - DCRH_centro_6971

88
Anexo 2.20.3 T01Incos02 – Tecnologia: Tecnologia_Midat

Tabela 43 - Tecnologia_Midat

Anexo 2.20.4 T01Incos02 – Tecnologia: Tecnologia_Conceitos

Tabela 44 - Tecnologia_Conceitos

Anexo 2.20.5 T01Incos02 – Tecnologia: Tecnologia_Diferença

Tabela 45 - Tecnologia_Diferença

89
Anexo 2.20.6 T01Incos02 – Tecnologia: Tabela prioridades

Tabela 46 - Tecnologia_Prioridades

Anexo 2.20.7 T01Incos02 – Percentagem: Percentagem_Origem

Tabela 47 - Percentagem_Origem

Anexo 2.20.8 T01Incos02 – Percentagem: Percentagem_Distribuição

Tabela 48 - Percentagem_Distribição

Anexo 2.20.9 T01Incos02 – Rendas: Rendas_TMP

Tabela 49 - Rendas_TMP

90
Anexo 3 – Relatório final

O relatório de processamento das interfaces de custos e validações do relatório de


erros foi dividida em duas uma vez que a mesma era muito extensa. O relatório final permite
visualizar a data de geração do relatório no canto superior direito e apresenta o número de
registos nas várias tabelas da BD, sendo elas: tabelas T01Incos, F01Incos e Tabelas Gerais.

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

Figura 67 - Relatório Final - Parte II


Anexo 4- Relatório Incos Validações Iniciais

O relatório da figura 68 é o relatório final da tarefa 1 e permite visualizar a data de


geração do relatório no canto superior direito e fazer validações iniciais a todos os passos já
corridos até ao momento no processo. Basicamente mostra o número de registos nas tabelas
históricas, F01Incos0*, T01Incos0* e em outras tabelas importantes para o caso, como por
exemplo, alguns dos imports feitos através do Excel, isto é importante para validar se todos os
registos do Excel foram importados para o Access. Na seção “Validações”, se as textbox
“centros novos” e “contas novas” tivessem um valor superior a 0, a nota apresentada seria
“Não foi criada a T01Incos01”. Esta informação é essencial para mostrar ao utilizador até que
ponto o processo avançou.

Figura 68 - Relatório de Validações Iniciais

93

Вам также может понравиться