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
|