Anterior  Próximo

Navegação:  Manual usuário e-Agente > e-Agente Datacenter Integration

Script - Tabelas de Input Documentos de Saída

A tabela de entrada de dados deverá possuir, obrigatoriamente, as colunas a seguir:

ID – chave primária sequencial;

DOCUMENTDATA – conteúdo do documento a ser processado;

STATUS – deve ser inserido sempre com o valor ZERO, o que indicará para o sistema que o documento ainda não foi processado;

JOB –  O valor inserido nesta coluna deve corresponder com a chave normal ou de eventos do Job (ponto emissor).

DOCUMENTUSER – Campo opcional que permite ao ERP fazer controle de qual usuário disparou a inserção do documento na tabela de entrada;

KIND – Campo obrigatório que determina para o sistema o formato do arquivo inserido na tabela. Este campo pode receber os seguintes valores:

0 – TXT;

1 – XML.

A Tabela de Entrada de documentos pode possuir colunas adicionais para controles do ERP, porém, essas alterações na estrutura padrão devem ser reportadas à NDDigital, onde será efetuada uma análise para evitar possíveis problemas.

Obs.: O nome da tabela tbdatabaseinput é apenas uma sugestão.

Seguem abaixo os scripts de criação da estrutura padrão, nos diferentes SGBD’s suportados:

SGBD MSSQL SERVER 2005 / MSSQL SERVER 2008 / MSSQL SERVER 2012 / MSSQL SERVER 2014

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbdatabaseinput]') AND type in (N'U'))

BEGIN

CREATE TABLE [dbo].[tbdatabaseinput](

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

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

[status] [smallint] NOT NULL,

[job] [varchar](30) NULL,

[documentuser] [varchar](30) NULL,

[kind] [smallint] NOT NULL,

CONSTRAINT [PK_tbdatabaseinput] PRIMARY KEY CLUSTERED

(

[id] ASC

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

) ON [PRIMARY]

END

GO

IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id =

OBJECT_ID(N'[dbo].[tbdatabaseinput]') AND name = N'IX_tbdatabaseinput')

CREATE NONCLUSTERED INDEX [IX_tbdatabaseinput] ON [dbo].[tbdatabaseinput]

(

[status] ASC,

[job] ASC

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

SGBD MYSQL

CREATE TABLE  TBDATABASEINPUT (

 `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,

 `DOCUMENTDATA` LONGBLOB NOT NULL,

 `STATUS` tinyint(4) NOT NULL,

 `JOB` varchar(30) DEFAULT NULL,

 `DOCUMENTUSER` varchar(30) DEFAULT NULL,

 `KIND` smallint(6) NOT NULL,

 PRIMARY KEY (`ID`),

 UNIQUE KEY `ID_UNIQUE` (`ID`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

CREATE INDEX ix_tbdatabaseinput_1 ON  TBDATABASEINPUT(status, job);

 

SGBD ORACLE

/

CREATE TABLE TBDATABASEINPUT

              (

              ID           NUMBER(20) NOT NULL,

              DOCUMENTDATA            BLOB NOT NULL,

              STATUS NUMBER(5) NOT NULL,

              JOB VARCHAR2(30),

              DOCUMENTUSER VARCHAR2(30) NULL,

              KIND NUMBER(5) NOT NULL,

              CONSTRAINT TBDATABASEINPUT_PK PRIMARY KEY(ID) ENABLE

              )

/

CREATE INDEX TBDATABASEINPUT_IDX1 ON TBDATABASEINPUT (STATUS, JOB)

/

CREATE SEQUENCE TBDATABASEINPUT_SEQ

              START WITH 1

              INCREMENT BY 1

              MAXVALUE 1.0E28

              MINVALUE 1

              NOCYCLE

              CACHE 20

              NOORDER

/

CREATE OR REPLACE TRIGGER "BI_TBDATABASEINPUT" BEFORE INSERT ON TBDATABASEINPUT

FOR EACH ROW

              WHEN (new.ID IS NULL) BEGIN

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

END;

/

ALTER TRIGGER "BI_TBDATABASEINPUT" ENABLE;

/

SGBD IBM INFORMIX

CREATE TABLE TBDATABASEINPUT (

ID SERIAL8,

DOCUMENTDATA BYTE NOT NULL,

STATUS INTEGER NOT NULL,

JOB VARCHAR(30),

DOCUMENTUSER VARCHAR(30) NOT NULL,

KIND INTEGER NOT NULL);

 

CREATE INDEX TBDATABASEINPUT_IDX1 ON TBDATABASEINPUT (STATUS,JOB);

ALTER TABLE TBDATABASEINPUT MODIFY LOCK MODE (ROW);

Obs.: O e-Agente Integration é compatível com banco de dados INFORMIX apenas até a versão 3.4.4.0.

 

Voltar