Основные сведения о бизнес-правилах 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 (после обновления).