METHODS OF COOKED MUSSELS MEAT 135 5.1 INTRODUCTION
4. THERMAL PROCESSING OF MUSSEL MEAT IN RETORT POUCHES
4.3 MATERIALS AND METHODS 1 Raw material
4.3.2 Experimental method
Los elementos que componen un Application Engine pueden verse en el gráfico siguiente:
Customer Relationship Management – PeopleSoft CRM
Elementos de Application Engine
6.5.2.1 Programa (Program)
El objeto programa es un módulo de programación, donde se puede incluir un programa en sí o bien secciones para ser utilizadas por otros programas.
Tiene que tener al menos una sección. La sección principal, aquella que ejecuta el programa desde el principio, debe tener obligatoriamente el nombre MAIN.
Un programa tiene asociadas varias propiedades y elementos. Entre ellos está el tipo de programa (batch only, library only y otros), los registros de estado asociados al programa, que veremos más adelante, y las tablas temporales que se asocian con cada programa. También se puede establecer si un programa tiene la característica de ser rearrancable o no.
De los elementos descritos a continuación, los elementos ‘sección’ , ‘paso’ y ‘acción’ son elementos que están definidos dentro de un programa. Los elementos ‘registro de estado’ y ‘tabla temporal’ son elementos definidos fuera del programa y declarados y utilizados dentro del programa.
Customer Relationship Management – PeopleSoft CRM
Haciendo una analogía con otros lenguajes de programación, una sección viene a ser algo así como una subrutina, procedimiento o función.
Se compone de uno o más pasos. Todos los programas deben contener al menos una sección con nombre MAIN, salvo que el Application Engine sean de tipo “Library only” en cuyo caso no contendrá ninguna sección con el nombre MAIN.
En un programa de Application Engine, la sección MAIN es aquella en la cual se inicia la ejecución del programa.
Dentro de un programa puede haber una o varias versiones de una misma sección. Application Engine elige una versión u otra dependiendo del tipo de algunas propiedades que se asocian a esa versión. Por ejemplo, se puede establecer la fecha de activación de la sección, el mercado al que esté dirigida la sección y la plataforma (Oracle, SQL Server...) para la que esté hecha la sección. Application Engine elegirá una versión u otra a la hora de ejecutar la misma.
Las secciones pueden ser públicas, en cuyo caso podrán ser llamadas desde otros programas, o privadas, y en este caso solamente se podrán invocar desde el programa en el que están escritas.
6.5.2.3 Pasos (Steps)
Conforman la mínima unidad de trabajo desde la que se puede realizar un commit a base de datos. Esto quiere decir que todas las acciones de un paso están englobadas en la misma transacción de base de datos.
Los pasos de una sección se ejecutan secuencialmente. Un paso se compone de una o varias acciones.
6.5.2.4 Acciones (Actions)
Típicamente cada una de las acciones en un paso realiza una tarea simple.
En tiempo de ejecución, el orden de ejecución de las acciones dentro de un paso depende del tipo de acción.
Cada una de las acciones puede ser de los siguientes tipos:
Customer Relationship Management – PeopleSoft CRM
Manejan el flujo del paso en el que están incluidas dependiendo de las filas devueltas en una sentencia de tipo SELECT. Pueden ser del tipo:
Do While
En esta acción se realizan las acciones que vienen a continuación mientras la sentencia Select contenida en la acción Do While devuelva filas. Es decir, se ejecuta la sentencia Select y si hay filas se ejecutan las acciones que vienen a continuación. Entonces se vuelve a ejecutar la sentencia, y si hay filas, de nuevo se ejecutan dichas acciones y así sucesivamente, hasta que no se devuelvan filas.
Do When
Con esta acción se realizan las acciones siguientes si la sentencia Select contenida en la acción Do When devuelve filas. En este caso no funciona como un bucle. Sería parecido a un IF.
Do Select
La acción de tipo Do Select hace que las acciones que vienen a continuación se ejecuten una vez por cada fila devuelta en la sentencia Select contenida en esta acción.
Do Until
Similar a Do While, pero la sentencia Select se ejecuta después de haber ejecutado el resto de las acciones. Si hay filas sale del bucle.
6.5.2.4.2 SQL
Las acciones de tipo SQL permiten ejecutar sentencias SQL. Estas acciones contienen las siguientes sentencias:
UPDATE
DELETE
INSERT
Customer Relationship Management – PeopleSoft CRM
Hay que tener en cuenta que estas sentencias no sirven para controlar el flujo de ejecución a diferencia de las DoActions. Solamente ejecutan las acciones SQL que contienen.
6.5.2.4.3 PeopleCode
Permite ejecutar PeopleCode, el lenguaje de programación interpretado propio de PeopleSoft y hemos visto en el apartado 6.2 de este proyecto. Dentro del contexto de Application Engine podemos utilizar PeopleCode para lo siguiente::
Componer sentencias SQL de manera dinámica. Este SQL se puede utilizar acciones de tipo SQL de Application Engine.
Realizar control de flujo del programa. Se pueden insertar lógica de tipo IF/THEN/ELSE en PeopleCode y de acuerdo con el resultado, salir del paso o de la sección actual.
Acceso a ficheros. PeopleCode es la manera estándar de acceder a ficheros en PeopleSoft. Cuando en un programa Application Engine se tenga que acceder a un fichero, se hará usando PeopleCode.
Acceso a los distintos mecanismos de integración de PeopleSoft. Desde PeopleCode se puede acceder a mecanismos de integración tales como Business Interlinks e Integration Broker.
Reutilización de Código. Desde una acción de tipo PeopleCode se puede acceder a funciones PeopleCode que se ejecuten también desde la interfaz de usuario. Además se puede acceder a Component Interfaces, que encapsulan la lógica de acceso a entidades de PeopleSoft reutilizando también la lógica usada en la interfaz on-line del usuario.
6.5.2.4.4 Log Message
Una acción de tipo Log Message permite escribir mensajes en la tabla estándar MESSAGE_LOG. Estos mensajes son multiidioma, están previamente parametrizados en la base de datos y pueden ser parametrizados y vistos desde una interfaz gráfica.
Customer Relationship Management – PeopleSoft CRM
Este tipo de acción puede ser usado a modo de log de actividad.
6.5.2.4.5 Call Section
Una acción de tipo Call Section permite llamar a una sección localizada en el propio programa o a una sección pública de otro programa, incluida la sección MAIN de otro programa. La existencia de secciones y de acciones de tipo Call Section permite la reutilización de código de Application Engine y la estructuración del mismo en unidades lógicas.
6.5.2.5 Registros de Estado (State Records)
Los registros de estado son registros, definidos en Application Designer como cualquier otro registro de PeopleSoft, para almacenar temporalmente datos durante la ejecución de un programa.
Se pueden usar para pasar datos de unas secciones a otras y para pasar datos a un módulo PeopleCode.
Los hay de dos tipos, physical record y work record. Los de tipo físico se almacenan en la base de datos y deben contener de forma obligatoria el campo instancia del proceso (PROCESS_INSTANCE) como clave para que identifique correctamente la instancia de Application Engine que lo utiliza.
Un programa puede contener tantos registros de estado como sean necesarios.
6.5.2.6 Tablas temporales
Las tablas temporales permiten almacenar bloques de filas temporalmente en la base de datos. Las tablas temporales que va a utilizar un programa deben ser declaradas en éste, así como el número de instancias de un programa que pueden usar estas tablas en paralelo. PeopleSoft construye entonces tantas versiones o copias de la tabla temporal en la base de datos como sea necesario para que cada proceso acceda a una sola de estas versiones.
Las tablas temporales se han de usar como alternativa al almacenamiento de filas en la memoria del programa. Es un modo de que un conjunto de filas de base de datos pueda ser procesado sin que estas filas salgan de la base de datos.
Customer Relationship Management – PeopleSoft CRM