Integração Baseada em Banco de Dados

 

Outra forma de realizar a integração dos retornos de notas de entrada é utilizando um banco de dados. Esta integração pode ser utilizada com qualquer um dos seguintes SGBDs:

 

Microsoft SQL Server 2008;

Microsoft SQL Server 2012;

Oracle 10g ou Superior.

 

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

 

Id: Número de inserção do registro no banco de dados.

docStatus: Status de processo do documento, onde:

0 = Não processado;

1 = Processado.

 

jobKey: Indicador de qual ponto emissor deverá processar o documento.

nfseNumber: Número da NFS-e.

codVerificacao: Código de verificação da NFS-e.

codIbge: Código IBGE do município.

insertDate: Data de inserção do documento.

docData: Documento de retorno.

docKind: Tipo do document retornado, onde:

5 = Autorizado;

6 = Cancelado.

 

No momento da instalação do NDDigital NFS-e será criada a tabela de integração de nota de entrada chamada tbdataentryintegration, esta tabela poderá ser utilizada para realizar as integrações de NFS-e de entrada. Também será possível criar novas tabelas utilizando os scripts abaixo, alterando a nomenclatura da tabela caso seja necessário.

 

Script SQL :

 

CREATE TABLE [dbo].[tbDataEntryIntegration](

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

 [docStatus] [bigint] NOT NULL,

 [jobKey] [bigint] NULL,

 [nfseNumber] [bigint] NOT NULL,

 [codVerificacao] [varchar](max) NULL,

 [codIbge] [bigint] NOT NULL,

 [insertDate] [datetime] NOT NULL,

 [docData] [varchar](max) NOT NULL,

 [docKind] [tinyint] NOT NULL,

CONSTRAINT [PK_tbDataEntryIntegration] 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]

 

Script Oracle :

 

CREATE TABLE TBDATAENTRYINTEGRATION (

 ID NUMBER(*, 0) NOT NULL

 , DOCSTATUS NUMBER(*, 0) NOT NULL

 , JOBKEY NUMBER(*, 0)

 , NFSENUMBER NUMBER(*, 0) NOT NULL

 , CODVERIFICACAO VARCHAR2(255 BYTE)

 , CODIBGE NUMBER(*, 0) NOT NULL

 , INSERTDATE TIMESTAMP(6) NOT NULL

 , DOCKIND NUMBER(*, 0) NOT NULL

 , DOCDATA CLOB NOT NULL

 , CONSTRAINT TBDATAENTRYINTEGRATION_PK PRIMARY KEY (ID)  ENABLE

);

/

CREATE SEQUENCE  "TBDATAENTRYINTEGRATION_SEQ" INCREMENT BY 1 MAXVALUE 999999999999999999999999999 MINVALUE 1 CACHE 20;

/

CREATE OR REPLACE TRIGGER "BI_TBDATAENTRYINTEGRATION"

 before insert on "TBDATAENTRYINTEGRATION"              

 for each row  

 begin  

   select "TBDATAENTRYINTEGRATION_SEQ".nextval into :NEW.ID from dual;

 end;

/

ALTER TRIGGER "BI_TBDATAENTRYINTEGRATION" ENABLE;

/

commit;