O Flex SQL é um método de aplicação usado para criar ativadores de banco de dados (post-insert ou post-update) para validar, inserir ou atualizar todos os objetos do banco de dados do HxGN EAM. O Flex SQL é usado manualmente por meio da definição de instruções SQL*Plus ou PL/SQL. A função primária dessas instruções é criar e atualizar detalhes da conta para transações de interface, validar transações quanto à conformidade de processos de negócios e personalizar o HxGN EAM para atender às necessidades da sua organização.
Especificamente, a criação e a atualização de detalhes da conta são necessárias para qualquer transação originada no HxGN EAM que será interligada ao aplicativo externo (de terceiros). Consulte estes tópicos:
O Flex SQL deve ser gravado em sintaxe SQL*Plus ou PL/SQL. O SQL*Plus é a ferramenta da Oracle para emissão de comandos de programação no nível do banco de dados e baseia-se em Structured Query Language - SQL (linguagem de consulta estruturada). O SQL permite que você insira, atualize, consulte ou exclua registros do banco de dados com uma sintaxe de linguagem simples. As instruções SQL começam com uma palavra de comando, seguida por uma especificação de qual informação selecionar no comando e, em seguida, o objeto do qual selecionar a informação. A consulta normalmente é encerrada com um ponto e vírgula (;). Para fins de uso do Flex SQL, o terminador ponto e vírgula (;) sempre deve ser omitido. A sintaxe é compilada dinamicamente e executada de maneira a não exigir o terminador.
Consulte o exemplo de sintaxe a seguir:
insert into r5accountdetail
acd_code, acd_rentity, acd_segment1, acd_segment2)
select rql_acd, 'REQL', '01', rql_expensetype
from r5requislines
where rowid = :rowid
O Flex SQL também utiliza um segundo tipo de linguagem de consulta estruturada chamada Programming Language/Structured Query Language (PL/SQL). A PL/SQL é usada para processar comandos em blocos em vez de usar instruções SQL individuais. Blocos são grupos de instruções SQL relacionadas que podem ser sobrepostas em blocos maiores, o que permite a organização da sintaxe SQL para a execução de vários comandos de uma vez.
Consulte o exemplo de sintaxe PL/SQL a seguir:
DECLARE
cpar r5parts.par_code%type;
cref r5catalogue.cat_ref%type;
csupp r5companies.com_code%type;
cursor rql is
select rql_ref, rql_part, rql_supplier, rql_rstatus
from r5requislines
where rowid = :rowid;
BEGIN
OPEN rql;
FETCH rql into cref, cpar, csupp, crstat;
CLOSE rql;
IF cref is not null
AND crstat = 'A' THEN
UPDATE r5catalogue
SET cat_ref = cref
WHERE cat_part = cpar
AND cat_supplier = csupp;
END IF;
END;
Tanto o exemplo de SQL*Plus quanto o de PL/SQL seriam inseridos na instrução SQL do formulário do Flex SQL. Nestes exemplos, a tabela R5REQUISLINES está sendo ativada; o exemplo de SQL*Plus é um acionador post-insert, e o exemplo de PL/SQL é um ativador post-update.