Mudanças entre as edições de "Integração DAV via Stored Procedure"

De TotaliWiki
Ir para: navegação, pesquisa
(EnviaItemDAV)
(Alterações)
 
(54 revisões intermediárias por 3 usuários não estão sendo mostradas)
Linha 1: Linha 1:
Interface de Integração de Orçamento via Stored Procedure:
+
{{Tags|Integração}}
 +
{{Referencias}}
 +
Interface de Integração de Orçamento via Stored Procedure.
  
 +
== Conceito ==
  
== EnviaDAV ==
+
O processo de integração de orçamentos (DAVs e Pré-vendas) via stored procedure serve para que sistemas parceiros similares ao Totall Order possam enviar DAVs para serem resgatadas pelo Commerce Checkout. <BR/>
 +
 
 +
 
 +
A partir da versão 01.08 do PAF-ECF (2011) passam a vigorar as seguintes regras para a retaguarda:
 +
* Gravação do DAV no banco de dados deve ser de forma concomitante, ou seja a cada novo item inserido deve-se gravar no banco de dados.
 +
* O DAV não pode ser impresso mais de uma vez.
 +
* Após impresso o DAV não pode ser alterado.
 +
* Não é permitir exclusão de itens de orçamento, podendo apenas cancelar os mesmos.
 +
* Não permitir alterar a quantidade de um item.
 +
* Os itens cancelados precisam ser enviados para o Checkout com um campo para definir que ele foi cancelado.
 +
* Não será permitido incluir novos itens de DAV se o mesmo tiver algum item vendido.
 +
 
 +
 
 +
As imagens abaixo ilustram a principal mudança de conceito. Antes o DAV poderia ser todo criado na retaguarda para depois ser passado ao banco de dados.
 +
Agora, essas duas etapas se fundiram porque o DAV precisa ser o tempo todo gravado no banco.
 +
 
 +
<gallery widths="280px" heights="180px" perrow="2">
 +
Imagem:Integracao-antes.PNG|Antes
 +
Imagem:Integracao-depois.PNG|Depois
 +
</gallery>
 +
 
 +
 
 +
A imagem abaixo ilustra o uso das stored procedures para enviar um pedido de venda para o banco de dados.
 +
 
 +
[[Imagem:Pre-venda-2011.png|856px]]
 +
 
 +
== ENVIA_DAV ==
  
 
Método responsável pela inserção ou atualização de uma DAV ou Pré-venda.
 
Método responsável pela inserção ou atualização de uma DAV ou Pré-venda.
Quando o orçamento é novo ele não ficará disponível para ser vendido enquanto não for executado o método ValidaDAV.
+
Quando o orçamento é novo ele não ficará disponível para ser vendido enquanto não for executado o método VALIDA_DAV.
Caso alguma inconsistência seja verificada gerará exceção.  
+
Caso alguma inconsistência seja verificada o método gerará exceção.  
Para PostgreSQL este este método é uma função que retorna o campo NUMPED.
+
Para PostgreSQL foi implementado como uma função que retorna o campo NUMPED.
No Oracle devesse chamar como Stored Procedure passando os valores por parâmetro e pegando o retorno no parâmetro NUMPED.
+
No Oracle deve-se chamar como Stored Procedure passando os valores por parâmetro e pegando o retorno no parâmetro NUMPED.
 
+
  
 
{| cellpadding="6px" border=1 style="border:1px solid #C0C0C0; border-collapse:collapse;"
 
{| cellpadding="6px" border=1 style="border:1px solid #C0C0C0; border-collapse:collapse;"
Linha 22: Linha 50:
 
|-
 
|-
 
||CODEXT
 
||CODEXT
||Código Externo 
+
||Código Externo
||NUMBER 
+
||NUMBER
||15,
+
||15,0
||Sim 
+
||Sim
 
||
 
||
 
||
 
||
 
||
 
||
 
|-
 
|-
||CODSER 
+
||CODSER
||Série Padrão para a Venda 
+
||Série Padrão para a Venda
||CHAR 
+
||CHAR
||
+
||2
||Sim 
+
||Sim
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||DOCNFP 
+
||DOCNFP
||Documento p/ NFP 
+
||Documento p/ NFP
||VARCHAR2 
+
||VARCHAR2
||15 
+
||15
||Sim 
+
||Sim
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||DATAPR 
+
||DATAPR
||Data de aprovação 
+
||Data de aprovação
||DATE 
+
||DATE
||
+
||7
||Sim 
+
||Sim
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||CODFIL 
+
||CODFIL
||Filial 
+
||Filial
||CHAR 
+
||CHAR
||
+
||3
|| 
+
||
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||TIPPED 
+
||TIPPED
||Tipo de Pedido/OS 
+
||Tipo de Pedido/OS
||CHAR 
+
||CHAR
||
+
||1
|| 
+
||  
||'0'  
+
||'O'
||O - DAV  
+
||O - DAV<BR />P - Pré-Venda
P - Pré-Venda
+
 
||
 
||
 
|-
 
|-
||CLIEXT 
+
||CLIEXT
||Código externo do Cliente 
+
||Código externo do Cliente
 
||VARCHAR
 
||VARCHAR
 
||20
 
||20
|| 
+
||
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||VLRTOT 
+
||VLRTOT
||Valor Total 
+
||Valor Total
||NUMBER 
+
||NUMBER
||12,
+
||12,2
|| 
+
||
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||VLRPAR 
+
||VLRPAR
||Valor da Parcela 
+
||Valor da Parcela
||NUMBER 
+
||NUMBER
||12,
+
||12,2
|| 
+
||
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||VLRDES 
+
||VLRDES
||Valor do Desconto/Acréscimo 
+
||Valor do Desconto/Acréscimo
||NUMBER 
+
||NUMBER
||12,
+
||12,2
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||QTDPAR 
+
||QTDPAR
||Qtd. de Parcelas 
+
||Qtd. de Parcelas
||NUMBER 
+
||NUMBER
||5,
+
||5,0
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||FILFAT 
+
||FILFAT
||Filial. End. Fatura 
+
||Filial. End. Fatura
 
||CHAR
 
||CHAR
 
||3
 
||3
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||NUMFAT 
+
||NUMFAT
||Núm. End. Fatura 
+
||Núm. End. Fatura
||NUMBER 
+
||NUMBER
||4,
+
||4,0
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
 
||FILENT
 
||FILENT
||Filial. End. Entrega 
+
||Filial. End. Entrega
 
||CHAR
 
||CHAR
 
||3
 
||3
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||NUMENT 
+
||NUMENT
||Núm. End. Entrega 
+
||Núm. End. Entrega
||NUMBER 
+
||NUMBER
||4,
+
||4,0
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||FILCOB 
+
||FILCOB
||Filial. End Cobrança 
+
||Filial. End Cobrança
 
||CHAR
 
||CHAR
 
||3
 
||3
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||NUMCOB 
+
||NUMCOB
||Núm. End Cobrança 
+
||Núm. End Cobrança
||NUMBER 
+
||NUMBER
||4,
+
||4,0
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||DATVAL 
+
||DATVAL
||Validade 
+
||Validade
||DATE 
+
||DATE
||
+
||7
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||DATPRI 
+
||DATPRI
||1º Parcela 
+
||1º Parcela
||DATE 
+
||DATE
||
+
||7
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||APEVEN 
+
||APEVEN
||Apelido Vendedor 
+
||Apelido Vendedor
||VARCHAR 
+
||VARCHAR
 
||10
 
||10
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
 
||PLANO
 
||PLANO
||Plano 
+
||Plano
 
||CHAR
 
||CHAR
 
||9
 
||9
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||FILPRE 
+
||DESPRE
||Filial Tabela de Preços 
+
||Descrição da Tabela de Preços (se nulo utiliza VAREJO)
||NUMBER 
+
||5,0 
+
|| 
+
|| 
+
|| 
+
||
+
|-
+
||DESPRE 
+
||Descrição da Tabela de Preços (se nulo utiliza VAREJO)
+
 
||VARCHAR
 
||VARCHAR
 
||30
 
||30
 
||Sim
 
||Sim
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||RESERV 
+
||RESERV
||Reserva? 
+
||Reserva?  
||VARCHAR2 
+
||VARCHAR2
||
+
||1
|| 
+
||  
||'F'  
+
||'F'
|| 
+
||F - Falso<BR />T - Verdadeiro
 
||
 
||
 
|-
 
|-
||EMIDES 
+
||EMIDES
||Frete pelo Emitente? 
+
||Frete pelo Emitente?  
||VARCHAR2 
+
||VARCHAR2
||
+
||1
|| 
+
||  
||'F'  
+
||'F'
|| 
+
||F - Falso<BR />T - Verdadeiro
 
||
 
||
 
|-
 
|-
||PESLIQ 
+
||PESLIQ
||Peso Líquido 
+
||Peso Líquido
||NUMBER 
+
||NUMBER
||12,
+
||12,2
||Sim 
+
||Sim
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||PESBRU 
+
||PESBRU
||Peso Bruto 
+
||Peso Bruto
||NUMBER 
+
||NUMBER
||12,
+
||12,2
||Sim 
+
||Sim
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||VLRSEG 
+
||VLRSEG
||Valor do Seguro 
+
||Valor do Seguro
||NUMBER 
+
||NUMBER
||12,
+
||12,2
||Sim 
+
||Sim
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||VLRFRE 
+
||VLRFRE
||Valor do Frete 
+
||Valor do Frete
||NUMBER 
+
||NUMBER
||12,
+
||12,2
||Sim 
+
||Sim
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||SINAL 
+
||SINAL
||Sinal ou Entrada 
+
||Sinal ou Entrada
||NUMBER 
+
||NUMBER
||12,
+
||12,2
||Sim 
+
||Sim
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||OBSERV 
+
||OBSERV
||Observações de venda
+
||Observações de venda
||VARCHAR2 
+
||VARCHAR2
||4000 
+
||4000
||Sim 
+
||Sim
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||NUMBLO 
+
||NUMBLO
||Número do Bloco 
+
||Número do Bloco
||VARCHAR2 
+
||VARCHAR2
||
+
||8
||Sim 
+
||Sim
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||OBSORC 
+
||OBSORC
||Observação Orçamento 
+
||Observação Orçamento
||VARCHAR2 
+
||VARCHAR2
||4000 
+
||4000
||Sim 
+
||Sim
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||DATSEG 
+
||DATSEG
||2º Parcela 
+
||2º Parcela
||DATE 
+
||DATE
||
+
||7
||Sim 
+
||Sim
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||APROVA 
+
||APROVA
||Tipo Aprovação 
+
||Tipo Aprovação
||CHAR 
+
||CHAR
||
+
||1
|| 
+
||  
||'A' 
+
||'A'  
||A - Aprovado
+
||A - Aprovado<BR />E - Em Aprovação
E - Em Aprovação
+
 
||
 
||
 
|-
 
|-
||APRCLI 
+
||APRCLI
||Aprovação Cliente 
+
||Aprovação Cliente
||CHAR 
+
||CHAR
||
+
||1
|| 
+
||
||'1' 
+
||'1'  
||1 - Aprovado
+
||1 - Aprovado<BR />A - Em Aberto<BR />2 - Reprovado
A - Em Aberto
+
 
+
2 - Reprovado  
+
 
||
 
||
 
|-
 
|-
||PLACAS 
+
||PLACAS
||Placa Veículo 
+
||Placa Veículo
||VARCHAR2 
+
||VARCHAR2
||
+
||7
||Sim 
+
||Sim
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||QTD_KM 
+
||QTD_KM
||Qtde KM 
+
||Qtde KM
||NUMBER 
+
||NUMBER
||7,
+
||7,0
||Sim 
+
||Sim
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||CODSEQ 
+
||CODSEQ
||Cód. Sequen. NSU 
+
||Cód. Sequen. NSU
||NUMBER 
+
||NUMBER
||22 
+
||22
||Sim 
+
||Sim
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
Linha 383: Linha 397:
 
||
 
||
 
||
 
||
||0 - TOTALL<BR />1 - INTERSYS<BR />2 - ADVANCE
+
||''(solicitar a Totall)''
 
||
 
||
 
|-
 
|-
Linha 395: Linha 409:
 
||
 
||
 
|-
 
|-
||NUMPED 
+
||NUMPED
||Número da DAV ou Pré-Venda
+
||Número da DAV ou Pré-Venda
||CHAR 
+
||CHAR
||
+
||8
 
||Sim
 
||Sim
 
||
 
||
 
||
 
||
 
||Sim
 
||Sim
 +
|-
 +
||    ORCIMP   
 +
||    Imprimiu?   
 +
||    VARCHAR   
 +
||    1   
 +
||
 +
||    'F'   
 +
||    F - Falso<BR />T - Verdadeiro   
 +
||
 
|}
 
|}
  
== EnviaItemDAV ==
+
== ENVIAITEM_DAV ==
  
Método responsável pela inserção ou atualização de um item de DAV ou Pré-venda. Somente pode ser executado após ter sido incluso o DAV pelo método EnviaDAV.
+
Método responsável pela inserção ou atualização de um item de DAV ou Pré-venda. Somente pode ser executado após ter sido incluso o DAV pelo método ENVIA_DAV.
 
Caso alguma inconsistência seja verificada gerará exceção.
 
Caso alguma inconsistência seja verificada gerará exceção.
  
Linha 420: Linha 443:
 
! style="background:#efefef;" |''Coluna Retorno?''
 
! style="background:#efefef;" |''Coluna Retorno?''
 
|-
 
|-
||CODFIL 
+
||CODFIL
||Filial da DAV
+
||Filial da DAV
||CHAR 
+
||CHAR
||
+
||3
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||TIPPED 
+
||TIPPED
||Tipo Pedido/OS 
+
||Tipo Pedido/OS
||CHAR 
+
||CHAR
||
+
||1
|| 
+
||  
||'O'  
+
||'O'
 
||O - DAV
 
||O - DAV
P - Pré-Venda  
+
P - Pré-Venda
 
||
 
||
 
|-
 
|-
||NUMPED 
+
||NUMPED
||Número da DAV ou Pré-Venda
+
||Número da DAV ou Pré-Venda
||CHAR 
+
||CHAR
||
+
||8
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||NUMITE 
+
||NUMITE
||Item (número seqüencial por DAV)
+
||Item (número seqüencial por DAV)
||NUMBER 
+
||NUMBER
||5,
+
||5,0
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||VLRCUS 
+
||VLRCUS
||Valor Total 
+
||Valor Total
||NUMBER 
+
||NUMBER
||12,
+
||12,2
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||VLRPGT 
+
||VLRPGT
||Valor Total Sem Desc/Acrés 
+
||Valor Total Sem Desc/Acrés
||NUMBER 
+
||NUMBER
||12,
+
||12,2
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||QTDITE 
+
||QTDITE
 
||Quantidade
 
||Quantidade
||NUMBER 
+
||NUMBER
||12,
+
||12,4
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||VLRITE 
+
||VLRITE
 
||Vlr. Unitário
 
||Vlr. Unitário
||NUMBER 
+
||NUMBER
||14,
+
||14,4
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||VLRENT 
+
||VLRENT
 
||Vlr. Unitário Sem desconto/Acrés.
 
||Vlr. Unitário Sem desconto/Acrés.
||NUMBER 
+
||NUMBER
||14,
+
||14,4
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||PROEXT 
+
||PROEXT
 
||Código externo do Produto  
 
||Código externo do Produto  
||VARCHAR 
+
||VARCHAR
 
||20
 
||20
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||PROMOC 
+
||PROMOC
||Promoção 
+
||Promoção
||CHAR 
+
||CHAR
||
+
||1
|| 
+
||  
||'N'  
+
||'N'
||N - Não promocional no plano
+
||N - Não promocional no plano<BR/>E - Promocional no plano<BR/>Q - Promocional para qualquer plano
E - Promocional no plano
+
 
+
Q ? Promocional para qualquer plano  
+
 
||
 
||
 
|-
 
|-
||PREUNI 
+
||PREUNI
||Preço Unitário 
+
||Preço Unitário
||NUMBER 
+
||NUMBER
||12,
+
||12,2
||Sim 
+
||Sim
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||DESMUL 
+
||DESMUL
||Sub-Estoque 
+
||Sub-Estoque
 
||VARCHAR
 
||VARCHAR
 
||30
 
||30
 
||Sim
 
||Sim
 
||Nulo
 
||Nulo
|| 
+
||  
 
||
 
||
 
|-
 
|-
||OBSERV 
+
||OBSERV
||Observação 
+
||Observação
||VARCHAR2 
+
||VARCHAR2
||4000 
+
||4000
||Sim 
+
||Sim
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||PERIPI 
+
||PERIPI
||% IPI ÿltima Compra 
+
||% IPI Última Compra
||NUMBER 
+
||NUMBER
||5,
+
||5,2
||Sim 
+
||Sim
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
Linha 565: Linha 585:
 
||Sim
 
||Sim
 
||
 
||
 +
||
 +
||
 +
|-
 +
||FLGEST   
 +
||Situação do Item   
 +
||CHAR   
 +
||1   
 +
||Sim   
 +
||
 +
||A - Aberto<br />R - Reservado<br />NULL - Sistema usa o que foi mandado na TT_ORC.RESERV   
 +
||
 +
|-
 +
||LOTEXT
 +
||Código externo do lote
 +
||VARCHAR   
 +
||1   
 +
||Sim   
 +
||20
 
||
 
||
 
||
 
||
 
|}
 
|}
  
== ExcluiItemDAV ==
+
==     CANCELAITEM_DAV    ==
  
Método responsável pela exclusão de um item de DAV.
+
    Método responsável por cancelar um item de DAV.
Caso não encontre o item ou o mesmo não possa ser excluído gerará uma excessão.
+
Caso não encontre o item ou o mesmo não possa ser cancelado gerará uma exceção.  
  
 
{| cellpadding="6px" border=1 style="border:1px solid #C0C0C0; border-collapse:collapse;"
 
{| cellpadding="6px" border=1 style="border:1px solid #C0C0C0; border-collapse:collapse;"
Linha 584: Linha 622:
 
! style="background:#efefef;" |''Coluna Retorno?''
 
! style="background:#efefef;" |''Coluna Retorno?''
 
|-
 
|-
||CODFIL 
+
||CODFIL
||Filial da DAV
+
||Filial da DAV
||CHAR 
+
||CHAR
||
+
||3
|| 
+
||  
|| 
+
||  
|| 
+
||  
||
+
|-
+
||NUMITE 
+
||Item (número seqüencial por DAV)
+
||NUMBER 
+
||5,0 
+
|| 
+
|| 
+
||
+
||
+
|-
+
||NUMPED 
+
||Número da DAV ou Pré-Venda
+
||CHAR 
+
||8 
+
|| 
+
|| 
+
|| 
+
 
||
 
||
 
|-
 
|-
Linha 619: Linha 639:
 
||O - DAV  
 
||O - DAV  
 
P - Pré-Venda  
 
P - Pré-Venda  
 +
||
 +
|-
 +
||NUMPED
 +
||Número da DAV ou Pré-Venda
 +
||CHAR
 +
||8
 +
||
 +
||
 +
||
 +
||
 +
|-
 +
||NUMITE
 +
||Item (número seqüencial por DAV)
 +
||NUMBER
 +
||5,0
 +
||
 +
||
 +
||
 
||
 
||
 
|}
 
|}
  
  
== ValidaDAV ==
+
== VALIDA_DAV ==
  
Método responsável pela verificação do DAV. Realizando validações entre o DAV e seus itens.  
+
Método responsável pela verificação do DAV e liberação para o Checkout. Realizando validações entre o DAV e seus itens.  
Caso a validação dê OK o DAV ficará disponível para ser resgatado na Venda.
+
Caso a validação não gere exceção o DAV ficará disponível para ser resgatado na Venda.
 
Caso alguma inconsistência seja verificada gerará exceção.
 
Caso alguma inconsistência seja verificada gerará exceção.
  
Linha 639: Linha 677:
 
! style="background:#efefef;" |''Coluna Retorno?''
 
! style="background:#efefef;" |''Coluna Retorno?''
 
|-
 
|-
||CODFIL 
+
||CODFIL
||Filial da DAV
+
||Filial da DAV
||CHAR 
+
||CHAR
||
+
||3
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||TIPPED 
+
||NUMPED
||Tipo Pedido/OS 
+
||Número da DAV ou Pré-Venda
||CHAR 
+
||CHAR
||
+
||8
|| 
+
||  
||'O'  
+
||  
||O - DAV
+
||  
P - Pré-Venda  
+
 
||
 
||
 
|-
 
|-
||NUMPED 
+
||TIPPED
||Número da DAV ou Pré-Venda
+
||Tipo Pedido/OS
||CHAR 
+
||CHAR
||
+
||1
|| 
+
||  
|| 
+
||'O' 
|| 
+
||O - DAV
 +
P - Pré-Venda 
 
||
 
||
 
|}
 
|}
  
  
== CancelaDAV ==
+
== CANCELA_DAV ==
  
 
'''Função responsável pelo cancelamento de uma DAV'''.
 
'''Função responsável pelo cancelamento de uma DAV'''.
Linha 686: Linha 724:
 
! style="background:#efefef;" |''Coluna Retorno?''
 
! style="background:#efefef;" |''Coluna Retorno?''
 
|-
 
|-
||CODFIL 
+
||CODFIL
||Filial da DAV
+
||Filial da DAV
||CHAR 
+
||CHAR
||
+
||3
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|-
 
|-
||NUMPED 
+
||NUMPED
||Número da DAV ou Pré-Venda
+
||Número da DAV ou Pré-Venda
||CHAR 
+
||CHAR
||
+
||8
|| 
+
||  
|| 
+
||  
|| 
+
||  
 
||
 
||
 
|}
 
|}
 +
 +
 +
== Procedimentos para Assinatura ==
 +
 +
Os métodos de integração de DAV devem ser executados em uma sessão de banco de dados assinada.<br/>
 +
Isso quer dizer que os comandos de integração de DAV devem ser precedidos do comando '''RegistraAcesso'''.<br/>
 +
O método está descrito no artigo [[Integração de Banco via Rotinas de Importação]].
 +
 +
==    Impressão de DAV    ==
 +
 +
    Não é permitido que o DAV/Pré-venda seja impresso mais de uma vez.<BR/>
 +
Com isso, quem quiser implementar a rotina de impressão deve se preocupar em mandar o parâmetro <TT>ORCIMP = 'T'</TT> no ENVIA_DAV.<BR/>
 +
No caso de uma tentativa de reimpressão o sistema deve apresentar a seguinte mensagem:   
 +
 +
    PAF Req VI item 11 - É vedada a reimpressão de DAV.   
 +
 +
== Alterações ==
 +
 +
=== Versão 5.3 ===
 +
 +
* Remoção do método ASSINA_DAV.
 +
 +
=== Versão 5.2A ===
 +
 +
* Inclusão do campo LOTEXT no ENVIAITEM_DAV.
 +
 +
=== Versão 5.0G ===
 +
 +
* Inclusão do campo ORCIMP no ENVIA_DAV.
 +
* Inclusão do campo FLGEST no ENVIAITEM_DAV.
 +
* Substituição da função EXCLUIITEM_DAV por CANCELAITEM_DAV.
 +
* Inclusão de comentários Procedimentos para Assinatura explicando como utilizar RegistraAcesso ao invés de ASSINA_DAV.
 +
* Inclusão de novas colunas nos parâmetros de ConcatenaIOR.
 +
* Bloqueio para reimpressão de DAV.
 +
 +
== Categorias ==
 +
[[Categoria:Integração]]

Edição atual tal como às 11h46min de 21 de novembro de 2016

Tag-icone-mini.png Integração
Referenciado por: Predefinição:Artigos parceiros | Dependências de estrutura de banco | Gerar Nova Assinatura na TTSegur para Parceiros | Integração | Integração de Banco via Rotinas de Importação | Página principal | Roteiro de Treinamento para Processo de Integração | Teste2 | Teste5 | 

Interface de Integração de Orçamento via Stored Procedure.

Conceito

O processo de integração de orçamentos (DAVs e Pré-vendas) via stored procedure serve para que sistemas parceiros similares ao Totall Order possam enviar DAVs para serem resgatadas pelo Commerce Checkout.


A partir da versão 01.08 do PAF-ECF (2011) passam a vigorar as seguintes regras para a retaguarda:

  • Gravação do DAV no banco de dados deve ser de forma concomitante, ou seja a cada novo item inserido deve-se gravar no banco de dados.
  • O DAV não pode ser impresso mais de uma vez.
  • Após impresso o DAV não pode ser alterado.
  • Não é permitir exclusão de itens de orçamento, podendo apenas cancelar os mesmos.
  • Não permitir alterar a quantidade de um item.
  • Os itens cancelados precisam ser enviados para o Checkout com um campo para definir que ele foi cancelado.
  • Não será permitido incluir novos itens de DAV se o mesmo tiver algum item vendido.


As imagens abaixo ilustram a principal mudança de conceito. Antes o DAV poderia ser todo criado na retaguarda para depois ser passado ao banco de dados. Agora, essas duas etapas se fundiram porque o DAV precisa ser o tempo todo gravado no banco.


A imagem abaixo ilustra o uso das stored procedures para enviar um pedido de venda para o banco de dados.

Pre-venda-2011.png

ENVIA_DAV

Método responsável pela inserção ou atualização de uma DAV ou Pré-venda. Quando o orçamento é novo ele não ficará disponível para ser vendido enquanto não for executado o método VALIDA_DAV. Caso alguma inconsistência seja verificada o método gerará exceção. Para PostgreSQL foi implementado como uma função que retorna o campo NUMPED. No Oracle deve-se chamar como Stored Procedure passando os valores por parâmetro e pegando o retorno no parâmetro NUMPED.

Parâmetro Significado Tipo Tamanho Aceita Nulo Default Domínio Coluna Retorno?
CODEXT Código Externo NUMBER 15,0 Sim
CODSER Série Padrão para a Venda CHAR 2 Sim
DOCNFP Documento p/ NFP VARCHAR2 15 Sim
DATAPR Data de aprovação DATE 7 Sim
CODFIL Filial CHAR 3
TIPPED Tipo de Pedido/OS CHAR 1 'O' O - DAV
P - Pré-Venda
CLIEXT Código externo do Cliente VARCHAR 20
VLRTOT Valor Total NUMBER 12,2
VLRPAR Valor da Parcela NUMBER 12,2
VLRDES Valor do Desconto/Acréscimo NUMBER 12,2
QTDPAR Qtd. de Parcelas NUMBER 5,0
FILFAT Filial. End. Fatura CHAR 3
NUMFAT Núm. End. Fatura NUMBER 4,0
FILENT Filial. End. Entrega CHAR 3
NUMENT Núm. End. Entrega NUMBER 4,0
FILCOB Filial. End Cobrança CHAR 3
NUMCOB Núm. End Cobrança NUMBER 4,0
DATVAL Validade DATE 7
DATPRI 1º Parcela DATE 7
APEVEN Apelido Vendedor VARCHAR 10
PLANO Plano CHAR 9
DESPRE Descrição da Tabela de Preços (se nulo utiliza VAREJO) VARCHAR 30 Sim
RESERV Reserva? VARCHAR2 1 'F' F - Falso
T - Verdadeiro
EMIDES Frete pelo Emitente? VARCHAR2 1 'F' F - Falso
T - Verdadeiro
PESLIQ Peso Líquido NUMBER 12,2 Sim
PESBRU Peso Bruto NUMBER 12,2 Sim
VLRSEG Valor do Seguro NUMBER 12,2 Sim
VLRFRE Valor do Frete NUMBER 12,2 Sim
SINAL Sinal ou Entrada NUMBER 12,2 Sim
OBSERV Observações de venda VARCHAR2 4000 Sim
NUMBLO Número do Bloco VARCHAR2 8 Sim
OBSORC Observação Orçamento VARCHAR2 4000 Sim
DATSEG 2º Parcela DATE 7 Sim
APROVA Tipo Aprovação CHAR 1 'A' A - Aprovado
E - Em Aprovação
APRCLI Aprovação Cliente CHAR 1 '1' 1 - Aprovado
A - Em Aberto
2 - Reprovado
PLACAS Placa Veículo VARCHAR2 7 Sim
QTD_KM Qtde KM NUMBER 7,0 Sim
CODSEQ Cód. Sequen. NSU NUMBER 22 Sim
CODEMP Código da Empresa da Retaguarda NUMBER 5 (solicitar a Totall)
ASSINA Assinatura do Registro VARCHAR 256 Sim
NUMPED Número da DAV ou Pré-Venda CHAR 8 Sim Sim
ORCIMP Imprimiu? VARCHAR 1 'F' F - Falso
T - Verdadeiro

ENVIAITEM_DAV

Método responsável pela inserção ou atualização de um item de DAV ou Pré-venda. Somente pode ser executado após ter sido incluso o DAV pelo método ENVIA_DAV. Caso alguma inconsistência seja verificada gerará exceção.

Parâmetro Significado Tipo Tamanho Aceita Nulo Default Domínio Coluna Retorno?
CODFIL Filial da DAV CHAR 3
TIPPED Tipo Pedido/OS CHAR 1 'O' O - DAV

P - Pré-Venda

NUMPED Número da DAV ou Pré-Venda CHAR 8
NUMITE Item (número seqüencial por DAV) NUMBER 5,0
VLRCUS Valor Total NUMBER 12,2
VLRPGT Valor Total Sem Desc/Acrés NUMBER 12,2
QTDITE Quantidade NUMBER 12,4
VLRITE Vlr. Unitário NUMBER 14,4
VLRENT Vlr. Unitário Sem desconto/Acrés. NUMBER 14,4
PROEXT Código externo do Produto VARCHAR 20
PROMOC Promoção CHAR 1 'N' N - Não promocional no plano
E - Promocional no plano
Q - Promocional para qualquer plano
PREUNI Preço Unitário NUMBER 12,2 Sim
DESMUL Sub-Estoque VARCHAR 30 Sim Nulo
OBSERV Observação VARCHAR2 4000 Sim
PERIPI % IPI Última Compra NUMBER 5,2 Sim
ASSINA Assinatura do Registro VARCHAR 256 Sim
FLGEST Situação do Item CHAR 1 Sim A - Aberto
R - Reservado
NULL - Sistema usa o que foi mandado na TT_ORC.RESERV
LOTEXT Código externo do lote VARCHAR 1 Sim 20

CANCELAITEM_DAV

   Método responsável por cancelar um item de DAV.

Caso não encontre o item ou o mesmo não possa ser cancelado gerará uma exceção.

Parâmetro Significado Tipo Tamanho Aceita Nulo Default Domínio Coluna Retorno?
CODFIL Filial da DAV CHAR 3
TIPPED Tipo Pedido/OS CHAR 1 'O' O - DAV

P - Pré-Venda

NUMPED Número da DAV ou Pré-Venda CHAR 8
NUMITE Item (número seqüencial por DAV) NUMBER 5,0


VALIDA_DAV

Método responsável pela verificação do DAV e liberação para o Checkout. Realizando validações entre o DAV e seus itens. Caso a validação não gere exceção o DAV ficará disponível para ser resgatado na Venda. Caso alguma inconsistência seja verificada gerará exceção.

Parâmetro Significado Tipo Tamanho Aceita Nulo Default Domínio Coluna Retorno?
CODFIL Filial da DAV CHAR 3
NUMPED Número da DAV ou Pré-Venda CHAR 8
TIPPED Tipo Pedido/OS CHAR 1 'O' O - DAV

P - Pré-Venda


CANCELA_DAV

Função responsável pelo cancelamento de uma DAV.

Obs.: Função não existente para Pré-Venda por obrigação do PAF. Caso não seja possível o cancelamento gerará exceção.

Parâmetro Significado Tipo Tamanho Aceita Nulo Default Domínio Coluna Retorno?
CODFIL Filial da DAV CHAR 3
NUMPED Número da DAV ou Pré-Venda CHAR 8


Procedimentos para Assinatura

Os métodos de integração de DAV devem ser executados em uma sessão de banco de dados assinada.
Isso quer dizer que os comandos de integração de DAV devem ser precedidos do comando RegistraAcesso.
O método está descrito no artigo Integração de Banco via Rotinas de Importação.

Impressão de DAV

   Não é permitido que o DAV/Pré-venda seja impresso mais de uma vez.

Com isso, quem quiser implementar a rotina de impressão deve se preocupar em mandar o parâmetro ORCIMP = 'T' no ENVIA_DAV.
No caso de uma tentativa de reimpressão o sistema deve apresentar a seguinte mensagem:

    PAF Req VI item 11 - É vedada a reimpressão de DAV.    

Alterações

Versão 5.3

  • Remoção do método ASSINA_DAV.

Versão 5.2A

  • Inclusão do campo LOTEXT no ENVIAITEM_DAV.

Versão 5.0G

  • Inclusão do campo ORCIMP no ENVIA_DAV.
  • Inclusão do campo FLGEST no ENVIAITEM_DAV.
  • Substituição da função EXCLUIITEM_DAV por CANCELAITEM_DAV.
  • Inclusão de comentários Procedimentos para Assinatura explicando como utilizar RegistraAcesso ao invés de ASSINA_DAV.
  • Inclusão de novas colunas nos parâmetros de ConcatenaIOR.
  • Bloqueio para reimpressão de DAV.

Categorias