Comprensión de reglas de Flex Business

Flex SQL es un método de aplicación para crear activadores de base de datos (posinserción o posactualización) para validar, insertar o actualizar todos los objetos de la base de datos de Infor EAM. Flex SQL se usa manualmente a través de la definición de las instrucciones SQL*Plus o PL/SQL. La función principal de estas instrucciones es crear y actualizar los detalles de la cuenta para las transacciones de interfaz, validar transacciones para el cumplimiento de procesos comerciales y personalizar Infor EAM para que cumpla con las necesidades del proceso comercial de su organización.

La creación y actualización de los detalles de cuenta es obligatorio para cualquier transacción que se origine en Infor EAM y que será conectada a una aplicación externa (terceros). Consulte estos temas:

Definición de los requisitos de los detalles de la cuenta para el Libro Mayor de Oracle

Definición de procesos de libro mayor

Definición de referencias de libro mayor

Flex SQL debe escribirse con una sintaxis SQL*Plus o PL/SQL. SQL*Plus es la herramienta de Oracle para emitir comandos de programación a nivel de base de datos y se basa en el Lenguaje de consulta estructurado (SQL). SQL le permite insertar, actualizar, consultar o eliminar registros de la base de datos con una sintaxis del lenguaje sencilla. Las instrucciones SQL empiezan con una palabra de comando, seguida de una especificación de qué información seleccionar dentro del comando, seguida del objeto del que seleccionar la información. La consulta generalmente se termina con un punto y coma (;). Con el fin del uso de Flex SQL, el terminador de punto y coma (;) siempre debe dejarse fuera. La sintaxis se compila y ejecuta dinámicamente por lo que no se necesita el terminador.

Consulte el siguiente ejemplo de sintaxis:

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 también utiliza un segundo tipo de lenguaje de consulta estructurado llamado Lenguaje de programación/Lenguaje de consulta estructurado (PL/SQL). PL/SQL se usa para procesar comandos en bloques en vez de utilizar instrucciones SQL individuales. Los bloques son grupos de instrucciones SQL relacionadas que se han anidado en bloques más grandes, lo que le permite organizar su sintaxis SQL para realizar varios comandos de una sola vez.

Consulte el siguiente ejemplo de sintaxis 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;

Tanto el ejemplo de SQL*Plus como el de PL/SQL deben situarse en la Instrucción SQL en el formulario Flex SQL. En estos ejemplos, la tabla R5REQUISLINES se activa; el ejemplo de SQL*Plus es un activador posinserción y el ejemplo de PL/SQL es un activador posactualización.