Sie sind auf Seite 1von 59

Programao Protheus AdvPL

Customizaes

Aula 1
Evoluo e Arquitetura do Sistema Arquivos Instalao e Configurao de BD

Evoluo do Sistema

1974 1978

Assembly

Batch

SIGA Online
Mainframe

Natural / Adabas

1983 1990

DBase II/III, Clipper Summer (entrega de fontes) Clipper 5 SIGA Advanced 2.07/4.07 (customizaes)
DOS

1995 2000

FiveWin/Top/Coencisa, VO, Delphi, SQL AdvPL Protheus 5.08/6.09/7.10/8.11/10


Windows

Multi-Camada

Windows Linux Browser

Smart Client (TotvsSmartClient.exe)

Client WEB (ActiveX)

Client (Smart Client)

Windows Linux Unix

RPO (TTTP101.RPO)

Application Server (TotvsAppServer.exe) Monitor (TotvsMonitor.exe)

Application Server

DBF/CTREE

TOTVSDBAccess

Windows Linux Unix

MS SQL Server Sybase Informix

Oracle PostGres

DB2 MySQL

Database Server

Mltipl s configur es

Servidor Terminal Dados

Sistema
Sistema

Conjunto de Programas

Programa-fonte
Conjunto de Instrues Linguagem de  comandos Programao  funoes 1. 2. 3. 4. X = 5 Y = 10 Total = X + Y Mostre(Total) Programa A Cadastro

Compilao

Executvel

Programa B Clculo

Programa C Relatrio

Estrutur do Sistema Protheus


Programa-fonte
MATA010
. . . dbSelectArea(SB1) RecLock(SB1, .T.) SB1->B1_COD := 000001 SB1->B1_DESC := Produto A MSUnlock() . . .

APPLICATION SERVER

SMARTCLIENT

APO MATA010 Executa MATA010 Executa MATA410 Executa CTBR040

Cad.Produtos

RPO
MATA010 MATA410 CTBR040

Ped.Vendas

Balancete Cont.

Aplicativos
TOTVS TOTVS TOTVS TOTVS TOTVS Application Server (Server) Smart Client (Remote) DBAccess (Top Connect) Monitor Development Studio (IDE)

Conjuntos de arquivos
RPO arquivo binrio com os APOs
Verso especfica do RPO para: -Tipo de Base de dados -Lngua T T x x 101.RPO P Portugus, S Spanish, E English D DBF, A ADS, C CTree, T TopConnect (DBAccess)

BUILD Patch

executveis, DLLs e RPO atualizaes do RPO

SmartClient
Windows Linux Hand Held (Palm ou Pocket PC) ActiveX

Terminal Remoto
Thin Client Baixo trfego na rede Multi-plataforma Atualizao automtica ASP - Application Server Provider Browser Internet (HTML)

Estrutura de pastas do sistema


\TDE\ADVPL ERP101 APO (RPO) BIN APPSERVER (executveis) SMARTCLIENT (executveis) INCLUDE (arquivos .CH) PROTHEUS_DATA DATA (verso ISAM - .DBF e .CDX) SPOOL (relatrios impressos em disco) SYSTEM (Dic.Dados, Menus, ...) SYSTEMLOAD (arq. de carga inicial) MY PROJECTS (fontes de customizaes)

Atalhos
APPLICATION SERVER
Destino: c:\tde\advpl\erp101\bin\appserver\TotvsAppServer.exe console Iniciar em: c:\tde\advpl\erp101\bin\appserver

Para encerrar o Server: Ctrl+C, e SIM ou YES

-install inicia o Protheus como um servio do Windows -remove remove da lista de servios

Atalhos
SMART CLIENT
Destino: c:\tde\advpl\erp101\bin\smartclient\TotvsSmartClient.exe Iniciar em: c:\tde\advpl\erp101\bin\smartclient

Parmetros do atalho (opcionais): -P programa inicial -E ambiente (nome da seo environment no .INI do Server) -M permite mltiplas instncias (cpias) do SmartClient na mesma mquina Exemplo: ...\TotvsSmartClient.exe P=SIGAFAT E=Environment -M

Ambiente
Ambiente
Localizao dos arquivos RPO Arqs. do Sistema Arqs. Dados do Usurio

Base de Dados
SIGAFAT

DBF ADS CTree SQL

TCP

Lngua
Environment

Portugus Spanish English

Comunicao
Tipo de Comunicao

TCP-IP Endereo do Servidor Porta

TOTVSAPPSERVER.INI
Pasta \BIN\APPSERVER TOTVSAPPSERVER.INI
[Environment]
SourcePath=C:\ERP101\APO RootPath=C:\ERP101\Protheus_Data StartPath=\system\ RpoDb=TOP RpoLanguage=portuguese RpoVersion=101 LocalFiles=ads localdbextension=.dbf PictFormat=DEFAULT (ou AMERICAN) DateFormat=DEFAULT (ou AMERICAN)

ERP101 APO TTTP101.RPO BIN APPSERVER SMARTCLIENT INCLUDE PROTHEUS_DATA DATA SPOOL SYSTEM SYSTEMLOAD MY PROJECTS

SIGAFAT

TCP

[TOTVSDBACCESS] Environment
SERVER=127.0.0.1 PORT=7890 DATABASE=POSTGRES ALIAS=ADVPL

[Drivers]
Active=TCP

[TCP]
TYPE=TCPIP Port=1234

TOTVSAPPSERVER.INI
Mltiplos ambientes Usurio Brasileiro
EnvPOR
[EnvPOR] SourcePath=C:\ERP101\APO RootPath=C:\ERP101\Protheus_Data StartPath=\system\ RpoDb=TOP RpoLanguage=portuguese RpoVersion=101 LocalFiles=ads localdbextension=.dbf PictFormat=DEFAULT DateFormat=DEFAULT [EnvSPA] SourcePath=C:\ERP101\APO RootPath=C:\ERP101\Protheus_Data StartPath=\system\ RpoDb=TOP RpoLanguage=spanish RpoVersion=101 LocalFiles=ads localdbextension=.dbf PictFormat=DEFAULT DateFormat=DEFAULT

ERP101 APO TTTS101.RPO BIN APPSERVER SMARTCLIENT INCLUDE PROTHEUS_DATA DATA SPOOL SYSTEM SYSTEMLOAD MY PROJECTS

TTTP101.RPO

Usurio Argentino
EnvSPA

TOTVSAPPSERVER.INI
Mltiplos ambientes
. . . [EnvDBF] SourcePath=C:\ERP101\APO RootPath=C:\ERP101\Protheus_Data StartPath=\system\ RpoVersion=101 RpoDb=DBF LocalFiles=ads localdbextension=.dbf RpoLanguage=portuguese PictFormat=DEFAULT DateFormat=DEFAULT . . .

ERP101 APO TTDP101.RPO BIN APPSERVER SMARTCLIENT INCLUDE PROTHEUS_DATA DATA SPOOL SYSTEM SYSTEMLOAD MY PROJECTS

TOTVSSMARTCLIENT.INI
Pasta \BIN\SMARTCLIENT

[Config] LastMainProg=sigamdi SIGAFAT [Drivers] Active=TCP [TCP] Server=localhost Port=1234

TCP

Environment

Application Server

ou
Application Server Smart Client Smart Client Smart Client Smart Client

Arquivos
Pasta \SYSTEM
Arquivo SX1 SX2 SX3 SX4 SX5 SX6 SX7 SX9 SXA SXB SXD SXE SXF SXG SXK SXO SIX .XNU

Famlia SX

Descrio Perguntas e Respostas Mapeamento de Tabelas Dicionrio de Dados Agenda do Schedule de Processos Tabelas Parmetros Gatilhos Relacionamento entre Tabelas Pastas Cadastrais apontadas no SX3 Consulta por meio da tecla F3 (Consulta Padro) Controle do Schedule de Processos Seqncia de Documentos (+1) Seqncia de Documentos (prximo) Tamanho padro para campos Respostas das Perguntas (SX1) por Usurio Controle de LOGs por Tabela ndices dos Arquivos Menu de Opes dos Mdulos

Famlias de Arquivos de Dados


Pasta \DATA ou Banco de Dados

SA SB SC SD SE SF SG SH CT SJ SM SN

Cadastros Estoques Previses de E/S Mov. De Estoque Financeiro Fiscal Estruturas Carga de Mquina Contbil Estatsticas Miscelneas Ativo Fixo

SO - Assist. Tcnica SP - Ponto Eletrnico SQ - Recr. e Seleo SR - Folha de Pagto ST - Manut. Industrial SU - Telemarketing SV - Concessionrias SW e SY- Export./Import. Q? - Qualidade (Celerina) R? - Recursos Humanos P? - Projetos Especiais SZ? e Z?? - Livres

M.E.R. Modelo de Entidades e Relacionamento

Exemplos de Arquivos de Dados


Prefixo SA1 SA2 SA3 SB1 SB2 SB5 SC1 SC5 SC6 SC7 SD1 SD2 SD3 SE1 SE2 SF1 SF2 SI1 SI2 Descrio Cadastro de Clientes Cadastro de Fornecedores Cadastro de Vendedores Cadastro de Produtos Saldos dos Produtos por Almoxarifado Dados Complementares de Produtos Solicitaes de Compras Cabealho dos Pedidos de Venda Itens dos Pedidos de Venda Pedidos de Compras Itens das Notas Fiscais de Entrada Itens das Notas Fiscais de Sada Movimentaes Internas de Produtos Ttulos a Receber Ttulos a Pagar Cabealho das Notas Fiscais de Entrada Cabealho das Notas Fiscais de Sada Plano de Contas Lanamentos Contbeis

Arquivos de Dados

por Empresa

O sistema permite controlar at 99 Empresas. Cada Empresa pode ter at 99 Filiais. Empresa 01 Filiais 01 02 . . . 99 Empresa 02 Filiais 01 02 . . . 99 Empresa 99 Filial 01

SA1010 SA2010 SB1010 ...

SA1020 SA2020 SB1020 ...

SA1990 SA2990 SB1990 ...

Para cada Empresa criado um conjunto de arquivos: SXXnn0 onde: XX = Prefixo do arquivo nn = Empresa

Arquivos de Dados
Filiais

Os dados das Filiais ficam dentro do arquivo de cada Empresa.

FILIAL 01 01 01 02 02 02 ...

CAMPO1

CAMPO2

CAMPO3

...

Registro da Filial 01 Registro da Filial 01 Registro da Filial 01 Registro da Filial 02 Registro da Filial 02 Registro da Filial 02 ...

Todo arquivo, exceto SM2 (Moedas), tem um campo que identifica a Filial nos registros.

Arquivos de Dados
Nomenclatura dos campos Arquivo:

SA1 A1_FILIAL A1_COD A1_NOME A1_END

SA2 A2_FILIAL A2_COD A2_NOME A2_END

SB1 B1_FILIAL B1_COD B1_DESC B1_TIPO

QA1 QA1_FILIAL QA1_COD QA1_DESC

Arquivos de Dados
Modo de Acesso

Compartilhado Exclusivo

registros compartilhados entre as filiais Campo Filial: em branco cada Filial tem seus os prprios registros Campo Filial: cdigo da Filial (varivel cFilAnt)
SA1 (Cad.Clientes) - Compartilhado
A1_FILIAL A1_COD 000015 000016 000001 000020 000007 A1_NOME FABRICA DE TINTAS E VERINIZES LTDA TEX MALHAS E CONFECCOES S.A CLIENTE PADRAO ARMANDO JOSE FLORES COMERCIO SOM DO MUNDO

O usurio pode selecionar apenas 1 Empresa e 1 Filial por vez

Empresa 01 Filiais 01 02 03
C5_FILIAL 01 01 01 02 02 02 03 03 03

SC5 (Pedidos de Venda) - Exclusivo


C5_NUM 000001 000005 000007 000001 000005 000007 000001 000005 000007 C5_EMISSAO 01/01/04 01/01/04 20/01/04 01/01/04 01/01/04 20/01/04 01/01/04 01/01/04 20/01/04 C5_CLIENTE 000002 000023 000016 000002 000023 000016 000002 000023 000016 C5_PROD 1111014 1313000 1515140 1111014 1313000 1515140 1111014 1313000 1515140 C5_VALOR 15.000,00 5.600,00 5.600,00 15.000,00 5.600,00 5.600,00 15.000,00 5.600,00 5.600,00

Arquivos de Dados
Modo de Acesso

Compartilhado
A1_Filial A1_Cod 000001 A1_Nome JOS

Empresa XX Filiais 01 02

Exclusivo
A1_Filial 01 02 A1_Cod 000001 000001 A1_Nome JOS JOS

Preenchimento do campo Filial: A1_FILIAL := ??

ou 01 ou 02 ...

A1_FILIAL := xFilial( SA1 )

A1_FILIAL := xFilial( SA1 ) C5_FILIAL := xFilial( SC5 )

cFilAnt cFilAnt

Tabela
Registros / Campos
SA1
RECNO 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15

Cadastro de Clientes
A1_FILIAL A1_COD 000015 000016 000001 000020 000007 000024 000008 000023 000002 000026 000027 000028 000019 000033 000030 A1_NOME FABRICA DE TINTAS E VERINIZES LTDA TEX MALHAS E CONFECCOES S.A CLIENTE PADRAO ARMANDO JOSE FLORES COMERCIO SOM DO MUNDO JOAO DA SILVA FLORICULTURA FULO DE MARAVILHA PREFEITURA MUNICIPAL DE SAO PAULO ECOSSISTEMA DIGITAL ACTIONVEA IMP. EXP. STARMEAL LEAK S.A. REIZA KERN IMP. EXP. JOAO DE ALMEIDA SILVA DESPACHANTE IMPORTADOR EUA

Incluso de dados
RecLock(SA1, SA1->A1_Filial SA1->A1_Cod SA1->A1_Nome .T.) := xFilial(SA1) := 000030 := IMPORTADOR EUA

ndices
ndice Primrio acesso direto ao registro verificao de chave duplicada
RECNO 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 A1_FILIAL A1_COD 000015 000016 000001 000020 000007 000024 000008 000023 000002 000026 000027 000028 000019 000033 000030 A1_NOME FABRICA DE TINTAS E VERINIZES LTDA TEX MALHAS E CONFECCOES S.A CLIENTE PADRAO ARMANDO JOSE FLORES COMERCIO SOM DO MUNDO JOAO DA SILVA FLORICULTURA FULO DE MARAVILHA PREFEITURA MUNICIPAL DE SAO PAULO ECOSSISTEMA DIGITAL ACTIONVEA IMP. EXP. STARMEAL LEAK S.A. REIZA KERN IMP. EXP. JOAO DE ALMEIDA SILVA DESPACHANTE IMPORTADOR EUA

FILIAL+CODIGO 000001 000002 000007 000008 000015 000016 000019 000020 000023 000024 000026 000027 000028 000030 000033

RECNO 03 09 05 07 01 02 13 04 08 06 10 11 12 15 14

Acesso direto ao registro: dbSeek( +000020) ou dbSeek(xFilial(SA1)+000020)

ndices
Demais ndices: ordenao de registros
1
FILIAL+CODIGO RECNO

2
FILIAL+NOME ACTIONVEA.. ARMANDO J.. CLIENTE P.. COMERCIO .. DESPACHAN.. ECOSSISTE.. FABRICA D.. FLORICULT.. IMPORTADO.. JOAO DA S.. JOAO DE A.. PREFEITUR.. REIZA KER.. STARMEAL .. TEX MALHA.. RECNO 10 04 03 05 14 09 01 07 15 06 13 08 12 11 02 RECNO RECNO A1_FILIAL A1_COD 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 A1_COD A1_NOME A1_NOME

000001 000002 000007 000008 000015 000016 000019 000020 000023 000024 000026 000027 000028 000030 000033

03 09 05 07 01 02 13 04 08 06 10 11 12 15 14

Leitura

000015 FABRICA DE TINTAS E 000016 TEX MALHAS E CONFECC 000001 CLIENTE PADRAO 000020 ARMANDO JOSE FLORES 000007 COMERCIO SOM DO MUND 000024 JOAO DA SILVA 000008 FLORICULTURA FULO DE 000023 PREFEITURA MUNICIPAL 000002 ECOSSISTEMA DIGITAL 000026 ACTIONVEA IMP. EXP. 000027 STARMEAL LEAK S.A. 000028 REIZA KERN IMP. EXP. sequencial: em ordem de Nome 000019 JOAO DE ALMEIDA SILV 000033 DESPACHANTE dbSetOrder(2) 000030 IMPORTADOR EUA

EOF()

.T.

dbGoTop() While !Eof() ... dbSkip() End

ndices
Um arquivo pode ter at 35 ndices (1...9, A...Z) dbSetOrder(n), onde n = 1...35 funo para selecionar o ndice. Alm dos ndices originais, usurios podem incluir seus prprios ndices. Caso a Microsiga inclua novos ndices, os do usurio sero renumerados.

SA1

ndices do Sistema

Usurio ndice ndice do Sistema novo do Usurio ndice do Usurio

1 2 ... 7 8 9

A1_TIPO A1_TIPO

NickName: TIPO NickName: TIPO

Nos programas: dbSetOrder(8) dbOrderNickName( TIPO ) X


Portanto, ndices de usurio devem sempre ter um NickName. Deve-se usar a funo dbOrderNickName( NICKNAME ) ndices do sistema, nunca tero NickName. Usa-se dbSetOrder().

SQL
Gerenciador BD, TotvsDBAccess, ODBC

SQL
Protheus Banco de Dados

Protheus (TOTVSAPPSERVER.INI)
[ENVIRONMENT] RpoDb=TOP [TOTVSDBACCESS] SERVER=<Servidor DBAccess> PORT=7890 DATABASE=POSTGRES ALIAS=ADVPL

TotvsDBAccess
Ambiente: ADVPL

ODBC
Data source: ADVPL Database: dbADVPL Server: <Servidor do BD> Port: 5432

Banco de Dados
(PostgreSQL)
Database: dbADVPL Port: 5432

SQL
Instalao do Servidor de Banco de Dados

Instalar o Servidor de Banco de Dados PostgreSQL C:\TDE\ADVPL\PostgreSQL\install-postgresql-8.2.msi

Selecione esta opo para que mostre as mensagens de instalao em portugus.

As configuraes aqui realizadas so adequadas ao contexto deste curso. Para uma situao real, deve-se analisar os requisitos apropriados para cada caso.

SQL
Instalao do Servidor de Banco de Dados

SQL
Instalao do Servidor de Banco de Dados

SQL
Instalao do Servidor de Banco de Dados

SQL
Instalao do Servidor de Banco de Dados

postgres postgres

SQL
Instalao do Servidor de Banco de Dados

Se aparecer esta mensagem, desmarque esta opo.

postgres postgres

SQL
Instalao do Servidor de Banco de Dados

SQL
Instalao do Servidor de Banco de Dados

SQL
Instalao do Servidor de Banco de Dados

SQL
Instalao do Servidor de Banco de Dados

Aguarde o trmino da instalao...

SQL
Instalao do Servidor de Banco de Dados

SQL
Instalao do TotvsDBAccess

Instalar o TotvsDBAccess  Confirmar todas as telas da instalao

C:\TDE\ADVPL\TotvsDBAccess\totvsdbaccess_4.1_win_20071225.exe

SQL
Ativao dos servios

Ativar os servios do PostgreSQL e TotvsDBAccess  Boto Iniciar do Windows  Painel de Controle  Ferramentas administrativas  Servios  Selecionar PostgreSQL Database Server 8.2 / clicar no boto  Selecionar TotvsDBAccess / clicar no boto

SQL
Criao do banco de dados

Criar um novo banco de dados  Boto Iniciar do Windows  Todos os programas  PostgreSQL 8.2  pgAdmin III

SQL
Criao do banco de dados

Clique com o boto direito postgres

SQL
Criao do banco de dados

Clique com o boto direito.

Observe que a base de dados foi criada.

SQL
ODBC

Criar conexo ODBC  Boto Iniciar do Windows  Painel de Controle  Ferramentas administrativas  Fontes de dados (ODBC)

postgres

SQL
Configurao do TotvsDBAccess

Configurar o TotvsDBAccess  Boto Iniciar do Windows  Todos os programas  Totvs DBAccess  TOTVS DBAccess Monitor

SQL
Configurao do TotvsDBAccess

Certifique-se de que esta opo esteja DESMARCADA.

Este um servio que permite realizar auditorias posteriores. Para efeito deste curso, no ser usado.

SQL
Configurao do TotvsDBAccess

SQL
Configurao do TotvsDBAccess

SQL
Configurao do TotvsDBAccess

SQL
Configurao do TotvsDBAccess

SQL
Configurao do TotvsDBAccess

SQL
Configurao do TotvsDBAccess