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.

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>%')

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. :-)


Voltar

  • (edição externa)