Основные сведения о бизнес-правилах Flex
Flex SQL — это прикладной метод, создающий триггеры базы данных (post-insert или post-update) для проверки, вставки или изменения всех объектов базы данных Infor EAM. Flex SQL используется вручную путем определения инструкций SQL*Plus или PL/SQL. Основная цель этих инструкций заключается в создании и изменении параметров учета для транзакций интерфейса, в проверке транзакций на соответствие бизнес-процессам и настройке Infor EAM в соответствии с потребностями вашей организации.
Более конкретно, создание и изменение параметров учета необходимо для любой транзакции, запущенной в Infor EAM, для которой будет осуществляться взаимодействие с внешним (сторонним) приложением. Ознакомьтесь со следующими разделами.
Определение требований к параметрам учета для главной книги Oracle
Определение процессов главной книги
Определение ссылок главной книги
Для записи Flex SQL нужно использовать синтаксис SQL*Plus или PL/SQL. SQL*Plus — это инструмент Oracle, используемый, чтобы подавать команды программирования на уровне базы данных. В его основе лежит язык SQL. SQL позволяет вставлять, изменять, запрашивать и удалять записи базы данных, используя простой синтаксис этого языка. Инструкции SQL начинаются с командного слова, за которым следует определение того, какую информацию нужно выбрать в рамках данной команды, а затем — объект, из которого нужно выбрать информацию. Обычно запрос заканчивается точкой с запятой (;). Для использования Flex SQL всегда нужно опускать конечный символ в виде точки с запятой. Синтаксис динамически компилируется и выполняется, поэтому конечный символ не требуется.
Пример синтаксиса приводится далее.
insert into r5accountdetail
(acd_code, acd_rentity, acd_segment1, acd_segment2)
select rql_acd, 'REQL', '01', rql_expensetype
from r5requislines
where rowid = :rowid
Flex SQL также использует второй тип языка, который называют PL/SQL. PL/SQL используется для обработки команд блоками, а не по отдельным инструкциям SQL. Блоки представляют собой группы связанных инструкций SQL, который можно вкладывать в более крупные блоки, что позволяет упорядочить синтаксис SQL для выполнения одновременно нескольких команд.
Пример синтаксиса PL/SQL приводится далее.
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;
И пример SQL*Plus, и пример PL/SQL размещаются в инструкции SQL в форме «Flex SQL». В этих примерах активируется таблица R5REQUISLINES. Пример SQL*Plus представляет собой триггер post-insert (после вставки), а пример PL/SQL — post-update (после обновления).