ADVPL Básico

ADVPL Básico

(Parte 1 de 12)

Educação Corporativa

Introdução à programação e

ADVPL básico (Capacitação Interna)

- 2 - Introdução á programação e ADVPL Básico

OBJETIVOS DO CURSO6
MÓDULO 01: Introdução à programação7
1. Lógica de Programação e Algoritmos7
1.1. Lógica de Programação7
1.2. Desenvolvendo algoritmos8
1.2.1. Estudando algoritmos9
1.2.2. Teste de mesa1
2. Estruturas de programação12
2.1. Diagrama de bloco12
2.2. Estruturas de decisão e repetição15
2.2.1. Estruturas de decisão15
2.2.2. Estruturas de repetição18
MÓDULO 02: A linguagem ADVPL20
3. Estrutura de um Programa ADVPL2
3.1. Áreas de um Programa ADVPL24
4. Declaração e Atribuição de Variáveis27
4.1. Tipo de Dados27
4.2. Declaração de variáveis28
4.3. Escopo de variáveis29
4.4. Entendendo a influência do escopo das variáveis3
4.5. Operações com Variáveis34
4.5.1. Atribuição de variáveis34
4.5.2. Operadores da linguagem ADVPL35
4.5.3. Operação de Macro Substituição40
4.5.4. Funções de manipulação de variáveis41
5. Estruturas básicas de programação47
5.1. Estruturas de repetição47
5.1.1. Influenciando o fluxo de repetição50
5.2. Estruturas de decisão52
6. Arrays e Blocos de Código56
6.1. Arrays56
6.1.1. Inicializando arrays58
6.1.2. Funções de manipulação de arrays59
6.1.3. Cópia de arrays61
6.2. Listas de Expressões e Blocos de Código63
6.2.1. Premissas para utilização de Blocos de Código63
6.2.2. Lista de expressões64
6.2.3. Blocos de Código6
6.2.4. Funções para manipulação de blocos de código68
7. Funções69
7.1. Tipos e escopos de funções70
7.2. Passagem de parâmetros entre funções73
8. Diretivas de compilação79
MÓDULO 03: Desenvolvendo pequenas customizações84
9. ADVPL e o ERP Microsiga Protheus84
9.1. O Ambiente Protheus84

- 3 - Introdução á programação e ADVPL Básico

9.3. O Configurador do Protheus94
9.3.1. Funcionalidades Abordadas94
9.3.2. Estruturas básicas da aplicação ERP Protheus94
9.3.3. Acessando o módulo Configurador97
9.4. Funcionalidades do Configurador100
9.4.1. Dicionário de Dados da aplicação ERP101
9.4.2. Adição de tabelas ao Dicionário de Dados101
9.4.3. Adição de campos as tabelas do Dicionário de Dados104
9.4.4. Adição de índices para as tabelas do Dicionário de Dados109
9.4.5. Adição de gatilhos para os campos das tabelas do sistema112
9.4.6. Criação de Tabelas Genéricas114
9.4.7. Criação de Parâmetros115
10. TOTVS Development Studio117
Desenvolvimento de pequenas customizações120
1. Acesso e manipulação de bases de dados em ADVPL120
1.1. Diferenças e compatibilizações entre bases de dados121
1.2. Funções de acesso e manipulação de dados122
1.3. Diferenciação entre variáveis e nomes de campos127
1.4. Controle de numeração seqüencial128
12. Customizações para a aplicação ERP129
12.1. Customização de campos – Dicionário de Dados130
12.1.1. Validações de campos e perguntas130
12.1.2. Pictures de formação disponíveis132
12.2. Customização de gatilhos – Configurador134
12.3. Customização de parâmetros – Configurador135
12.3.1. Funções para manipulação de parâmetros135
12.3.2. Cuidados na utilização de um parâmetro136
12.4. Pontos de Entrada – Conceitos, Premissas e Regras137
13. Interfaces visuais138
13.1. Sintaxe e componentes das interfaces visuais138
13.2. Interfaces padrões para atualizações de dados141
13.2.1. AxCadastro()141
13.2.2. MBrowse()142
13.2.3. AxFunctions()146
APÊNDICES148
BOAS PRÁTICAS DE PROGRAMAÇÃO148
14. Utilização de Identação148
15. Capitulação de Palavras-Chave149
15.1. Palavras em maiúsculo150
16. Utilização da Notação Húngara150
17. Palavras reservadas151
LISTAS DE EXERCÍCIOS152
Módulo 01: Introdução à programação152
Módulo 02: A linguagem ADVPL153
Módulo 03: Desenvolvendo pequenas customizações156
REFERÊNCIAS BIBLIOGRÁFICAS158
GUIA DE REFERÊNCIA RÁPIDA: Funções e Comandos ADVPL160
Conversão entre tipos de dados160
CTOD()160
CVALTOCHAR()160
DTOC()161

- 4 - Introdução á programação e ADVPL Básico

STOD()161
STR()162
STRZERO()162
VAL()163
Matemáticas164
ACOS()164
CEILING()164
COS()164
LOG10()165
SIN()165
SQRT()166
TAN()166
Verificação de tipos de variáveis167
TYPE()167
VALTYPE()167
Manipulação de arrays168
ARRAY()168
AD()169
ACLONE()170
ADEL()170
ASIZE()171
ASORT()171
ASCAN()173
AINS()174
Manipulação de blocos de código175
EVAL()175
DBEVAL()175
AEVAL()177
Manipulação de strings178
ALLTRIM()178
ASC()178
AT()179
BITON()180
CHR()180
DESCEND()180
GETDTOVAL()181
ISALPHA()182
ISDIGIT()182
ISLOWER()182
ISUPPER()183
LEN()183
LOWER()184
LTRIM()184
MATHC()185
OEMTOANSI()185
PADL() / PADR() / PADC()186
RAT()186
RTRIM()187
SPACE()187
STRTOKARR()188
STRTRAN()188
STUFF()189
SUBSTR()189
TRANSFORM()190
UPPER()190
Manipulação de data / hora191
CDOW()191
CMONTH()191
DATE()192
DAY()192
DOW()193
DTOC()193
DTOS()194
ELAPTIME()194
MONTH()195

- 5 - Introdução á programação e ADVPL Básico

TIME()196
YEAR()196
Manipulação de variáveis numéricas197
ABS()197
INT()197
NOROUND()198
ROUND()198
Manipulação de arquivos199
SELECT()199
DBGOTO()199
DBGOTOP()200
DBGOBOTTON()200
DBSELECTAREA()201
DBSETORDER()201
DBSEEK() E MSSEEK()202
DBSKIP()203
DBSETFILTER()204
DBSTRUCT()205
RECLOCK()205
MSUNLOCK()206
SOFTLOCK()207
DBDELETE()208
DBUSEAREA()208
DBCLOSEAREA()209
Controle de numeração seqüencial209
GETSXENUM()209
CONFIRMSXE()209
ROLLBACKSXE()210
Validação210
EXISTCHAV()210
EXISTCPO()210
NAOVAZIO()211
NEGATIVO()211
PERTENCE()211
POSITIVO()211
TEXTO()211
VAZIO()212
Parâmetros212
GETMV()212
GETNEWPAR()212
PUTMV()213
SUPERGETMV()213
Componentes da interface visual214
MSDIALOG()214
MSGET()215
SAY()216
BUTTON()216
SBUTTON()217
Interfaces de cadastro218
AXCADASTRO()218
MBROWSE()218
AXPESQUI()218
AXVISUAL()219
AXINCLUI()219
AXALTERA()220
AXDELETA()221
Funções visuais para aplicações2
ALERT()2
AVISO()2
FORMBACTH()223
MSGFUNCTIONS()224
Funções ADVPL para aplicações225
GETAREA()225

- 6 - Introdução á programação e ADVPL Básico

Objetivos específicos do curso:

Ao final do curso o treinando deverá ter desenvolvido os seguintes conceitos, habilidades e atitudes:

a) Conceitos a serem aprendidos fundamentos e técnicas de programação; princípios básicos da linguagem ADVPL; comandos e funções específicas da Microsiga.

b) Habilidades e técnicas a serem aprendidas resolução de algoritmos através de sintaxes orientadas a linguagem ADVPL; análise de fontes de baixa complexidade da aplicação ERP Protheus; desenvolvimento de pequenas customizações para o ERP Protheus.

c) Atitudes a serem desenvolvidas adquirir conhecimentos através da análise dos funcionalidades disponíveis no ERP Protheus; embasar a realização de outros cursos relativos a linguagem ADVPL.

- 7 - Introdução á programação e ADVPL Básico

MÓDULO 01: Introdução à programação 1. Lógica de Programação e Algoritmos

No aprendizado de qualquer linguagem de programação é essencial desenvolver os conceitos relacionados a lógica e a técnica da escrita de um programa.

Com foco nesta necessidade, este tópico irá descrever resumidamente os conceitos envolvidos no processo de desenvolvimento de um programa através dos conceitos relacionados à:

Lógica de programação Algoritmos Diagramas de blocos

1.1. Lógica de Programação

Lógica

A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir a seqüência lógica para o desenvolvimento. Então o que é lógica?

Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo.

Seqüência Lógica

Estes pensamentos, podem ser descritos como uma seqüência de instruções, que devem ser seguidas para se cumprir uma determinada tarefa.

Seqüência Lógica são passos executados até atingir um objetivo ou solução de um problema.

Instruções

Na linguagem comum, entende-se por instruções “um conjunto de regras ou normas definidas para a realização ou emprego de algo”.

Em informática, porém, instrução é a informação que indica a um computador uma ação elementar a executar. Convém ressaltar que uma ordem isolada não permite realizar o processo completo, para isso é necessário um conjunto de instruções colocadas em ordem seqüencial lógica.

Por exemplo, se quisermos fazer uma omelete de batatas, precisaremos colocar em prática uma série de instruções: descascar as batatas, bater os ovos, fritar as batatas, etc. É evidente que essas instruções têm que ser executadas em uma ordem adequada – não se pode descascar as batatas depois de fritá-las.

- 8 - Introdução á programação e ADVPL Básico

Dessa maneira, uma instrução tomada em separado não tem muito sentido; para obtermos o resultado, precisamos colocar em prática o conjunto de todas as instruções, na ordem correta.

Instruções são um conjunto de regras ou normas definidas para a realização ou emprego de algo. Em informática, é o que indica a um computador uma ação elementar a executar.

Algoritmo

Um algoritmo é formalmente uma seqüência finita de passos que levam a execução de uma tarefa. Podemos pensar em algoritmo como uma receita, uma seqüência de instruções que dão cabo de uma meta específica. Estas tarefas não podem ser redundantes nem subjetivas na sua definição, devem ser claras e precisas.

Como exemplos de algoritmos podemos citar os algoritmos das operações básicas (adição, multiplicação, divisão e subtração) de números reais decimais. Outros exemplos seriam os manuais de aparelhos eletrônicos, como um videocassete, que explicam passo-a-passo como, por exemplo, gravar um evento.

Até mesmo as coisas mais simples, podem ser descritas por seqüências lógicas, tais como:

“Chupar uma bala” 1. Pegar a bala; 2. Retirar o papel; 3. Chupar a bala; 4. Jogar o papel no lixo.

“Somar dois números quaisquer” 1. Escreva o primeiro número no retângulo A; 2. Escreva o segundo número no retângulo B; 3. Some o número do retângulo A com número do retângulo B e coloque o resultado no retângulo C.

1.2. Desenvolvendo algoritmos

Pseudocódigo

Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior implementação em uma linguagem de programação, ou seja, quando for utilizada a linguagem a de programação propriamente dita como, por exemplo, ADVPL.

Por isso os algoritmos são independentes das linguagens de programação, sendo que ao contrário de uma linguagem de programação não existe um formalismo rígido de como deve ser escrito o algoritmo.

O algoritmo deve ser fácil de interpretar e fácil de codificar. Ou seja, ele deve ser o intermediário entre a linguagem falada e a linguagem de programação.

- 9 - Introdução á programação e ADVPL Básico

Regras para construção do Algoritmo

Para escrever um algoritmo precisamos descrever a seqüência de instruções, de maneira simples e objetiva. Para isso utilizaremos algumas técnicas:

1. Usar somente um verbo por frase; 2. Imaginar que você está desenvolvendo um algoritmo para pessoas que não trabalham com informática; 3. Usar frases curtas e simples; 4. Ser objetivo; 5. Procurar usar palavras que não tenham sentido dúbio.

Fases

Para implementar de um algoritmo de simples interpretação e codificação é necessário inicialmente dividir o problema apresentado em três fases fundamentais, as quais são:

ENTRADA: São os dados de entrada do algoritmo; PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final; SAÍDA: São os dados já processados.

(Parte 1 de 12)

Comentários