Anterior  Próximo

Navegação:  e-Forms NFC-e 4.8.1.0 > Manual de Integração e-Forms NFC-e > Integração e-Forms NFC-e para o ERP > Retornos para o ERP

Retorno via banco de dados

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 2008;

Microsoft SQL Server 2012;

 

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;

5 – Erros;

7 – Evento.

 

CONTENTENCONDING - Codificação configurada na integração podendo ter os seguintes valores:

0 – Default

1 – UTF8

2 – Ansi

3 – Ascii

 

INTEGRATIONNAME - Deverá ser gerado através da regra configurada no cadastrado de integração via banco.

 

CONCENTRATORID - ID do concentrador que foi realizado o processo do documento.

 

AGENTID - ID do agente que foi realizado o processado do documento.

 

clip0714Importante:

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.
O ERP que utiliza integração via Web Service só vai ser possível utilizar integração via Banco de Dados.

 

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

a) MSSQL SERVER 2008 / MSSQL SERVER 2012

 

CREATE TABLE [dbo].[tbintegrationnfce](

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

      [documentdata] [varbinary](max) NOT NULL,

      [status] [int] NOT NULL,

      [kind] [int] NOT NULL,

      [contentencoding] [tinyint] NOT NULL,

      [integrationname] [varchar](100) NOT NULL,

      [concentratorid] [bigint] NOT NULL,

      [agentid] [bigint] NOT NULL,

CONSTRAINT [PK_tbintegrationnfce] PRIMARY KEY CLUSTERED 

(

      [connectorIntegrationId] ASC

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

) ON [PRIMARY]

 

a)SGBD ORACLE

 

CREATE TABLE TBINTEGRATIONNFCE(

   CONNECTORINTEGRATIONID NUMBER(38,0) NOT NULL ENABLE,

   DOCUMENTDATA BLOB NOT NULL,

   STATUS NUMBER(5,0) NOT NULL ENABLE,

   KIND NUMBER(5,0) NOT NULL ENABLE,

   CONTENTENCODING NUMBER(3,0) NOT NULL ENABLE,

   INTEGRATIONNAME VARCHAR2(100) NOT NULL ENABLE,

   CONCENTRATORID NUMBER(38,0) NOT NULL ENABLE,

   AGENTID NUMBER(38,0) NOT NULL ENABLE,

   CONSTRAINT "PK_TBINTEGRATIONNFCE" PRIMARY KEY (CONNECTORINTEGRATIONID)

   )

/

CREATE SEQUENCE "TBINTEGRATIONNFCE_SEQ" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE ;

 

 

/

 

 

CREATE OR REPLACE TRIGGER "TBINTEGRATIONNFCE_BI" BEFORE INSERT ON TBINTEGRATIONNFCE

 

FOR EACH ROW

 

 WHEN (new.CONNECTORINTEGRATIONID IS NULL) BEGIN

 

 SELECT TBINTEGRATIONNFCE_SEQ.NEXTVAL INTO :new.CONNECTORINTEGRATIONID FROM dual;

 

END;

 

/

 

ALTER TRIGGER "TBINTEGRATIONNFCE_BI" ENABLE;

 

 

clip0714Nota:

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

 

 

Voltar