Retorno via Banco de Dados (Entrada)

Anterior
Próximo
Feedback
Imprimir

Retorno via Banco de Dados (Entrada)

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;

Informix 9.40;

Informix 11.50;

Informix 12.10.

 

A tabela de integração de retornos de notas de entrada 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 – Rejeição;

3 – Cancelamento reduzido;

4 – Evento (Carta de Correção, Cancelamento, Evento de Registro de Multimodal e Evento de Averbação da exportação);

5 – Evento de Manifestação do Destinatário;

6 – Retorno de Consulta de documentos Destinados (ped-list);

7 - Retorno auditoria NF-e;

8 – Retorno de Consulta de documentos Destinados via WS de DF-e (ped-DFe);

9 – Rejeição ADe.

 

 

A tabela de integração de retornos de notas de entrada 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, serão listados os scripts de criação da estrutura padrão, nos diferentes SGBD’s suportados:

 

 

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

 

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

 

CREATE TABLE [dbo].[entryIntegration](

            [entryIntegrationId] [bigint] IDENTITY(1,1) NOT NULL,

            [documentdata] [text] NOT NULL ,

            [status] [int] NOT NULL ,

            [kind] [int] NOT NULL

CONSTRAINT [PK_ entryIntegration] PRIMARY KEY CLUSTERED

(

            [entryIntegrationId] ASC

)WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]

) ON [PRIMARY]

 

b)SGBD ORACLE

 

/

CREATE TABLE entryIntegration (

          entryIntegrationId number(20) NOT NULL,

           documentdata blob NOT NULL ,

           status int NOT NULL ,

           kind int NOT NULL

)

/

CREATE SEQUENCE "entryIntegration_SEQ" INCREMENT BY 1 START

WITH 1 MAXVALUE 1.0E28 MINVALUE 1 NOCYCLE

CACHE 20 NOORDER

/

CREATE OR REPLACE TRIGGER "BI_entryIntegration" BEFORE INSERT ON entryIntegration

FOR EACH ROW

 WHEN (new.entryIntegrationId IS NULL) BEGIN

 SELECT "entryIntegration_SEQ".NEXTVAL INTO :new.entryIntegrationId FROM dual;

END;

/

ALTER TRIGGER "BI_entryIntegration" ENABLE

/

 

c)SGBD IBM DB2

 

CREATE TABLE entryIntegration (

entryIntegrationId 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 entryIntegration (

entryIntegrationId SERIAL8,

DOCUMENTDATA BYTE NOT NULL,

STATUS INTEGER NOT NULL,

KIND INTEGER NOT NULL);

 

alter table entryIntegration modify lock mode (ROW);

 

e)        MySQL 5.1

 

CREATE TABLE `entryintegration` (

 `entryIntegrationId` bigint(20) NOT NULL AUTO_INCREMENT,

 `documentdata` MEDIUMBLOB NOT NULL,

 `status` tinyint(4) NOT NULL,

 `kind` smallint(6) NOT NULL,

 PRIMARY KEY (`entryIntegrationId`),

 UNIQUE KEY `entryIntegrationId_UNIQUE` (`entryIntegrationId`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8