Script's para rodar no banco FILES ao atualizar para a versão 6.40
ATENÇÃO: DEVE SER EXECUTADO OS SCRIPT'S NO BANCO FILES.
Os script's contidos no item “Banco MSSQL” e “Banco ORACLE”, irão realizar as seguintes alterações no banco files:
1 - Criar a coluna AEN_DATA_VALIDADE para armazenar a data.
2 - Popular o campo de data.
Vale ressaltar que o script abaixo, somente irá popular as datas que estão no formato BRT,BRTS e UTC, caso sua base esta armazenando outro formato de data, entrar em contato com a Edusoft para criar um script adequado a sua base.
Como saber se minha base esta com arquivos diferente de BRT, BRTS OU UTC?
Execute o script abaixo:
SELECT * FROM TB_ARQUIVO_ENTIDADE WHERE AEN_DADOS_ENTIDADE IS NOT NULL AND (AEN_DADOS_ENTIDADE LIKE '%</dataValidade>%' AND AEN_DADOS_ENTIDADE NOT LIKE '%BRT</dataValidade>%' AND AEN_DADOS_ENTIDADE NOT LIKE '%BRST</dataValidade>%' AND AEN_DADOS_ENTIDADE NOT LIKE '%UTC</dataValidade>%')
Caso retornar registros neste select, significa que sua base possui formatos diferentes dos englobados no SQL. Neste caso, você deve entrar em contato com a Edusoft e solicitar um script para sua base.
BANCO MSSQL
Segue script's para quando for banco de MSSQL.
--Cria o novo campo na base de FILES ALTER TABLE TB_ARQUIVO_ENTIDADE ADD AEN_DATA_VALIDADE DATETIME NULL GO --Esta query busca a data de validade que está dentro do xml e atualiza na tabela arquivo/entidade do banco FILES (ORACLE) --Dependendo do formato de data do banco de dados, pode ocorrer erro nesta execução. Neste caso, terá que entrar em contato com a Edusoft para que possamos ajustar. --Converte apenas quando utilizado horário BRT, BRTS ou UTC UPDATE TB_ARQUIVO_ENTIDADE SET AEN_DATA_VALIDADE = (SELECT CAST(CAST(LEFT(DATA_VALIDADE, charindex(' ', DATA_VALIDADE)-1) AS DATE) AS DATETIME)+1 FROM (SELECT SUBSTRING(SUBSTRING(AEN_DADOS_ENTIDADE, /**/CHARINDEX('<dataValidade>', AEN_DADOS_ENTIDADE), /**/(CHARINDEX('</dataValidade>', AEN_DADOS_ENTIDADE) - CHARINDEX('<dataValidade>', AEN_DADOS_ENTIDADE)) + LEN('</dataValidade>') ), CHARINDEX('<dataValidade>', SUBSTRING(AEN_DADOS_ENTIDADE, /**/CHARINDEX('<dataValidade>', AEN_DADOS_ENTIDADE), /**/(CHARINDEX('</dataValidade>', AEN_DADOS_ENTIDADE) - CHARINDEX('<dataValidade>', AEN_DADOS_ENTIDADE)) + LEN('</dataValidade>') )) + len('<dataValidade>'), CHARINDEX('</dataValidade>', SUBSTRING(AEN_DADOS_ENTIDADE, /**/CHARINDEX('<dataValidade>', AEN_DADOS_ENTIDADE), /**/(CHARINDEX('</dataValidade>', AEN_DADOS_ENTIDADE) - CHARINDEX('<dataValidade>', AEN_DADOS_ENTIDADE)) + LEN('</dataValidade>') )) - len('</dataValidade>')) DATA_VALIDADE, AEN_ID AS ID_AEN FROM TB_ARQUIVO_ENTIDADE WHERE AEN_DADOS_ENTIDADE IS NOT NULL AND (AEN_DADOS_ENTIDADE LIKE '%BRST</dataValidade>%' OR AEN_DADOS_ENTIDADE LIKE '%BRT</dataValidade>%' OR AEN_DADOS_ENTIDADE LIKE '%UTC</dataValidade>%') ) TABELA WHERE TABELA.ID_AEN = AEN_ID ) WHERE AEN_DADOS_ENTIDADE IS NOT NULL AND (AEN_DADOS_ENTIDADE LIKE '%BRST</dataValidade>%' OR AEN_DADOS_ENTIDADE LIKE '%BRT</dataValidade>%' OR AEN_DADOS_ENTIDADE LIKE '%UTC</dataValidade>%')
BANCO ORACLE
Segue script's para quando for banco de ORACLE.
--Cria o novo campo na base de FILES ALTER TABLE TB_ARQUIVO_ENTIDADE ADD AEN_DATA_VALIDADE TIMESTAMP NULL --Esta query busca a data de validade que está dentro do xml e atualiza na tabela arquivo/entidade do banco FILES (ORACLE) --Dependendo do formato de data do banco de dados, pode ocorrer erro nesta execução. Neste caso, terá que entrar em contato com a Edusoft para que possamos ajustar. --Converte apenas quando utilizado horário BRT, BRTS ou UTC. UPDATE TB_ARQUIVO_ENTIDADE SET AEN_DATA_VALIDADE = ( SELECT (TO_DATE((SUBSTR(DATA_VALIDADE, 1, (INSTR(DATA_VALIDADE, ' ') - 1))),'YYYY/MM/DD')+1) FROM ( SELECT SUBSTR(SUBSTR(AEN_DADOS_ENTIDADE, INSTR(AEN_DADOS_ENTIDADE, '<dataValidade>'), ((INSTR(AEN_DADOS_ENTIDADE, '</dataValidade>') - INSTR(AEN_DADOS_ENTIDADE, '<dataValidade>')) + LENGTH('</dataValidade>'))), (INSTR(SUBSTR(AEN_DADOS_ENTIDADE, INSTR(AEN_DADOS_ENTIDADE, '<dataValidade>'), ((INSTR(AEN_DADOS_ENTIDADE, '</dataValidade>') - INSTR(AEN_DADOS_ENTIDADE, '<dataValidade>')) + LENGTH('</dataValidade>'))), '<dataValidade>') + LENGTH('<dataValidade>')), (INSTR(SUBSTR(AEN_DADOS_ENTIDADE, INSTR(AEN_DADOS_ENTIDADE, '<dataValidade>'), ((INSTR(AEN_DADOS_ENTIDADE, '</dataValidade>') - INSTR(AEN_DADOS_ENTIDADE, '<dataValidade>')) + LENGTH('</dataValidade>'))), '</dataValidade>') - LENGTH('</dataValidade>'))) DATA_VALIDADE, AEN_ID ID_AEN FROM TB_ARQUIVO_ENTIDADE WHERE ( AEN_DADOS_ENTIDADE IS NOT NULL AND (AEN_DADOS_ENTIDADE LIKE '%BRST</dataValidade>%' OR AEN_DADOS_ENTIDADE LIKE '%BRT</dataValidade>%' OR AEN_DADOS_ENTIDADE LIKE '%UTC</dataValidade>%') ) ) TABELA WHERE TABELA.ID_AEN = AEN_ID ) WHERE AEN_DADOS_ENTIDADE IS NOT NULL AND (AEN_DADOS_ENTIDADE LIKE '%BRST</dataValidade>%' OR AEN_DADOS_ENTIDADE LIKE '%BRT</dataValidade>%' OR AEN_DADOS_ENTIDADE LIKE '%UTC</dataValidade>%')
Ainda há dúvidas? Se você preferir retire suas dúvidas com o nosso suporte, clique aqui e abra um chamado para atendimento.