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 > Entrada

Entrada via Banco

No formato de entrada via banco de dados, o mesmo conteúdo de arquivo que seria disponibilizado em um diretório no formato anterior, deve ser inserido em uma tabela pré-definida. Esta tabela pode ser criada em qualquer um dos seguintes Sistemas Gerenciadores de Bancos de Dados (SGBD's):

 

Importante:

Ao utilizar a entrada via Banco não é possível disparar impressão através dos Moduloos Concentrador e Agente NFC-e solução da NDD.

 

Microsoft SQL Server 2008;

Microsoft SQL Server 2012;

Oracle.

 

 

A tabela de entrada de dados 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

Status - Status do processamento da NFCe gravada. 0 = não processada, 1 = em processamento, 2 = processada

Kind - Tipo de documento sendo escrito.  Pode ser:  0 = Envio NFCe;  1 = Cancelamento/Inutilização,  2 = NFe

Protocol - Texto livre para o cliente usar como ele queira, esta informação será enviada para  a tabela de saída caso ele tenha cadastrado uma saída para isto

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:

 

 

clip1280Nota:

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

 

 

MSSQL SERVER 2008 / MSSQL SERVER 2012

 

CREATE TABLE [dbo].[NDDTEST_IN](

 

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

 

            [insertDate] [datetime] NOT NULL,

 

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

 

            [Status] [int] NOT NULL,

                 

      [Kind] [int] 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_IN] ADD  DEFAULT (getdate()) FOR [InsertDate]

 

ORACLE

 

CREATE TABLE "NDDTEST_IN"

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

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

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

"STATUS" NUMBER(1,0) NOT NULL ENABLE,

"KIND" NUMBER(2,0) NOT NULL ENABLE,

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

"NFCE" BLOB NOT NULL ENABLE,

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

);

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

CREATE OR REPLACE TRIGGER "BI_NDDTEST_IN" BEFORE INSERT ON NDDTEST_IN

FOR EACH ROW

WHEN (new."ID" IS NULL) BEGIN

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

END;

/

ALTER TRIGGER "BI_NDDTEST_IN" ENABLE;

CREATE OR REPLACE TRIGGER "BI_NDDTEST_IN_INSERTDATE" BEFORE INSERT ON NDDTEST_IN

FOR EACH ROW

WHEN (new.INSERTDATE IS NULL) BEGIN

SELECT SYSDATE INTO :new.INSERTDATE FROM dual;

END;

/

ALTER TRIGGER "BI_NDDTEST_IN_INSERTDATE" ENABLE;

 

Voltar