Anterior  Próximo

Navegação:  e-Forms NFC-e 4.8.0.0 > Manual de Integração e-Forms NFC-e > Integração Agente para o PDV > Retornos para o PDV

Retorno via Banco

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;

Oracle.

 

A tabela de integração de retornos deverá possuir, obrigatoriamente, as colunas a seguir:

 

Id - identificador único do registro. Campo auto incremento - Usar 8 bytes de armazenamento para este campo (long ou bigint)

InsertDate - Data e hora de inserção do registro na tabela

AgentId - Identificador do agente que está postando esta informação

ConcentratorId - Identificador do concentrador

Protocol - Texto livre. Este campo é uma cópia do campo na tabela de entrada caso o documento tenha vindo de integração via banco ou será o nome do arquivo caso ele tenha se originado de um arquivo depositado no diretorio.

NFCe - campo raw que conterá o documento completo da NFCe

 

 

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

 

Nota:

• o nome da tabela, NDDTEST_OUT, é apenas uma sugestão.

 

 

MSSQL SERVER 2008 / MSSQL SERVER 2012

 

CREATE TABLE [dbo].[NDDTEST_OUT](

 

      [id] [int] IDENTITY(1,1) NOT NULL,

 

            [insertDate] [datetime] NOT NULL,

 

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

 

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

 

            [Protocol] [varchar] (255) NOT NULL,

 

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

 

PRIMARY KEY CLUSTERED

 

(

 [Id] ASC

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

) ON [PRIMARY]

 

ALTER TABLE [dbo].[NDDTEST_OUT] ADD  DEFAULT (getdate()) FOR [InsertDate]

 

ORACLE

CREATE TABLE "NDDTEST_OUT"

( "ID" NUMBER(20,0) NOT NULL ENABLE,

"INSERTDATE" TIMESTAMP (6) WITH TIME ZONE NOT NULL ENABLE,

"AGENTID" VARCHAR2(100 BYTE) NOT NULL ENABLE,

"CONCENTRATORID" VARCHAR2(100 BYTE) NOT NULL ENABLE,

"PROTOCOL" VARCHAR2(255 BYTE) NOT NULL ENABLE,

"NFCE" BLOB NOT NULL ENABLE,

CONSTRAINT "NDDTEST_OUT_PK" PRIMARY KEY ("ID") ENABLE

);

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

CREATE OR REPLACE TRIGGER "BI_NDDTEST_OUT" BEFORE INSERT ON NDDTEST_OUT

FOR EACH ROW

WHEN (new."ID" IS NULL) BEGIN

SELECT "NDDTEST_OUT_SEQ".NEXTVAL INTO :new."ID" FROM dual;

END;

/

ALTER TRIGGER "BI_NDDTEST_OUT" ENABLE;

CREATE OR REPLACE TRIGGER "BI_NDDTEST_OUT_INSERTDATE" BEFORE INSERT ON NDDTEST_OUT

FOR EACH ROW

WHEN (new.INSERTDATE IS NULL) BEGIN

SELECT SYSDATE INTO :new.INSERTDATE FROM dual;

END;

/

ALTER TRIGGER "BI_NDDTEST_OUT_INSERTDATE" ENABLE;

 

Voltar