Portuguese

Retorno via Banco de Dados (Saída)

Retorno via Banco de Dados (Saída)

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;

•Microsoft SQL Server 2017;

•MySQL 5.1;

•Oracle 10g;

•Oracle 11g;

•Oracle 12c;

•IBM DB2 versão 9;

•IBM Informix 9.40;

•IBM Informix 11.50;

•IBM Informix 12.10.

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 NF-e;

12– Retorno da consulta de documentos MDF-e não encerrados;

13– Retorno de boleto independente (NF-e).

14- Retorno do RECOPI

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.

A seguir são listados os scripts de criação da estrutura padrão, nos diferentes SGBD’s suportados:

O nome da tabela de integração "connectorIntegration" é apenas uma sugestão.

a)SGBD MSSQL SERVER 2005 / MSSQL SERVER 2008 / MSSQL SERVER 2012/ MSSQL SERVER 2014 / MSSQL SERVER 2016 / MSSQL SERVER 2017

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;