Ejecución de transacción (acciones)
Función general
Verifica que el esquema de seguridad asociado al usuario permita la
ejecución de la acción solicitada. Esta función es
ejecutada cada vez que el usuario solicita la ejecución de una transacción.
Al momento de presentar las acciones de menú válidas para
la transacción, se muestran sólo aquellas acciones que sean
permitidas de ejecución en base a la definición realizada
a nivel del esquema de seguridad.
Información técnica
Identificación
|
Tipo
|
valSchemaTransActions |
Función |
Parámetros de entrada
Esquema de seguridad: Código del esquema de seguridad asociado
al usuario que ejecuta la transacción.
Transacción a ejecutar: Código lógico de la
transacción que el usuario desea ejecutar.
Módulo: Código del módulo al cual pertenece
la transacción que el usuario desea ejecutar.
Nivel de actualización: requerido por la transacción.
Nivel de consulta: requerido por la transacción.
Tipo de acción: Indica si la acción en tratamiento
corresponde a: actualización (1), consulta (2) o consulta por condición
(3).
Indicador de módulos/transacciones permitidos: Indicador
de módulos y/o transacciones permitidos en un esquema de seguridad.
Proceso
Si el tipo de acción pasado como parámetro indica que es
de consulta por condición (3) y la hora de ejecución del
sistema se encuentra entre alguno de los dos horarios permitidos para la
utilización de la acción de consulta por condición:
-
Si el indicador de módulos y/o transacciones permitidos del esquema
es igual a 1 (todas), se asigna el valor "cierto" al parámetro de
salida.
-
Si el indicador de módulos y/o transacciones permitidos del esquema
es igual a 2 (lista):
-
Se realiza la lectura del archivo de módulos/transacciones permitidos
(levels) para el esquema en tratamiento, a fin de obtener el registro con
estado de "activo" correspondiente a la transacción lógica
pasada como parámetro. Si se consigue el registro:
-
Si el tipo de acción pasado como parámetro indica que es
de actualización (1) y el nivel de actualización requerido
por la transacción (pasado como parámetro) es inferior o
igual al nivel de actualización asociado al registro leído,
se asigna el valor "cierto" al parámetro de salida.
-
Si el tipo de acción pasado como parámetro indica que es
de consulta (2) o consulta por condición (3) y el nivel de consulta
requerido por la transacción (pasado como parámetro) es inferior
o igual al nivel de consulta asociado al registro leído, se asigna
el valor "cierto" al parámetro de salida.
-
Si en la lectura anterior no se consigue el registro correspondiente a
la transacción, se realiza la lectura del archivo de módulos/transacciones
permitidos (levels) para el esquema en tratamiento, a fin de obtener el
registro con estado de "activo" correspondiente al módulo pasado
como parámetro. Si se consigue el registro:
-
Si el tipo de acción pasado como parámetro indica que es
de actualización (1) y el nivel de actualización requerido
por la transacción (pasado como parámetro) es inferior o
igual al nivel de actualización asociado al registro leído,
se asigna el valor "cierto" al parámetro de salida.
-
Si el tipo de acción pasado como parámetro indica que es
de consulta (2) o consulta por condición (3) y el nivel de consulta
requerido por la transacción (pasado como parámetro) es inferior
o igual al nivel de consulta asociado al registro leído, se asigna
el valor "cierto" al parámetro de salida.
Notas para el programador
La información asociada al registro correspondiente al esquema
de seguridad del usuario que ejecuta la transacción, debe estar
en memoria (variables), de forma que la rutina pueda utilizarlo sin necesidad
de realizar una nueva lectura al esquema.
Inicialmente el parámetro de salida tiene el valor "falso",
y será el valor que se devuelva a menos que se cumpla alguna de
las condiciones indicadas en el proceso.
Parámetros de salida
Permiso de utilización de una acción en la transacción:
Tiene valor de cierto cuando el usuario puede ejecutar la acción
en tratamiento, en caso contrario, devuelve el valor "falso".