EDI Com Protheus
EDI Com Protheus
EDI Com Protheus
AGRADECIMENTOS
RESUMO
ABSTRACT
LISTA DE ILUSTRAES
LISTA DE QUADROS
LISTA DE TABELAS
LISTA DE SIGLAS
AMREC
ANSI
ARPA
ASCII
BI
Business Intelligence
BSC
Balanced Score-Card
B2B
Business-to-Business
B2C
Business-to-Commerce
CIF
CNPJ
CORBA
CRM
DCOM
DISA
DTD
DW
Data Warehouse
EAD
Educao a Distncia
EDI
ERP
FTP
HTML
HTTP
IP
Internet Protocol
IRC
ISO
LAN
MRP
OASIS
POP3
RH
Recursos Humanos
RPC
SAML
SGML
SI
Sistemas de Informao
SMTP
SOAP
SQL
SSL
TCP/IP
TI
Tecnologia da Informao
TXT
UDDI
UM/EDIFACT
URL
XML
WSDL
WS-SECURITY
WWW
W3C
SUMRIO
1 INTRODUO .......................................................................................................13
1.1 Delimitao ......................................................................................................14
1.2 A empresa .......................................................................................................14
1.3 Problema .........................................................................................................15
1.4 Objetivos..........................................................................................................16
1.4.1 Objetivo Geral .................................................................................................................................... 16
1.4.2 Objetivo Especfico ............................................................................................................................. 16
3.3.2 Arquivo dos conhecimentos e das faturas emitidas pelo fornecedor .................................................. 70
3.3.2.1 Layout no formato TXT.................................................................................................................................71
3.3.2.2 Layout no formato XML ...............................................................................................................................74
4 Concluso .............................................................................................................96
REFERNCIAS.........................................................................................................98
Referncias Complementares ..............................................................................100
APNDICES ...........................................................................................................101
APNCIDE A Tela de login do portal................................................................101
APNCIDE B Tela de consulta cargas faturadas (opo Consulta de Cargas)102
APNDICE C Tela de solicitao do caminho e arquivo para integrao dos
conhecimentos (opo Validao) .......................................................................103
APNCIDE D Tela dos erros encontrados no arquivo (Opo Validao) .......104
APNCIDE E Tela de Integrao do arquivo validado e pronto para gerao
(opo Validao) ................................................................................................105
APNCIDE F Tela de integrao apresentando valor de frete fora dos
parmetros especificados (opo Validao) ......................................................106
APNCIDE G Tela de consulta de cargas ainda no faturadas (opo Consulta
Cargas) ................................................................................................................107
APNCIDE H Tela de consulta cargas para gerao do conhecimento manual
(opo Conhecimento de Frete) ..........................................................................108
APNCIDE I Tela de preenchimento dos dados do conhecimento e seleo das
notas fiscais (opo Conhecimento de Frete)......................................................109
APNCIDE J Formulrio aplicado na pesquisa (enviado por e-mail) ...............109
APNCIDE K Tabulao dos resultados da Pesquisa .....................................113
13
1 INTRODUO
14
1.1 Delimitao
1.2 A empresa
15
1.3 Problema
16
1.4 Objetivos
1.5 Justificativa
17
Bizinella
Nardon,
da
unidade
de
pesquisa
18
19
2 REVISO BIBLIOGRFICA
2.1.1 Internet
20
21
22
23
criptografia
baseada
em
algoritmos
matemticos
que
24
(2002,
p.
207),
acrescenta
que
[...]
protegem
Autenticao
Integridade
Privacidade
Fraude / Furto
Sabotagem
Aspecto de Negcio
O usurio tem permisso de
acessar
o
computador
especfico ou o conjunto de
informaes?
O usurio verdadeiramente
quem ele diz ser?
A
pessoa
mandou
a
mensagem
realmente
enviada?
O destinatrio pode ter
certeza de que a mensagem
no foi alterada.
A converso, ou transao de
negcio privada?
Tem algum espionando:
Tem algum roubando?
Algum pode entrar no
sistema e destruir ou alterar
uma informao?
Soluo
Nome do usurio e senha, ou
outro tipo de mecanismo de
controle de acesso.
Sistema de hardware e
software especfico gera um
nmero randmico, o qual o
usurio
ir
usar
para
autenticar a integridade.
Assinatura digital
Algoritmo de criptografia de
chave pblica ou privada
Polticas e procedimentos de
gerenciamento de sistemas,
log e auditoria.
Firewalls e firebreaks
25
grande
promessa
dos
Web
Services
baseada
na
26
2.3.1 Padronizao
27
28
29
30
pea
de
fundamental
importncia
ir
31
32
2
3
33
Pode ser definido como uma barreira de proteo, que controla o trfego de dados entre seu computador
e a Internet (ou entre a rede onde seu computador est instalado e a Internet).
5
Metalinguagem uma linguagem usada para criar outras linguagens.
34
Descrio
Documento XML
parser XML
NamesSpaces
35
1
2
3
4
5
6
7
36
diferenciao
apresenta-se
exatamente
no
momento
da
37
DTD Publica
<!DOCTYPE livro PUBLIC -//EmpresaXYZ//DTD livro//EN
http://www.site.com/dtds/livro.dtd>
DTD local
<!DOCTYPE livro SYSTEM http://www.site.com/dtds/livro.dtd>
de
caracteres,
inclusive
caracteres
normais
caracteres especiais;
b) caracteres de espao em branco;
c) entidades;
d) elementos, inclusive suas marcas de incio e fim;
e) atributos;
f) comentrios;
g) instrues de processamentos.
38
Nome
Definio
Vrgula ( , )
Seqncia
Barra vertical ( | )
Escolha
Sinal de mais ( + )
Indicador de
Ocorrncia
Asterisco ( * )
Indicador de
Ocorrncia
Parnteses ( ( ) )
Grupo de elementos
39
Possibilidades
ID
IDREF
ENTITY
NMTOKEN Token com nome Letras, dgitos, pontos, sublinhados hfens e doispontos
Fonte: Anderson (2001, p.92)
40
alm
do
corpo
da
mensagem,
um
envelope
41
42
possuem
prefixo
SOAP-ENV,
assim:
SOAP-ENV:Envelope
<SOAP-ENV:Envelope xmlns:SOAP-ENV=schemas.xmlsoap.org/soap/envelope>
schemas.xmlsoap.org/soap/envelope indica
em
que
verso do
43
<SOAP-ENV:Body>
<ChecarConta>
<NumeroConta xsi:type=xsd:int>1236545</NumeroConta>
</ChecarConta>
</SOAP-ENV:Body>
<SOAP-ENV:Header>
<myNS:authentication xmlns: myNS= http://www.testeweb.com/senha
SOAP-ENV:mustUnderstand=1 >
<Usurio>administrador</Usurio>
<Senha>teste</Senha>
</myNS:authentication>
</SOAP-ENV:Header>
44
45
46
47
continer
para
todas
as
portas
que
so
elemento
raiz
contm
especificaes
Espao que ser utilizado para armazenar algumas informaes com um alto nvel de abstrao
48
49
brancas:
de
informaes
contato,
bsicas,
informaes
como:
nome,
amarelas:
classificaes
usando
sistemas
de
classificao
para
obter
preciso
nas
50
2.9 ERP
51
e-Compras
ERP
e-Vendas
52
e-Compras
ERP
e-Vendas
Portal
Externo
e-Compras
e-Compras ERP ERP e-Vendas
e-Vendas
Portal
Figura 10 - Portais integrando diferentes ERPs.
Fonte: Franco Jr (2001, p. 216).
ERP
e-Compras
e-Vendas
WEB
Services
ERP
53
operacionais,
aplicativos
tambm
os
procedimentos de operao.
d) Recursos de Dados: so os bancos de dados e as bases de
conhecimentos
que
guardam
conhecimento
em
uma
54
55
56
2.10 e-Business
57
2.11 EDI
58
59
buscando
automatizar
otimizar
os
processos
administrativos e contbeis;
c) O maior fator motivador das empresas implantarem sistemas
ERP o aumento da disponibilidade de informaes a alta
administrao, visando agilidade nas decises;
d) O E-mail(33%) e o Workflow(21%) foram as tecnologias
(ferramentas) mais utilizadas para auxiliar os negcios da
empresa, mas importante registrar que as planilhas
continuam sendo ferramentas muito utilizadas sendo que 33%
60
interna
17%
para
integrao
de
base
de
cliente/fornecedor;
i) Outro fator relevante que 44% registraram o uso das
tecnologias da Internet para realizao de negcios (eBusiness);
61
62
processos
tambm
foram
revistos
para
adequao
das
novas
63
Tipo de Veculo
Cidades
Transportadoras
Tabela de Preos
de Frete
Regio
Fornecedores
Pedido de venda
Clientes
Cargas
Conhecimento de
Frete
Nota Fiscal de
Sada
Contas a Receber
Nota Fiscal de
Entrada
Livros Fiscais
Faturas a Receber
Legenda
Contas a Pagar
Tabelas existentes
Tabelas Novas
Faturas a Pagar
Tabelas Alteradas
64
tipo do frete for informado CIF, o sistema dispara uma rotina para definio da
transportadora a ser utilizada. Todo pedido com fretes do tipo CIF passaro a
ter uma transportadora credenciada previamente pela empresa, no permitindo
ao vendedor a sua escolher, mas sim, seguindo as regras de prioridade de
regies conforme o cadastrado efetuado. Isso garantir a integridade das
informaes bem como a seleo da melhor transportadora pra entrega na
regio. Somente ser permitida a troca de transportadora pela expedio, onde
este processo tambm sofreu alterao.
Todo carregamento realizado na empresa necessita de uma
montagem de carga, e neste processo foi permitida a substituio de
transportadora, bem como a definio do tipo de fretamento (Fracionado /
Fechado), alm da dada e hora da coleta. Isso ir incidir diretamente no valor
do frete calculado para as notas fiscais desta carga. Aps uma carga montada,
um e-mail ser encaminhado automaticamente ao transportador para informar
da coleta e disponibiliza os dados no portal.
Outro procedimento foi totalmente automatizado, o de conferncia
e lanamento dos conhecimentos de frete. Pois este ser todo realizado pelo
fornecedor do servio de transporte, por meio do portal, utilizando o EDI ou
alimentando manualmente se necessrio. A automatizao tambm beneficia o
setor financeiro, no que se trata da montagem das faturas dos conhecimentos
de frete. Este processo pelo alto volume de conhecimentos ocupa um
percentual considervel de tempo da pessoa responsvel pelo setor contas a
pagar, agora passa a ser realizado pelo sistema.
Pode-se destacar tambm a qualidade da informao disponvel ao
BI da empresa, permitindo acesso a informao antecipada do valor do frete a
65
ser pago. Alm de permitir incluir este valor em anlises separadas por
vendedor e regio, pois este valor estar disponvel e rateado por produto em
cada nota fiscal faturada.
Ord Descrio
Registro 1 - Cabealho
1 Identificao do registro - 01
2 Data Gerao
3 Hora Gerao
4 CNPJ Estabelecimento
5 Inscr.Estadual Estabelec.
6 Nome Estabelecimento
7 Contador Seq. de Envio
8 Seq. da Linha do Arquivo
Registro 2 - Destinatrio
1
3
11
17
31
45
80
86
2
10
16
30
44
79
85
91
Caracter
Caracter
Caracter
Caracter
Caracter
Caracter
Numrico
Numrico
Fixo "01"
ddmmaaaa
hhmmss
99999999999999
99999999999999
999999
999999
66
1 Identificao do registro - 02
2
2 CNPJ Destinatrio
14
3 Inscr.Estadual Destinatrio
14
4 Nome Destinatrio
35
5 Endereo Destinatrio
40
6 Bairro Destinatrio
20
7 Cidade Destinatrio
35
8 UF Destinatrio
2
9 CEP Destinatrio
8
10 Seq.da Linha do Arquivo
6
Registro 3 - Nota Fiscal
1 Identificao do registro - 03
2
2 Srie NF
3
3 Nmero NF
6
4 Data Emisso
8
5 Tipo do Frete
1
6 Quantidade Volumes
6
7 Peso Bruto
11
8 Valor Nota Fiscal
11
9 Cubagem
11
10 Produto
25
11 Embalagem
10
12 UF Origem
2
13 Cidade Origem
35
14 UF Destino
2
15 Cidade Destino
35
16 Seq. da Linha do Arquivo
6
Registro 4 - Endereo de Entrega (Opcional)
1 Identificao do registro - 04
2
2 Endereo de Entrega
40
3 Bairro Entrega
20
4 Cidade Entrega
35
5 UF Entrega
2
6 CEP Entrega
8
7 Seq. da Linha do Arquivo
6
Registro 5 Redespacho (Opcional)
1 Identificao do registro - 05
2
2 Indicao de Redespacho
64
3 Nome Transp. Redespacho
30
4 Endereo Redespacho
40
5 Bairro Redespacho
20
6 Cidade Redespacho
35
7 UF Redespacho
2
8 CEP Redespacho
8
9 Seq. da Linha do Arquivo
6
Registro 6 - Rodap
1 Identificao do registro - 06
2
2 Quantidade de Registros
6
3 Seq. da Linha do Arquivo
6
1
3
17
31
66
106
126
161
163
171
2
16
30
65
105
125
160
162
170
176
Caracter
Caracter
Caracter
Caracter
Caracter
Caracter
Caracter
Caracter
Caracter
Numrico
1
3
6
12
20
21
27
38
49
60
85
95
97
132
134
169
2
5
11
19
20
26
37
48
59
84
94
96
131
133
168
174
Caracter
Caracter
Caracter
Caracter
Caracter
Numrico
Numrico
Numrico
Numrico
Caracter
Caracter
Caracter
Caracter
Caracter
Caracter
Numrico
Fixo "02"
99999999999999
99999999999999
99999999
999999
Fixo "03"
999999
ddmmaaaa
C=CIF e F=FOB
999999
99999999999 (3 dec)
99999999999 (2dec)
99999999999 (3 dec)
Ex: "Qumico"
Ex: "Tambor"
(Onde inicia o frete)
(Onde termina o frete)
999999
1
2 Caracter Fixo "04"
3 42 Caracter
43 62 Caracter
63 97 Caracter
98 99 Caracter
100 107 Caracter
108 113 Numrico 999999
1
3
67
97
137
157
192
194
202
1
3
9
2
66
96
136
156
191
193
201
207
67
68
Agora para demonstrar o tipo de arquivo XML ser validade por esta
DTD, segue abaixo um exemplo:
<?xml version="1.0"?>
<!DOCTYPE Arquivo SYSTEM "file:///e:/Documentos/Monografia_Pos-Graduao/EDI%20%20Logistica/DTD_Externa_Envio.dtd">
<Arquivo>
<Cabecalho>
<Data>25/05/2006</Data>
<Hora>15:24:00</Hora>
<CNPJ>01001002000199</CNPJ>
<INSC_ESTADUAL>12345678910</INSC_ESTADUAL>
<Nome> Anjo Tintas e Solventes </Nome>
<Controle_Sequencial>000001</Controle_Sequencial>
</Cabecalho>
<Nota Serie="1" Numero="000001">
<Emissao>25/05/2006</Emissao>
<Tipo_Frete>CIF</Tipo_Frete>
<Volumes>15</Volumes>
<Peso>15000.000</Peso>
<Valor>24350.25</Valor>
<Cubagem></Cubagem>
<Produto>Quimico</Produto>
<Embalagem>Tambor</Embalagem>
<Origem>
<Cidade>Criciuma</Cidade>
<Estado>SC</Estado>
</Origem>
<Destino>
<Cidade>Sao Paulo</Cidade>
<Estado>SP</Estado>
</Destino>
<Destinatario>
<CNPJ>01111002000155</CNPJ>
<INSC_ESTADUAL>001225445</INSC_ESTADUAL>
69
</Nota>
<Nota Serie="1" Numero="000002">
<Emissao>25/05/2006</Emissao>
<Tipo_Frete>CIF</Tipo_Frete>
<Volumes>15</Volumes>
<Peso>15000.000</Peso>
<Valor>24350.25</Valor>
<Cubagem></Cubagem>
<Produto>Quimico</Produto>
<Embalagem>Tambor</Embalagem>
<Origem>
<Cidade>Criciuma</Cidade>
<Estado>SC</Estado>
</Origem>
<Destino>
<Cidade>Sao Paulo</Cidade>
<Estado>SP</Estado>
</Destino>
<Destinatario>
<CNPJ>01111002000155</CNPJ>
<INSC_ESTADUAL>001225445</INSC_ESTADUAL>
<Nome>Tinta Sao Paulo</Nome>
<Endereco>
<Logradouro>Av Teste, 200</Logradouro>
<Bairro>Centro</Bairro>
<Cidade>Sao Paulo</Cidade>
<Estado>SP</Estado>
<CEP>88810450</CEP>
</Endereco>
70
</Destinatario>
<Redespacho>
<Nome_Transportador_Redespacho>
Ouro negro
</Nome_Transportador_Redespacho>
<Endereco>
<Logradouro>Av Teste, 200</Logradouro>
<Bairro>Centro</Bairro>
<Cidade>Sao Paulo</Cidade>
<Estado>SP</Estado>
<CEP>88810450</CEP>
</Endereco>
</Redespacho>
</Nota>
<Nota Serie="1" Numero="000003">
<Emissao>25/05/2006</Emissao>
<Tipo_Frete>CIF</Tipo_Frete>
<Volumes>15</Volumes>
<Peso>15000.000</Peso>
<Valor>24350.25</Valor>
<Origem>
<Cidade>Criciuma</Cidade>
<Estado>SC</Estado>
</Origem>
<Destino>
<Cidade>Sao Paulo</Cidade>
<Estado>SP</Estado>
</Destino>
<Destinatario>
<CNPJ>01111002000155</CNPJ>
<INSC_ESTADUAL>001225445</INSC_ESTADUAL>
<Nome>Tinta Sao Paulo</Nome>
<Endereco>
<Logradouro>Av Teste, 200</Logradouro>
<Bairro>Centro</Bairro>
<Cidade>Sao Paulo</Cidade>
<Estado>SP</Estado>
<CEP>88810450</CEP>
</Endereco>
</Destinatario>
</Nota>
</Arquivo>
71
Contedo
Observao
Caracter
Caracter
Caracter
Fixo "01"
99999999999999
Caracter
Caracter
Numrico
Numrico
Ddmmaaaa
Hhmmss
999999
999999
Caracter
Caracter
Caracter
Caracter
Caracter
Caracter
Caracter
Caracter
Caracter
Numrico
Numrico
Caracter
Caracter
Caracter
Caracter
Caracter
Caracter
Numrico
Fixo "02"
XXX
999999
Ddmmaaaa
Ddmmaaaa
Caracter
AAA
999999
Caracter
Caracter
Caracter
Caracter
Caracter
Numrico
Caracter
Caracter
Numrico
99999999999 2 dec
99999999999 3 dec
9999 2 dec
99999999999 2 dec
99999999999 2 dec
99999999999 2 dec
99999999999 2 dec
99999999999 2 dec
999999
Fixo "03"
99999999999999
S=Sim / N=No
Ddmmaaaa
99999999999 2 dec
99999999999 3 dec
99999999999 2 dec
99999999999 2 dec
999999
72
2
3
6
1
8
8
11
6
1
3
6
12
13
21
29
40
2
5
11
12
20
28
39
45
Caracter
Caracter
Caracter
Caracter
Caracter
Caracter
Caracter
Numrico
Fixo "04"
XXX
999999
[A..Z]
Ddmmaaaa
Ddmmaaaa
99999999999 2 dec
999999
2
6
11
6
11
6
1
3
9
20
26
37
2
8
19
25
36
42
Caracter
Numrico
Caracter
Numrico
Caracter
Numrico
Fixo "05"
999999
99999999999 2 dec
999999
99999999999 2 dec
999999
todo
arquivo
somente
um
registro
tipo
01,
73
Relacionamento dos registros tipo 02 com os tipo 04, foi explicado no item c das regras de
criao do arquivo de recebimento.
74
75
<?xml encoding="UTF-8"?>
<!ELEMENT Retorno (Transportador,Dados,Fechamento)>
<!ELEMENT Transportador (Nome,Data,Hora)>
<!ATTLIST Transportador
CNPJ CDATA #REQUIRED>
<!ELEMENT Dados (Doc_Fatura)+>
<!ATTLIST Dados
Filial_Faturamento CDATA #REQUIRED>
<!ELEMENT Fechamento (Numero_Conhecimentos,Valor_Conhecimentos,
Numero_Notas,Valor_Notas)>
<!ELEMENT Data (#PCDATA)>
<!ELEMENT Hora (#PCDATA)>
<!ELEMENT Doc_Fatura (Conhecimento,Fatura?)>
<!ELEMENT Numero_Conhecimentos (#PCDATA)>
<!ELEMENT Valor_Conhecimentos (#PCDATA)>
<!ELEMENT Numero_Notas (#PCDATA)>
<!ELEMENT Valor_Notas (#PCDATA)>
<!ELEMENT Conhecimento (Emissao,Vencimento,Origem,Destino,
Valor_Mercadorias,Peso_Mercadorias,
Aliquota_ICMS,Taxa,Pedagio,ADValore,
Valor_Conhecimento,Valor_ICMS,Nota+)>
<!ATTLIST Conhecimento
Numero CDATA #REQUIRED
Serie CDATA #REQUIRED>
<!ELEMENT Fatura (Emissao,Vencimento,Valor_Fatura)>
<!ATTLIST Fatura
Numero CDATA #REQUIRED
Parcela CDATA #REQUIRED
Prefixo CDATA #REQUIRED>
<!ELEMENT Origem (Cidade,Estado)>
<!ELEMENT Destino (Cidade,Estado)>
<!ELEMENT Valor_Mercadorias (#PCDATA)>
<!ELEMENT Peso_Mercadorias (#PCDATA)>
<!ELEMENT Aliquota_ICMS (#PCDATA)>
<!ELEMENT Taxa (#PCDATA)>
<!ELEMENT Pedagio (#PCDATA)>
<!ELEMENT ADValore (#PCDATA)>
<!ELEMENT Valor_Conhecimento (#PCDATA)>
<!ELEMENT Valor_ICMS (#PCDATA)>
<!ELEMENT Nota (CNPJ,Nome,Cortesia,Emissao,Valor_Nota,Peso_Nota,
Valor_Frete,ICMS_Frete)>
<!ATTLIST Nota
Numero CDATA #REQUIRED
Serie CDATA #REQUIRED>
<!ELEMENT Valor_Fatura (#PCDATA)>
<!ELEMENT CNPJ (#PCDATA)>
<!ELEMENT Cortesia (#PCDATA)>
<!ELEMENT Valor_Nota (#PCDATA)>
<!ELEMENT Peso_Nota (#PCDATA)>
<!ELEMENT Valor_Frete (#PCDATA)>
<!ELEMENT ICMS_Frete (#PCDATA)>
<!ELEMENT Nome (#PCDATA)>
<!ELEMENT Emissao (#PCDATA)>
<!ELEMENT Vencimento (#PCDATA)>
<!ELEMENT Cidade (#PCDATA)>
<!ELEMENT Estado (#PCDATA)>
76
<?xml version="1.0"?>
<!DOCTYPE Retorno SYSTEM "file:///e:/Documentos/Monografia_Pos-Graduao/EDI%20%20Logistica/DTD_Externa_Recebimento.dtd">
<Retorno>
<Transportador CNPJ="01002003000199">
<Nome>Italia Transportes</Nome>
<Data>24/05/20006</Data>
<Hora>19:20:00</Hora>
</Transportador>
<Dados Filial_Faturamento="10200300000188">
<Doc_Fatura>
<Conhecimento Serie="1" Numero="000001">
<Emissao>24/05/20006</Emissao>
<Vencimento>05/06/20006</Vencimento>
<Origem>
<Cidade>Criciuma</Cidade>
<Estado>SC</Estado>
</Origem>
<Destino>
<Cidade>Sao Paulo</Cidade>
<Estado>SP</Estado>
</Destino>
<Valor_Mercadorias>500000.00</Valor_Mercadorias>
<Peso_Mercadorias>24000.000</Peso_Mercadorias>
<Aliquota_ICMS>12.00</Aliquota_ICMS>
<Taxa>0.00</Taxa>
<Pedagio>0.00</Pedagio>
<ADValore>130.00</ADValore>
<Valor_Conhecimento>1240.00</Valor_Conhecimento>
<Valor_ICMS>150.00</Valor_ICMS>
<Nota Serie="1" Numero="001000">
<CNPJ>01123456000120</CNPJ>
<Nome>Tintas Sao Paulo</Nome>
<Cortesia>S</Cortesia>
<Emissao>24/05/20006</Emissao>
<Valor_Nota>50000.00</Valor_Nota>
<Peso_Nota>24000.000</Peso_Nota>
<Valor_Frete>1240.00</Valor_Frete>
<ICMS_Frete>150.00</ICMS_Frete>
</Nota>
<Nota Serie="1" Numero="001001">
<CNPJ>01001123000122</CNPJ>
<Nome>Com.de Tintas SP</Nome>
<Cortesia>N</Cortesia>
<Emissao>24/05/20006</Emissao>
<Valor_Nota>60000.00</Valor_Nota>
<Peso_Nota>24000.000</Peso_Nota>
<Valor_Frete>1325.00</Valor_Frete>
<ICMS_Frete>150.00</ICMS_Frete>
</Nota>
</Conhecimento>
77
78
79
Acesso ao Portal
Consulta a coleta
disponibilizada
(Cargas)
Sistema
proprietrio
do fornecedor
Gera os conhecimentos
Validao
EDI est OK?
No
Sim
Realiza os processos:
- Entrada dos Conhecimentos
- Lana Contas a Pagar
- Monta Faturas
FIM
Figura 13 - Fluxo do processo com sistemas integrados
Fonte: O autor
80
Acesso ao Portal
Consulta a coleta
disponibilizada
(Cargas)
Alimenta as Notas
com os dados dos
Conhecimentos
Efetiva Integrao
Realiza os processos:
- Entrada dos Conhecimentos
- Lana Contas a Pagar
- Monta Faturas
FIM
81
82
83
84
Nome do Servio
CARGADAK
Descrio
Mtodo
getDadosDak
Descrio
NomeWs
Nome do usurio
PassWs
Senha
transpWs
Transportador
datIniWs
datFimWs
OpcWs
aReturn
Nome do Servio
CARGADETAIL
Descrio
Mtodo
getDetailDai
Descrio
NomeWs
Nome do usurio
PassWs
Senha
cargaWs
Cdigo da carga
seqCarWs
Seqncia da carga
Retorno
aReturn
85
Nome do Servio
USRFRETE
Descrio
Mtodo
getPermissao
Descrio
NomeWs
Nome do usurio
PassWs
Senha
fornecWs
Identificao do fornecedor
Retorno
transpWs
Nome do Servio
GERAARQDAK
Descrio
Mtodo 1
geraArqTxt
Descrio
NomeWs
Nome do usurio
PassWs
Senha
cargaWs
Cdigo da Carga
Retorno
cReturn
Mtodo 2
geraArqXML
Descrio
NomeWs
Nome do usurio
PassWs
Senha
cargaWs
Cdigo da Carga
86
Retorno
cReturn
Nome do Servio
VALIDASEC
Descrio
Mtodo
getValida
Descrio
Parmetros
NomeWs
Nome do usurio
PassWs
Senha
CnpjtWs
CNPJ do Transportador
CnpjfWs
DadosWs
aReturn
87
88
If Select("Qry") <> 0
Qry->(dbCloseArea())
End
TCQuery cQuery Alias Qry New
TcSetField("Qry" , "DAK_DATA" , "D" , 08,00)
TcSetField("Qry" , "DAK_DATCOL" , "D" , 08,00)
If Qry->(Eof())
SetSoapFault("ERRO LISTA","Nenhum dado encontrado nesse periodo!")
Return .f.
end
DAI->(DBSETORDER(1))
While Qry->(!Eof())
DAI->(DBSEEK(Qry->DAK_FILIAL + Qry->DAK_COD + Qry->DAK_SEQCAR ) , .T. )
nSkip := 0
While DAI->(!EOF()) .And. DAI->DAI_FILIAL == Qry->DAK_FILIAL .And.
DAI->DAI_COD == Qry->DAK_COD .And.
DAI->DAI_SEQCAR == Qry->DAK_SEQCAR
If nOpc == 1 //Faturadas
If !Empty(DAI->DAI_NFISCA)
nSkip ++
End
ElseIf nOpc == 2 //Nao Faturadas
If !Empty(DAI->DAI_NFISCA)
nSkip ++
End
End
DAI->(DBSKIP())
End
conout(nSkip)
If nSkip == 0 .And. nOpc == 2
nCont ++
AAdd( ::aReturn:dados , WSClassNew( "dadosDak" ) )
//Alimentando campos de retorno do Ws
::aReturn:dados[ nCont ]:CODIGO := Qry->DAK_COD
::aReturn:dados[ nCont ]:TIPFRE
:= Qry->DAK_TIPFRE
::aReturn:dados[ nCont ]:TIPVEI
:= Qry->DAK_TIPVEI
::aReturn:dados[ nCont ]:DATMON
:= dToC(Qry->DAK_DATA)
::aReturn:dados[ nCont ]:DATCOL
:= dToC(Qry->DAK_DATCOL)
::aReturn:dados[ nCont ]:DESTIN
:= Qry->DAK_DESTIN
::aReturn:dados[ nCont ]:PLACA
:= Qry->DAK_CAMINH
::aReturn:dados[ nCont ]:MOTORI
:= Qry->DAK_MOTORI
::aReturn:dados[ nCont ]:PESO := Transform(Qry->DAK_PESO ,
X3Picture("DAK_PESO"))
::aReturn:dados[ nCont ]:SEQCAR
:= Qry->DAK_SEQCAR
ElseIf nSkip > 0 .And. nOpc == 1
nCont ++
AAdd( ::aReturn:dados , WSClassNew( "dadosDak" ) )
//Alimentando campos de retorno do Ws
::aReturn:dados[ nCont ]:CODIGO := Qry->DAK_COD
::aReturn:dados[ nCont ]:TIPFRE
:= Qry->DAK_TIPFRE
::aReturn:dados[ nCont ]:TIPVEI
:= Qry->DAK_TIPVEI
89
End
End
Qry->(DBSKIP())
Return lReturn
WSSTRUCT Struct
WSDATA dados as Array Of dadosDak optional
EndWsStruct
WSSTRUCT dadosDak
WSDATA CODIGO
WSDATA TIPFRE
WSDATA TIPVEI
WSDATA DATMON
WSDATA DATCOL
WSDATA DESTIN
WSDATA PLACA
WSDATA MOTORI
WSDATA PESO
WSDATA SEQCAR
EndWsStruct
as String OPTIONAL
as String OPTIONAL
as String OPTIONAL
as String OPTIONAL
as String OPTIONAL
as String OPTIONAL
as String OPTIONAL
as String OPTIONAL
as String OPTIONAL
as String OPTIONAL
90
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
targetNamespace="http://192.168.0.11:8080/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<s:schema elementFormDefault="qualified" targetNamespace="http://192.168.0.11:8080/">
<s:element name="GETDADOSDAK">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="NOMEWS" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="PASSWS" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="TRANSPWS" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="DATINIWS" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="DATFIMWS" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="OPCWS" type="s:integer" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GETDADOSDAKRESPONSE">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="GETDADOSDAKRESULT"
type="s0:STRUCT" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="STRUCT">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="DADOS"
type="s0:ARRAYOFDADOSDAK"/>
</s:sequence>
</s:complexType>
<s:complexType name="DADOSDAK">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="CODIGO" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="DATCOL" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="DATMON" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="DESTIN" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="MOTORI" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PESO" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PLACA" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="SEQCAR" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="TIPFRE" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="TIPVEI" type="s:string" />
</s:sequence>
</s:complexType>
<s:complexType name="ARRAYOFDADOSDAK">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="DADOSDAK"
type="s0:DADOSDAK" />
</s:sequence>
</s:complexType>
</s:schema>
</types>
<message name="GETDADOSDAKSOAPIN">
<part name="parameters" element="s0:GETDADOSDAK" />
</message>
<message name="GETDADOSDAKSOAPOUT">
<part name="parameters" element="s0:GETDADOSDAKRESPONSE" />
</message>
<portType name="CARGADAKSOAP">
91
<operation name="GETDADOSDAK">
<documentation>Retorna os dados da Tabela Dak</documentation>
<input message="s0:GETDADOSDAKSOAPIN" />
<output message="s0:GETDADOSDAKSOAPOUT" />
</operation>
</portType>
<binding name="CARGADAKSOAP" type="s0:CARGADAKSOAP">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
<operation name="GETDADOSDAK">
<soap:operation soapAction=http://192.168.0.11:8080/GETDADOSDAK
style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
<service name="CARGADAK">
<documentation>Servico responsavel por retornar os dados da carga</documentation>
<port name="CARGADAKSOAP" binding="s0:CARGADAKSOAP">
<soap:address location="http://192.168.0.11:8080/ws/CARGADAK.apw" />
</port>
</service>
</definitions>
92
_URL
cNOMEWS
cPASSWS
cTRANSPWS
cDATINIWS
cDATFIMWS
nOPCWS
oWSGETDADOSDAKRESULT
AS String
AS string
AS string
AS string
AS string
AS string
AS integer
AS CARGADAK_STRUCT
ENDWSCLIENT
WSMETHOD NEW WSCLIENT WSCARGADAK
::Init()
If !FindFunction("XMLCHILDEX")
UserException("O Cdigo-Fonte Client atual requer os executveis do Protheus Build
[7.00.051130P] ou superior. Atualize o Protheus ou gere o
Cdigo-Fonte novamente utilizando o Build atual.")
EndIf
Return Self
WSMETHOD INIT WSCLIENT WSCARGADAK
::oWSGETDADOSDAKRESULT := CARGADAK_STRUCT():New()
Return
WSMETHOD RESET WSCLIENT WSCARGADAK
::cNOMEWS
:= NIL
::cPASSWS
:= NIL
::cTRANSPWS
:= NIL
::cDATINIWS
:= NIL
::cDATFIMWS
:= NIL
::nOPCWS
:= NIL
::oWSGETDADOSDAKRESULT
:= NIL
::Init()
Return
WSMETHOD CLONE WSCLIENT WSCARGADAK
Local oClone := WSCARGADAK():New()
oClone:_URL
:= ::_URL
oClone:cNOMEWS
:= ::cNOMEWS
oClone:cPASSWS
:= ::cPASSWS
oClone:cTRANSPWS := ::cTRANSPWS
oClone:cDATINIWS
:= ::cDATINIWS
oClone:cDATFIMWS := ::cDATFIMWS
oClone:nOPCWS
:= ::nOPCWS
oClone:oWSGETDADOSDAKRESULT := IIF(::oWSGETDADOSDAKRESULT = NIL ,
NIL ,::oWSGETDADOSDAKRESULT:Clone() )
93
Return oClone
/* ------------------------------------------------------------------------------WSDL Method GETDADOSDAK of Service WSCARGADAK
------------------------------------------------------------------------------- */
WSMETHOD GETDADOSDAK WSSEND
cNOMEWS,cPASSWS,cTRANSPWS,cDATINIWS,cDATFIMWS,nOPCWS WSRECEIVE
oWSGETDADOSDAKRESULT WSCLIENT WSCARGADAK
Local cSoap := "" , oXmlRet
BEGIN WSMETHOD
cSoap += '<GETDADOSDAK xmlns="http://192.168.0.11:8080/">'
cSoap += WSSoapValue("NOMEWS", ::cNOMEWS, cNOMEWS , "string", .T. , .F., 0 )
cSoap += WSSoapValue("PASSWS", ::cPASSWS, cPASSWS , "string", .T. , .F., 0 )
cSoap += WSSoapValue("TRANSPWS", ::cTRANSPWS, cTRANSPWS , "string", .T. , .F., 0 )
cSoap += WSSoapValue("DATINIWS", ::cDATINIWS, cDATINIWS , "string", .F. , .F., 0 )
cSoap += WSSoapValue("DATFIMWS", ::cDATFIMWS, cDATFIMWS , "string", .F. , .F., 0 )
cSoap += WSSoapValue("OPCWS", ::nOPCWS, nOPCWS , "integer", .T. , .F., 0 )
cSoap += "</GETDADOSDAK>"
oXmlRet := SvcSoapCall(
Self,cSoap,;
"http://192.168.0.11:8080/GETDADOSDAK",;
"DOCUMENT","http://192.168.0.11:8080/",,"1.031217",;
"http://192.168.0.11:8080/ws/CARGADAK.apw")
::Init()
::oWSGETDADOSDAKRESULT:SoapRecv( WSAdvValue(
oXmlRet,"_GETDADOSDAKRESPONSE:_GETDADOSDAKRESULT","STRUCT",NIL,NIL,NIL,
NIL,NIL) )
END WSMETHOD
oXmlRet := NIL
Return .T.
/* ------------------------------------------------------------------------------WSDL Data Structure STRUCT
------------------------------------------------------------------------------- */
WSSTRUCT CARGADAK_STRUCT
WSDATA oWSDADOS
OPTIONAL
WSMETHOD NEW
WSMETHOD INIT
WSMETHOD CLONE
WSMETHOD SOAPRECV
ENDWSSTRUCT
AS CARGADAK_ARRAYOFDADOSDAK
94
oClone:oWSDADOS
Return oClone
Return
::oWSDADOSDAK[len(::oWSDADOSDAK)]:SoapRecv(oNodes1[nRElem1])
Endif
Next
95
96
4 CONCLUSO
97
98
REFERNCIAS
99
100
REFERNCIAS COMPLEMENTARES
101
APNDICES
102
103
104
105
106
107
108
109
110
Questionrio:
1) H quanto tempo empresa utiliza o ERP?
R: sem resposta
2) Quais reas da Empresa j se utilizam os recursos do ERP?
a.
Comercial
b.
Financeiro
c.
Produo
d.
Recursos Humanos
e.
Projetos
f.
Logstica
g.
Contabilidade/Fiscal
h.
Manuteno
i.
SAC / Ps-Vendas
j.
Outras
3) O Que motivou a implantao do ERP?
a.
Sistema legado no integrado.
b.
Bug do milnio
c.
Reduo da equipe interna da informtica
d.
Aumentar a disponibilidade de informaes alta administrao
e.
Outro
4) Qual a estimativa de gastos anuais com manuteno e customizaes?
R: sem resposta
111
5) Alm do ERP que outras tecnologias so utilizadas para auxiliar nos negcios da
empresa?
a.
E-mail
b.
Workflow
Sistemas de Fora de Venda
c.
d.
Sistemas para CRM (Customer Relationship Manager)
e.
Sistemas BI (Business Inteligence)
EDI (Eletronic Data Interchange)
f.
g.
Outro
6) A empresa utiliza banco de dados? Qual?
a.
Oracle
MSSQL Server
b.
c.
Sybase
Postgress
d.
e.
MySql
f.
Outro
7) Quais os benefcios identificados com a utilizao do ERP?
a.
Aumento no volume de faturamento da empresa.
b.
Agilidade na obteno de Informaes.
c.
Maior confiana nas informaes.
d.
Aumento de credibilidade perante aos clientes.
e.
Integrao dos setores da empresa.
f.
Outros
8) A empresa possui algum tipo de integrao com parceiros comerciais, como:
clientes, fornecedores, representantes comerciais, agentes de exportao, etc.?
R: sem resposta
9) Existe atualmente alguma aplicao de EDI implantado na empresa?
R: sem resposta
10) Caso utilize EDI. Qual setor est utilizando?
a.
Comercial
b.
Financeiro
c.
Produo
d.
Recursos Humanos
e.
Projetos
f.
Logstica
g.
Contabilidade/Fiscal
h.
Manuteno
i.
SAC / Ps-Vendas
Outras
j.
112
113
1 ano
2 anos
2 a 5 anos
6 a 10 anos
mais 10 anos
x x
x
x
x x
x
x
x
x
x
x x x
x x
x x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x x
x x x x
x
x x
x x x x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x x
x
x x
e Projetos
f Logstica
g Contabilidade/Fiscal
h Manuteno
x
x
x
x
x x x x x x
x
x x
i SAC / Ps-Vendas
x
x x x
x
x
x
x x x x
x
x
j Outras
x x
Compras e Estoque
x
x
x x
x x
x x
e Outro
Evoluo Tecnolgica, Integrao dos
Processos na Empresa
4
x
x
x x x x x
x
x
x
x x x x
x x x
a at 25000,00
b at 50000,00
c at 100000,00
d at 250000,00
e at 500000,00
f at 1000000,00
g acima de 1000000,00
x
x
x
x
x
x
x
x
114
Alm do ERP que outras tecnologias so utilizadas para auxiliar nos negcios
da empresa?
a E-mail
b Workflow
c Sistemas de Fora de Venda
Sistemas para CRM (Customer
d Relationship Manager)
x x x x x x x x
x x
x x
x
x
x
x
x x x
x x
x
x x x x x
x x
x
x
x x
g Outro
x
x x x
x
x x
a Oracle
b MSSQL Server
x x
x
x x x x x x
x x x x
c Sybase
d Postgress
e MySql
f Outro
DB2
x x x x x
x
x x x x x x
x x x x x x x x
x x x x x x x
x
x x
x
x
x x x x x x x x x x x x x x x x x x
f Outros
8
A empresa possui algum tipo de integrao com parceiros comerciais, como: clientes,
fornecedores, representantes comerciais, agentes de exportao, etc.?
a Sim
x x
x x
x x x x x
b No
c Pretende Utilizar
x x
x
x
x x
a Sim
b No
c Pretende Utilizar
x x
x
x
x x
x
x
x
x x
x
x
x x
115
x x
x x
a Comercial
b Financeiro
x
x
x
x
c Produo
d Recursos Humanos
e Projetos
f Logstica
d Contabilidade/Fiscal
e Manuteno
f SAC / Ps-Vendas
d Outras
c Planilha Excel
e Arquivo XML
f Outros
Digitao
x
x x
b No
x x
x
x
x x
c Pretende Utilizar
x x
x
13 Caso utilize Web Services para qual aplicao est sendo utilizado?
a Integrao de Base Interna
Integrao de Base de
b Cliente/Fornecedor
x
x
x
x
a Sim
b No
c Pretende Utilizar
x x x
x x
x x
x x
x x