Outra forma de realizar a integração dos retornos da SEFAZ é utilizando um banco de dados. Esta integração pode ser utilizada com qualquer um dos seguintes SGBD’s:
Microsoft SQL Server 2005;
Microsoft SQL Server 2008;
Microsoft SQL Server 2012;
Microsoft SQL Server 2014;
Microsoft SQL Server 2016;
MySQL 5.1;
Oracle 10g;
Oracle 11g;
Oracle 12c;
IBM DB2 versão 9;
IBM Informix 9.40;
IBM Informix 11.50.
A tabela de integração de retornos deverá possuir, obrigatoriamente, as colunas a seguir:
DOCUMENTDATA – conteúdo do documento retornado;
STATUS – será inserido sempre com o valor ZERO, permitindo que o ERP ou outro sistema possa controlar a captura dos registros;
KIND – Campo obrigatório que determina para o sistema que fará a leitura do registro, qual o tipo de retorno consta no registro. Este campo pode receber os seguintes valores:
0 – Envio;
1 – Cancelamento;
2 – Inutilização;
3 – Impressão;
4 – DPEC;
5 – Erros;
6 – Substituição;
7 – Evento;
8 – procEvento;
9 – Rejeição ADe;
10 – EPEC.
11 – Retorno auditoria Vaccine;
12 – Retorno da consulta de documentos MDF-e não encerrados.
Importante:
•A tabela de integração de retornos pode possuir colunas adicionais, para controles do ERP, porém estas alterações sobre a estrutura padrão devem ser reportadas à NDDigital, a qual fará a análise evitando que ocorram problemas como concorrência de banco de dados, entre outros. |
Nota:
•O nome da tabela de integração "connectorIntegration" é apenas uma sugestão. |
A seguir são listados os scripts de criação da estrutura padrão, nos diferentes SGBD’s suportados:
a) SGBD MSSQL SERVER 2005 / MSSQL SERVER 2008/ MSSQL SERVER 2012/ MSSQL SERVER 2014 / MSSQL SERVER 2016
CREATE TABLE [dbo].[connectorIntegration](
[connectorIntegrationId] [bigint] IDENTITY(1,1) NOT NULL,
[documentdata] [varbinary] (max) NOT NULL ,
[status] [int] NOT NULL ,
[kind] [int] NOT NULL
CONSTRAINT [PK_connectorIntegration] PRIMARY KEY CLUSTERED
(
[connectorIntegrationId] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
|
b) SGBD ORACLE
/
CREATE TABLE connectorIntegration (
connectorIntegrationId number(20) NOT NULL,
documentdata blob NOT NULL ,
status int NOT NULL ,
kind int NOT NULL
)
/
CREATE SEQUENCE "connectorIntegration_SEQ" INCREMENT BY 1 START
WITH 1 MAXVALUE 1.0E28 MINVALUE 1 NOCYCLE
CACHE 20 NOORDER
/
CREATE OR REPLACE TRIGGER "BI_connectorIntegration" BEFORE INSERT ON connectorIntegration
FOR EACH ROW
WHEN (new.connectorIntegrationId IS NULL)BEGIN
SELECT "connectorIntegration_SEQ".NEXTVAL INTO :new.connectorIntegrationId FROM DUAL;
END;
/
ALTER TRIGGER "BI_connectorIntegration" ENABLE
/
|
c) SGBD IBM DB2
CREATE TABLE connectorIntegration (
connectorIntegrationId BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH +0
INCREMENT BY +1
MINVALUE +0
MAXVALUE +9223372036854775807
NO CYCLE
NO CACHE
NO ORDER )PRIMARY KEY,
DOCUMENTDATA BLOB NOT NULL,
STATUS INTEGER NOT NULL,
KIND INTEGER NOT NULL);
|
d) SGBD IBM INFORMIX
CREATE TABLE connectorIntegration (
documentdata byte NOT NULL ,
status integer NOT NULL ,
kind integer NOT NULL
);
alter table connectorIntegration modify lock mode (ROW);
|
e) MySQL 5.1
CREATE TABLE `connectorintegration` (
`idconnectorIntegration` bigint(20) NOT NULL AUTO_INCREMENT,
`documentdata` MEDIUMBLOB NOT NULL,
`status` tinyint(4) NOT NULL,
`kind` smallint(6) NOT NULL,
PRIMARY KEY (`idconnectorIntegration`),
UNIQUE KEY `idconnectorIntegration_UNIQUE` (`idconnectorIntegration`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
Voltar
|