Doc

Details

Grants

References

Dependencies

Code




Method Summary
 entrada_registro( p_procedimiento IN Registro . PROCEDIMIENTO % TYPE , p_usuario IN Registro . USUARIO % TYPE , p_instante IN Registro . INSTANTE % TYPE , p_entrada IN Registro . ENTRADA % TYPE , p_salida IN Registro . SALIDA % TYPE )
          
          Registra la ejecución de un procedimiento, sus parámetros de entrada y sus parámetros de salida.
          
          Inserta una fila (entrada) en la tabla Registro.
          
          En cada entrada de la tabla Registro quedan registrados:
          - El nombre del procedimiento ejecutado.
          - El nombre del usuario que invocó la ejecución del procedimiento.
          - El instante de tiempo en que se produjo la ejecución del procedimiento.
          - La lista de parámetros de entrada y sus valores.
          - La lista de parámetros de salida y sus valores.
          
          
 existe_categoriaGasto( p_idCategoriaGasto IN CategoriaGasto . idCategoriaGasto % TYPE )
          
          Dado un identificador de categoría de gasto, comprueba que esa categoría de gasto exista en la base de datos.
          
          
 existe_ejercicio( p_fecha IN Ejercicio . inicio % TYPE )
          
          Dada una fecha, comprueba que exista un ejercicio en la base de datos al que pertenezca esa fecha.
          
          La comprobación a realizar consiste en buscar la existencia de alguna fila en la tabla Ejercicio cuya fecha de
          inicio sea anterior o igual a la fecha buscada y cuya fecha de finalización sea igual o posterior a la fecha
          buscada.
          
          La no existencia de esa fila provocará el lanzamiento de la excepción ErrorEjercicioNoExiste.
          
          
 existe_ejercicio( p_idEjercicio IN Ejercicio . idEjercicio % TYPE )
          
          Dado un identificador de ejercicio, comprueba que ese ejercicio exista en la base de datos.
          
          
 existe_estado( p_idEstado IN Estado . idEstado % TYPE )
          
          Dado un identificador de estado (de un gasto), comprueba que ese estado exista en la base de datos.
          
          
 existe_formaPago( p_idFormaPago IN FormaPago . idFormaPago % TYPE )
          
          Dado un identificador de forma de pago, comprueba que esa forma de pago exista en la base de datos.
          
          
 existe_gasto( p_idGasto IN Gasto . idGasto % TYPE )
          
          Dado un identificador de gasto, comprueba que ese gasto exista en la base de datos.
          
          
 existe_parlamentario( p_idParlamentario IN Parlamentario . idParlamentario % TYPE )
          
          Dado un identificador de Parlamentario, comprueba si ese Parlamentario existe en la base de datos.
          
          
 existe_parlamentarioST( p_idEjercicio IN ParlamentarioST . idEjercicio % TYPE , p_idParlamento IN ParlamentarioST . idParlamento % TYPE , p_idParlamentario IN ParlamentarioST . idParlamentario % TYPE )
          
          Dado un identificador de ejercicio, un identificador de Parlamento y un identificador de Parlamentario, comprueba
          si existe la estadística de ese Parlamentario para ese ejercicio y ese Parlamento.
          
          
 existe_parlamentarioST( p_idEjercicio IN ParlamentarioST . idEjercicio % TYPE , p_idParlamentario IN ParlamentarioST . idParlamentario % TYPE )
          
          Dados un identificador de ejercicio y un identificador de Parlamentario, comprueba si existen estadísticas de
          Parlamentario para ese ejercicio en algún Parlamento.
          
          
 existe_parlamentarioST( p_idEjercicio IN ParlamentarioST . idEjercicio % TYPE )
          
          Dado un identificador de ejercicio, comprueba si existen estadísticas de Parlamentario para ese Ejercicio.
          
          
 existe_parlamento( p_idParlamento IN Parlamento . idParlamento % TYPE )
          
          Dado un identificador de Parlamento, comprueba si ese Parlamento existe en la base de datos.
          
          
 existe_parlamentoST( p_idEjercicio IN ParlamentoST . idEjercicio % TYPE , p_idParlamento IN ParlamentoST . idParlamento % TYPE )
          
          Dado un identificador de ejercicio y un identificador de Parlamento, comprueba si la estadística del Parlamento
          para ese ejercicio exista en la base de datos.
          
          
 existe_parlamentoST( p_idEjercicio IN ParlamentoST . idEjercicio % TYPE )
          
          Dado un identificador de ejercicio, comprueba si existen estadísticas de Parlamentos para ese Ejercicio.
          
          
 existe_partido( p_idPartido IN Partido . idPartido % TYPE )
          
          Dado un identificador de partido, comprueba si ese partido existe en la base de datos.
          
          
 existe_proveedor( p_idProveedor IN Proveedor . idProveedor % TYPE )
          
          Dado un identificador de proveedor, comprueba que ese proveedor exista en la base de datos.
          
          
 existe_tipoIVA( p_idTipoIVA IN TipoIVA . idTipoIVA % TYPE )
          
          Dado un identificador de tipo de IVA, comprueba que ese tipo de IVA exista en la base de datos.
          
          
 parlamentario_en_parlamento( p_idParlamentario IN Parlamentario . idParlamentario % TYPE )
          
          Dado un identificador de Parlamentario, comprueba que ese Parlamentario esté activo en algún Parlamento.
          
          La comprobación a realizar consiste en buscar la existencia de alguna fila en la tabla ParlamentoDH que
          corresponda a ese Parlamentario y cuya fecha de finalización sea NULL.
          
          La no existencia de esa fila provocará el lanzamiento de la excepción ErrorParlamentarioNoParlamento.
          
          
 parlamentario_en_parlamento( p_idParlamento IN Parlamento . idParlamento % TYPE , p_idParlamentario IN Parlamentario . idParlamentario % TYPE , p_fecha IN ParlamentoDH . desde % TYPE )
          
          Dados un identificador de Parlamento, un identificador de Parlamentario y una fecha, comprueba si ese Parlamentario
          estaba activo en ese Parlamento en esa fecha.
          
          La comprobación a realizar consiste en buscar la existencia de alguna fila en la tabla ParlamentoDH que
          corresponda a ese Parlamento y a ese Parlamentario y cuya fecha de inicio sea anterior o igual a la fecha
          buscada, y a la vez la fecha buscada sea anterior o igual a la fecha de finalización o esta última sea NULL.
          
          La no existencia de esa fila provocará el lanzamiento de la excepción ErrorParlamentarioNoParlamento.
          
          
 parlamentario_en_partido( p_idParlamentario IN Parlamentario . idParlamentario % TYPE )
          
          Dado un identificador de Parlamentario, comprueba que ese Parlamentario esté activo en algún partido.
          
          La comprobación a realizar consiste en buscar la existencia de alguna fila en la tabla PartidoDH que
          corresponda a ese Parlamentario y cuya fecha de finalización sea NULL.
          
          La no existencia de esa fila provocará el lanzamiento de la excepción ErrorParlamentarioNoPartido.
          
          
 parlamentario_en_partido( p_idParlamentario IN Parlamentario . idParlamentario % TYPE , p_fecha IN PartidoDH . desde % TYPE )
          
          Dado un identificador de Parlamentario y una fecha, comprueba si ese Parlamentario estaba activo en algún
          partido en esa fecha.
          
          La comprobación a realizar consiste en buscar la existencia de alguna fila en la tabla PartidoDH que
          corresponda a ese Parlamentario y cuya fecha de inicio sea anterior o igual a la fecha buscada, y a la vez la fecha
          buscada sea anterior o igual a la fecha de finalización o esta última sea NULL.
          
          La no existencia de esa fila provocará el lanzamiento de la excepción ErrorParlamentarioNoParlamento.
          
          
 parlamentario_no_en_parlamento( p_idParlamentario IN Parlamentario . idParlamentario % TYPE )
          
          Dado un identificador de Parlamentario comprueba que ese Parlamentario no esté activo ya en algún Parlamento.
          
          La comprobación a realizar consiste en buscar la existencia de alguna fila en la tabla ParlamentoDH que
          corresponda a ese Parlamentario y cuya fecha de finalización sea NULL.
          
          La existencia de esa fila provocará el lanzamiento de la excepción ErrorParlamentarioParlamento.
          
          
 parlamentario_no_en_partido( p_idParlamentario IN Parlamentario . idParlamentario % TYPE )
          
          Dado un identificador de Parlamentario, comprueba que ese Parlamentario no esté activo ya en algún partido.
          
          La comprobación a realizar consiste en buscar la existencia de alguna fila en la tabla PartidoDH que
          corresponda a ese Parlamentario y cuya fecha de finalización sea NULL.
          
          La existencia de esa fila provocará el lanzamiento de la excepción ErrorParlamentarioPartido.
          
          

Method Detail

entrada_registro

          entrada_registro( p_procedimiento IN Registro . PROCEDIMIENTO % TYPE , p_usuario IN Registro . USUARIO % TYPE , p_instante IN Registro . INSTANTE % TYPE , p_entrada IN Registro . ENTRADA % TYPE , p_salida IN Registro . SALIDA % TYPE ) 
          
          Registra la ejecución de un procedimiento, sus parámetros de entrada y sus parámetros de salida.
          
          Inserta una fila (entrada) en la tabla Registro.
          
          En cada entrada de la tabla Registro quedan registrados:
          - El nombre del procedimiento ejecutado.
          - El nombre del usuario que invocó la ejecución del procedimiento.
          - El instante de tiempo en que se produjo la ejecución del procedimiento.
          - La lista de parámetros de entrada y sus valores.
          - La lista de parámetros de salida y sus valores.
          
          
Parameters:
p_procedimiento - Nombre del procedimiento ejecutado.
p_usuario - Nombre del usuario que invocó el procedimiento.
p_instante - Instante de tiempo en que fue ejecutado el procedimiento.
p_entrada - Parámetros de entrada y sus valores.
p_salida - Parámetros de salida y sus valores.

existe_categoriaGasto

          existe_categoriaGasto( p_idCategoriaGasto IN CategoriaGasto . idCategoriaGasto % TYPE ) 
          
          Dado un identificador de categoría de gasto, comprueba que esa categoría de gasto exista en la base de datos.
          
          
Parameters:
p_idCategoriaGasto - Identificador de la categoría de gasto a buscar en la base de datos.
Throws:
ErrorCategoriaGastoNoExiste - Si la categoría de gasto buscada no existe en la base de datos.

existe_ejercicio

          existe_ejercicio( p_fecha IN Ejercicio . inicio % TYPE ) 
          
          Dada una fecha, comprueba que exista un ejercicio en la base de datos al que pertenezca esa fecha.
          
          La comprobación a realizar consiste en buscar la existencia de alguna fila en la tabla Ejercicio cuya fecha de
          inicio sea anterior o igual a la fecha buscada y cuya fecha de finalización sea igual o posterior a la fecha
          buscada.
          
          La no existencia de esa fila provocará el lanzamiento de la excepción ErrorEjercicioNoExiste.
          
          
Parameters:
p_fecha - Fecha cuyo ejercicio hay que buscar en la base de datos.
Throws:
ErrorEjercicioNoExiste - Si no existe el ejercicio al que pertenece esa fecha en la base de datos.

existe_ejercicio

          existe_ejercicio( p_idEjercicio IN Ejercicio . idEjercicio % TYPE ) 
          
          Dado un identificador de ejercicio, comprueba que ese ejercicio exista en la base de datos.
          
          
Parameters:
p_idEjercicio - Identificador del ejercicio a buscar en la base de datos.
Throws:
ErrorEjercicioNoExiste - Si el ejercicio buscado no existe en la base de datos.

existe_estado

          existe_estado( p_idEstado IN Estado . idEstado % TYPE ) 
          
          Dado un identificador de estado (de un gasto), comprueba que ese estado exista en la base de datos.
          
          
Parameters:
p_idEstado - Identificador del estado a buscar en la base de datos.
Throws:
ErrorEstadoNoExiste - Si el estado buscado no existe en la base de datos.

existe_formaPago

          existe_formaPago( p_idFormaPago IN FormaPago . idFormaPago % TYPE ) 
          
          Dado un identificador de forma de pago, comprueba que esa forma de pago exista en la base de datos.
          
          
Parameters:
p_idFormaPago - Identificador de la forma de pago a buscar en la base de datos.
Throws:
ErrorFormaPagoNoExiste - Si la forma de pago buscada no existe en la base de datos.

existe_gasto

          existe_gasto( p_idGasto IN Gasto . idGasto % TYPE ) 
          
          Dado un identificador de gasto, comprueba que ese gasto exista en la base de datos.
          
          
Parameters:
p_idGasto - Identificador del gasto a buscar en la base de datos.
Throws:
ErrorGastoNoExiste - Si el gasto buscado no existe en la base de datos.

existe_parlamentario

          existe_parlamentario( p_idParlamentario IN Parlamentario . idParlamentario % TYPE ) 
          
          Dado un identificador de Parlamentario, comprueba si ese Parlamentario existe en la base de datos.
          
          
Parameters:
p_idParlamentario - Identificador del Parlamentario a buscar en la base de datos.
Throws:
ErrorParlamentarioNoExiste - Si el Parlamentario buscado no existe en la base de datos.

existe_parlamentarioST

          existe_parlamentarioST( p_idEjercicio IN ParlamentarioST . idEjercicio % TYPE , p_idParlamento IN ParlamentarioST . idParlamento % TYPE , p_idParlamentario IN ParlamentarioST . idParlamentario % TYPE ) 
          
          Dado un identificador de ejercicio, un identificador de Parlamento y un identificador de Parlamentario, comprueba
          si existe la estadística de ese Parlamentario para ese ejercicio y ese Parlamento.
          
          
Parameters:
idEjercicio - Identificador del ejercicio que debe comprobarse.
idParlamento - Identificador del Parlamento que debe comprobarse.
idParlamentario - Identificador del Parlamentario que debe comprobarse.
Throws:
ErrorEstadisticaNoExiste - Si no existen estadísticas para ese Parlamentario en ese ejercicio en ese Parlamento.

existe_parlamentarioST

          existe_parlamentarioST( p_idEjercicio IN ParlamentarioST . idEjercicio % TYPE , p_idParlamentario IN ParlamentarioST . idParlamentario % TYPE ) 
          
          Dados un identificador de ejercicio y un identificador de Parlamentario, comprueba si existen estadísticas de
          Parlamentario para ese ejercicio en algún Parlamento.
          
          
Parameters:
idEjercicio - Identificador del ejercicio que debe comprobarse.
idParlamentario - Identificador del Parlamentario que debe comprobarse.
Throws:
ErrorEstadisticaNoExiste - Si no existen estadísticas para ese Parlamentario en ese Ejercicio.

existe_parlamentarioST

          existe_parlamentarioST( p_idEjercicio IN ParlamentarioST . idEjercicio % TYPE ) 
          
          Dado un identificador de ejercicio, comprueba si existen estadísticas de Parlamentario para ese Ejercicio.
          
          
Parameters:
idEjercicio - Identificador del ejercicio que debe comprobarse.
Throws:
ErrorEstadisticaNoExiste - Si no existen estadísticas de Parlamentario para ese Ejercicio.

existe_parlamento

          existe_parlamento( p_idParlamento IN Parlamento . idParlamento % TYPE ) 
          
          Dado un identificador de Parlamento, comprueba si ese Parlamento existe en la base de datos.
          
          
Parameters:
p_idParlamento - Identificador del Parlamento a buscar en la base de datos.
Throws:
ErrorParlamentoNoExiste - Si el Parlamento buscado no existe en la base de datos.

existe_parlamentoST

          existe_parlamentoST( p_idEjercicio IN ParlamentoST . idEjercicio % TYPE , p_idParlamento IN ParlamentoST . idParlamento % TYPE ) 
          
          Dado un identificador de ejercicio y un identificador de Parlamento, comprueba si la estadística del Parlamento
          para ese ejercicio exista en la base de datos.
          
          
Parameters:
p_idEstado - Identificador del ejercicio que debe comprobarse.
p_idParlamento - Identificador del Parlamento que debe comprobarse.
Throws:
ErrorEstadisticaNoExiste - Si la estadística de ese Parlamento en ese ejercicio no existe en la base de datos.

existe_parlamentoST

          existe_parlamentoST( p_idEjercicio IN ParlamentoST . idEjercicio % TYPE ) 
          
          Dado un identificador de ejercicio, comprueba si existen estadísticas de Parlamentos para ese Ejercicio.
          
          
Parameters:
idEjercicio - Identificador del ejercicio que debe comprobarse.
Throws:
ErrorEstadisticaNoExiste - Si no existen estadísticas de Parlamento para ese Ejercicio.

existe_partido

          existe_partido( p_idPartido IN Partido . idPartido % TYPE ) 
          
          Dado un identificador de partido, comprueba si ese partido existe en la base de datos.
          
          
Parameters:
p_idPartido - Identificador del partido a buscar en la base de datos.
Throws:
ErrorParlamentarioNoExiste - Si el Parlamentario buscado no existe en la base de datos.

existe_proveedor

          existe_proveedor( p_idProveedor IN Proveedor . idProveedor % TYPE ) 
          
          Dado un identificador de proveedor, comprueba que ese proveedor exista en la base de datos.
          
          
Parameters:
p_idProveedor - Identificador del proveedor a buscar en la base de datos.
Throws:
ErrorProveedorNoExiste - Si el proveedor buscado no existe en la base de datos.

existe_tipoIVA

          existe_tipoIVA( p_idTipoIVA IN TipoIVA . idTipoIVA % TYPE ) 
          
          Dado un identificador de tipo de IVA, comprueba que ese tipo de IVA exista en la base de datos.
          
          
Parameters:
p_idTipoIVA - Identificador del tipo de IVA a buscar en la base de datos.
Throws:
ErrorTipoIVAnoExiste - Si el tipo de IVA buscado no existe en la base de datos.

parlamentario_en_parlamento

          parlamentario_en_parlamento( p_idParlamentario IN Parlamentario . idParlamentario % TYPE ) 
          
          Dado un identificador de Parlamentario, comprueba que ese Parlamentario esté activo en algún Parlamento.
          
          La comprobación a realizar consiste en buscar la existencia de alguna fila en la tabla ParlamentoDH que
          corresponda a ese Parlamentario y cuya fecha de finalización sea NULL.
          
          La no existencia de esa fila provocará el lanzamiento de la excepción ErrorParlamentarioNoParlamento.
          
          
Parameters:
p_idParlamentario - Identificador del Parlamentario que debe comprobarse.
Throws:
ErrorParlamentarioNoParlamento - Si el Parlamentario no está activo en ningún Parlamento.

parlamentario_en_parlamento

          parlamentario_en_parlamento( p_idParlamento IN Parlamento . idParlamento % TYPE , p_idParlamentario IN Parlamentario . idParlamentario % TYPE , p_fecha IN ParlamentoDH . desde % TYPE ) 
          
          Dados un identificador de Parlamento, un identificador de Parlamentario y una fecha, comprueba si ese Parlamentario
          estaba activo en ese Parlamento en esa fecha.
          
          La comprobación a realizar consiste en buscar la existencia de alguna fila en la tabla ParlamentoDH que
          corresponda a ese Parlamento y a ese Parlamentario y cuya fecha de inicio sea anterior o igual a la fecha
          buscada, y a la vez la fecha buscada sea anterior o igual a la fecha de finalización o esta última sea NULL.
          
          La no existencia de esa fila provocará el lanzamiento de la excepción ErrorParlamentarioNoParlamento.
          
          
Parameters:
p_idParlamento - Identificador del Parlamento que debe comprobarse.
p_idParlamentario - Identificador del Parlamentario que debe comprobarse.
p_fecha - Fecha que debe comprobarse.
Throws:
ErrorParlamentarioNoParlamento - Si el Parlamentario no estaba activo en ese Parlamento en esa fecha.

parlamentario_en_partido

          parlamentario_en_partido( p_idParlamentario IN Parlamentario . idParlamentario % TYPE ) 
          
          Dado un identificador de Parlamentario, comprueba que ese Parlamentario esté activo en algún partido.
          
          La comprobación a realizar consiste en buscar la existencia de alguna fila en la tabla PartidoDH que
          corresponda a ese Parlamentario y cuya fecha de finalización sea NULL.
          
          La no existencia de esa fila provocará el lanzamiento de la excepción ErrorParlamentarioNoPartido.
          
          
Parameters:
p_idParlamentario - Identificador del Parlamentario que debe comprobarse.
Throws:
ErrorParlamentarioNoPartido - Si el Parlamentario no está activo en ningún partido.

parlamentario_en_partido

          parlamentario_en_partido( p_idParlamentario IN Parlamentario . idParlamentario % TYPE , p_fecha IN PartidoDH . desde % TYPE ) 
          
          Dado un identificador de Parlamentario y una fecha, comprueba si ese Parlamentario estaba activo en algún
          partido en esa fecha.
          
          La comprobación a realizar consiste en buscar la existencia de alguna fila en la tabla PartidoDH que
          corresponda a ese Parlamentario y cuya fecha de inicio sea anterior o igual a la fecha buscada, y a la vez la fecha
          buscada sea anterior o igual a la fecha de finalización o esta última sea NULL.
          
          La no existencia de esa fila provocará el lanzamiento de la excepción ErrorParlamentarioNoParlamento.
          
          
Parameters:
p_idParlamentario - Identificador del Parlamentario que debe comprobarse.
p_fecha - Fecha que debe comprobarse.
Throws:
ErrorParlamentarioNoPartido - Si el Parlamentario no está activo en ningún partido en esa fecha.

parlamentario_no_en_parlamento

          parlamentario_no_en_parlamento( p_idParlamentario IN Parlamentario . idParlamentario % TYPE ) 
          
          Dado un identificador de Parlamentario comprueba que ese Parlamentario no esté activo ya en algún Parlamento.
          
          La comprobación a realizar consiste en buscar la existencia de alguna fila en la tabla ParlamentoDH que
          corresponda a ese Parlamentario y cuya fecha de finalización sea NULL.
          
          La existencia de esa fila provocará el lanzamiento de la excepción ErrorParlamentarioParlamento.
          
          
Parameters:
p_idParlamentario - Identificador del Parlamentario que debe comprobarse.
Throws:
ErrorParlamentarioParlamento - Si el Parlamentario ya está activo en algún Parlamento.

parlamentario_no_en_partido

          parlamentario_no_en_partido( p_idParlamentario IN Parlamentario . idParlamentario % TYPE ) 
          
          Dado un identificador de Parlamentario, comprueba que ese Parlamentario no esté activo ya en algún partido.
          
          La comprobación a realizar consiste en buscar la existencia de alguna fila en la tabla PartidoDH que
          corresponda a ese Parlamentario y cuya fecha de finalización sea NULL.
          
          La existencia de esa fila provocará el lanzamiento de la excepción ErrorParlamentarioPartido.
          
          
Parameters:
p_idParlamentario - Identificador del Parlamentario que debe comprobarse.
Throws:
ErrorParlamentarioPartido - Si el Parlamentario ya está activo en algún partido.

NAME VALUE
OWNER TFC
OBJECT_NAME PKG_COMUN
SUBOBJECT_NAME null
OBJECT_ID 42317
DATA_OBJECT_ID null
OBJECT_TYPE PACKAGE
CREATED 13/06/14
LAST_DDL_TIME 13/06/14
TIMESTAMP 2014-06-13:15:02:19
STATUS VALID
TEMPORARY N
GENERATED N
SECONDARY N
NAMESPACE 1
EDITION_NAME null
PRIVILEGE GRANTEE GRANTABLE GRANTOR OBJECT_NAME
NAME OWNER TYPE OBJECT_ID STATUS TYPE_LINK
PKG_ESTADISTICA TFC PACKAGE BODY 42320 VALID PACKAGE
PKG_PARLAMENTO TFC PACKAGE BODY 42328 VALID PACKAGE
PKG_COMUN TFC PACKAGE BODY 42318 VALID PACKAGE
PKG_PARLAMENTARIO TFC PACKAGE BODY 42326 VALID PACKAGE
PKG_LISTADO TFC PACKAGE BODY 42324 VALID PACKAGE
PKG_GASTO TFC PACKAGE BODY 42322 VALID PACKAGE
NAME OWNER TYPE OBJECT_ID STATUS TYPE_LINK
PARTIDO TFC TABLE 42266 VALID TABLE
ESTADO TFC TABLE 42248 VALID TABLE
GASTO TFC TABLE 42252 VALID TABLE
PARTIDODH TFC TABLE 42268 VALID TABLE
EJERCICIO TFC TABLE 42246 VALID TABLE
FORMAPAGO TFC TABLE 42250 VALID TABLE
PARLAMENTOST TFC TABLE 42264 VALID TABLE
REGISTRO TFC TABLE 42275 VALID TABLE
TIPOIVA TFC TABLE 42279 VALID TABLE
PARLAMENTARIO TFC TABLE 42256 VALID TABLE
PARLAMENTO TFC TABLE 42260 VALID TABLE
PARLAMENTODH TFC TABLE 42262 VALID TABLE
PROVEEDOR TFC TABLE 42270 VALID TABLE
PARLAMENTARIOST TFC TABLE 42258 VALID TABLE
CATEGORIAGASTO TFC TABLE 42242 VALID TABLE
PACKAGE     PKG_COMUN AS

ErrorParlamentoNoExiste EXCEPTION;
ErrorParlamentarioNoExiste EXCEPTION;
ErrorPartidoNoExiste EXCEPTION;
ErrorParlamentarioParlamento EXCEPTION;
ErrorParlamentarioNoParlamento EXCEPTION;
ErrorParlamentarioPartido EXCEPTION;
ErrorParlamentarioNoPartido EXCEPTION;
ErrorEjercicioNoExiste EXCEPTION;
ErrorCategoriaGastoNoExiste EXCEPTION;
ErrorTipoIVANoExiste EXCEPTION;
ErrorProveedorNoExiste EXCEPTION;
ErrorEstadoNoExiste EXCEPTION;
ErrorFormaPagoNoExiste EXCEPTION;
ErrorGastoNoExiste EXCEPTION;
ErrorEstadisticaNoExiste EXCEPTION;

/**
Registra la ejecución de un procedimiento, sus parámetros de entrada y sus parámetros de salida.

Inserta una fila (entrada) en la tabla Registro. 

En cada entrada de la tabla Registro quedan registrados:
- El nombre del procedimiento ejecutado.
- El nombre del usuario que invocó la ejecución del procedimiento.
- El instante de tiempo en que se produjo la ejecución del procedimiento.
- La lista de parámetros de entrada y sus valores.
- La lista de parámetros de salida y sus valores.

@param p_procedimiento                  Nombre del procedimiento ejecutado.
@param p_usuario                        Nombre del usuario que invocó el procedimiento.
@param p_instante                       Instante de tiempo en que fue ejecutado el procedimiento.
@param p_entrada                        Parámetros de entrada y sus valores.
@param p_salida                         Parámetros de salida y sus valores.
*/
PROCEDURE entrada_registro (
  p_procedimiento IN Registro.PROCEDIMIENTO % TYPE,
  p_usuario       IN Registro.USUARIO % TYPE,
  p_instante      IN Registro.INSTANTE % TYPE,
  p_entrada       IN Registro.ENTRADA % TYPE,
  p_salida        IN Registro.SALIDA % TYPE);

/**
Dado un identificador de Parlamento, comprueba si ese Parlamento existe en la base de datos.

@param p_idParlamento                   Identificador del Parlamento a buscar en la base de datos.
	
@throws ErrorParlamentoNoExiste         Si el Parlamento buscado no existe en la base de datos.
*/
PROCEDURE existe_parlamento (
  p_idParlamento IN Parlamento.idParlamento % TYPE);

/**	
Dado un identificador de Parlamentario, comprueba si ese Parlamentario existe en la base de datos.
	
@param p_idParlamentario                Identificador del Parlamentario a buscar en la base de datos.

@throws ErrorParlamentarioNoExiste      Si el Parlamentario buscado no existe en la base de datos.
*/
PROCEDURE existe_parlamentario (
  p_idParlamentario IN Parlamentario.idParlamentario % TYPE);

/**
Dado un identificador de partido, comprueba si ese partido existe en la base de datos.
	
@param p_idPartido                      Identificador del partido a buscar en la base de datos.
	
@throws ErrorParlamentarioNoExiste      Si el Parlamentario buscado no existe en la base de datos.	
*/
PROCEDURE existe_partido (
  p_idPartido IN Partido.idPartido % TYPE);

/**
Dado un identificador de Parlamentario comprueba que ese Parlamentario no esté activo ya en algún Parlamento.

La comprobación a realizar consiste en buscar la existencia de alguna fila en la tabla ParlamentoDH que
corresponda a ese Parlamentario y cuya fecha de finalización sea NULL.
 
La existencia de esa fila provocará el lanzamiento de la excepción ErrorParlamentarioParlamento.

@param p_idParlamentario                Identificador del Parlamentario que debe comprobarse.

@throws ErrorParlamentarioParlamento    Si el Parlamentario ya está activo en algún Parlamento.
*/
PROCEDURE parlamentario_no_en_parlamento (
  p_idParlamentario IN Parlamentario.idParlamentario % TYPE);

/**
Dado un identificador de Parlamentario, comprueba que ese Parlamentario esté activo en algún Parlamento.

La comprobación a realizar consiste en buscar la existencia de alguna fila en la tabla ParlamentoDH que
corresponda a ese Parlamentario y cuya fecha de finalización sea NULL.

La no existencia de esa fila provocará el lanzamiento de la excepción ErrorParlamentarioNoParlamento.

@param p_idParlamentario                Identificador del Parlamentario que debe comprobarse.

@throws ErrorParlamentarioNoParlamento  Si el Parlamentario no está activo en ningún Parlamento.
*/
PROCEDURE parlamentario_en_parlamento (
  p_idParlamentario IN Parlamentario.idParlamentario % TYPE);

/**
Dados un identificador de Parlamento, un identificador de Parlamentario y una fecha, comprueba si ese Parlamentario 
estaba activo en ese Parlamento en esa fecha.

La comprobación a realizar consiste en buscar la existencia de alguna fila en la tabla ParlamentoDH que
corresponda a ese Parlamento y a ese Parlamentario y cuya fecha de inicio sea anterior o igual a la fecha
buscada, y a la vez la fecha buscada sea anterior o igual a la fecha de finalización o esta última sea NULL.

La no existencia de esa fila provocará el lanzamiento de la excepción ErrorParlamentarioNoParlamento.

@param p_idParlamento                   Identificador del Parlamento que debe comprobarse.
@param p_idParlamentario                Identificador del Parlamentario que debe comprobarse.
@param p_fecha                          Fecha que debe comprobarse.

@throws ErrorParlamentarioNoParlamento	Si el Parlamentario no estaba activo en ese Parlamento en esa fecha.
*/
PROCEDURE parlamentario_en_parlamento (
  p_idParlamento    IN Parlamento.idParlamento % TYPE,
  p_idParlamentario IN Parlamentario.idParlamentario % TYPE,
  p_fecha           IN ParlamentoDH.desde % TYPE);

/**
Dado un identificador de Parlamentario, comprueba que ese Parlamentario no esté activo ya en algún partido.

La comprobación a realizar consiste en buscar la existencia de alguna fila en la tabla PartidoDH que
corresponda a ese Parlamentario y cuya fecha de finalización sea NULL.

La existencia de esa fila provocará el lanzamiento de la excepción ErrorParlamentarioPartido.

@param p_idParlamentario                Identificador del Parlamentario que debe comprobarse.

@throws ErrorParlamentarioPartido       Si el Parlamentario ya está activo en algún partido.
*/
PROCEDURE parlamentario_no_en_partido (
  p_idParlamentario IN Parlamentario.idParlamentario % TYPE);

/**
Dado un identificador de Parlamentario, comprueba que ese Parlamentario esté activo en algún partido.

La comprobación a realizar consiste en buscar la existencia de alguna fila en la tabla PartidoDH que
corresponda a ese Parlamentario y cuya fecha de finalización sea NULL.

La no existencia de esa fila provocará el lanzamiento de la excepción ErrorParlamentarioNoPartido.

@param p_idParlamentario                Identificador del Parlamentario que debe comprobarse.

@throws ErrorParlamentarioNoPartido     Si el Parlamentario no está activo en ningún partido.
*/
PROCEDURE parlamentario_en_partido (
  p_idParlamentario IN Parlamentario.idParlamentario % TYPE);

/**
Dado un identificador de Parlamentario y una fecha, comprueba si ese Parlamentario estaba activo en algún
partido en esa fecha.

La comprobación a realizar consiste en buscar la existencia de alguna fila en la tabla PartidoDH que
corresponda a ese Parlamentario y cuya fecha de inicio sea anterior o igual a la fecha buscada, y a la vez la fecha
buscada sea anterior o igual a la fecha de finalización o esta última sea NULL.

La no existencia de esa fila provocará el lanzamiento de la excepción ErrorParlamentarioNoParlamento.	

@param p_idParlamentario                Identificador del Parlamentario que debe comprobarse.
@param p_fecha                          Fecha que debe comprobarse.

@throws ErrorParlamentarioNoPartido     Si el Parlamentario no está activo en ningún partido en esa fecha.
*/
PROCEDURE parlamentario_en_partido (
  p_idParlamentario IN Parlamentario.idParlamentario % TYPE,
  p_fecha           IN PartidoDH.desde % TYPE);

/**
Dada una fecha, comprueba que exista un ejercicio en la base de datos al que pertenezca esa fecha.

La comprobación a realizar consiste en buscar la existencia de alguna fila en la tabla Ejercicio cuya fecha de 
inicio sea anterior o igual a la fecha buscada y cuya fecha de finalización sea igual o posterior a la fecha
buscada.

La no existencia de esa fila provocará el lanzamiento de la excepción ErrorEjercicioNoExiste.

@param p_fecha                          Fecha cuyo ejercicio hay que buscar en la base de datos.

@throws ErrorEjercicioNoExiste          Si no existe el ejercicio al que pertenece esa fecha en la base de datos.	
*/
PROCEDURE existe_ejercicio (
  p_fecha IN Ejercicio.inicio % TYPE);

/**
Dado un identificador de ejercicio, comprueba que ese ejercicio exista en la base de datos.

@param p_idEjercicio                    Identificador del ejercicio a buscar en la base de datos.

@throws ErrorEjercicioNoExiste          Si el ejercicio buscado no existe en la base de datos.	
*/
PROCEDURE existe_ejercicio (
  p_idEjercicio IN Ejercicio.idEjercicio % TYPE);

/**
Dado un identificador de categoría de gasto, comprueba que esa categoría de gasto exista en la base de datos.

@param p_idCategoriaGasto               Identificador de la categoría de gasto a buscar en la base de datos.

@throws ErrorCategoriaGastoNoExiste     Si la categoría de gasto buscada no existe en la base de datos.		
*/
PROCEDURE existe_categoriaGasto (
  p_idCategoriaGasto IN CategoriaGasto.idCategoriaGasto % TYPE);

/**
Dado un identificador de tipo de IVA, comprueba que ese tipo de IVA exista en la base de datos.

@param p_idTipoIVA                      Identificador del tipo de IVA a buscar en la base de datos.

@throws ErrorTipoIVAnoExiste            Si el tipo de IVA buscado no existe en la base de datos.			
*/
PROCEDURE existe_tipoIVA (
  p_idTipoIVA IN TipoIVA.idTipoIVA % TYPE);

/**
Dado un identificador de proveedor, comprueba que ese proveedor exista en la base de datos.

@param p_idProveedor                    Identificador del proveedor a buscar en la base de datos.

@throws ErrorProveedorNoExiste          Si el proveedor buscado no existe en la base de datos.				
*/
PROCEDURE existe_proveedor (
  p_idProveedor IN Proveedor.idProveedor % TYPE);

/**
Dado un identificador de estado (de un gasto), comprueba que ese estado exista en la base de datos.

@param p_idEstado                       Identificador del estado a buscar en la base de datos.

@throws ErrorEstadoNoExiste             Si el estado buscado no existe en la base de datos.	
*/
PROCEDURE existe_estado (
  p_idEstado IN Estado.idEstado % TYPE);

/**
Dado un identificador de forma de pago, comprueba que esa forma de pago exista en la base de datos.

@param p_idFormaPago                    Identificador de la forma de pago a buscar en la base de datos.

@throws ErrorFormaPagoNoExiste          Si la forma de pago buscada no existe en la base de datos.	
*/
PROCEDURE existe_formaPago (
  p_idFormaPago IN FormaPago.idFormaPago % TYPE);

/**
Dado un identificador de gasto, comprueba que ese gasto exista en la base de datos.

@param p_idGasto                        Identificador del gasto a buscar en la base de datos.

@throws ErrorGastoNoExiste              Si el gasto buscado no existe en la base de datos.	
*/
PROCEDURE existe_gasto (
  p_idGasto IN Gasto.idGasto % TYPE);

/**
Dado un identificador de ejercicio y un identificador de Parlamento, comprueba si la estadística del Parlamento
para ese ejercicio exista en la base de datos.

@param p_idEstado                       Identificador del ejercicio que debe comprobarse.
@param p_idParlamento                   Identificador del Parlamento que debe comprobarse.

@throws ErrorEstadisticaNoExiste        Si la estadística de ese Parlamento en ese ejercicio no existe en la base de datos.		
*/
PROCEDURE existe_parlamentoST (
  p_idEjercicio  IN ParlamentoST.idEjercicio % TYPE,
  p_idParlamento IN ParlamentoST.idParlamento % TYPE);

/**
Dado un identificador de ejercicio, comprueba si existen estadísticas de Parlamentos para ese Ejercicio. 

@param idEjercicio                      Identificador del ejercicio que debe comprobarse.

@throws ErrorEstadisticaNoExiste        Si no existen estadísticas de Parlamento para ese Ejercicio.
*/
PROCEDURE existe_parlamentoST (
  p_idEjercicio IN ParlamentoST.idEjercicio % TYPE);

/**
Dado un identificador de ejercicio, un identificador de Parlamento y un identificador de Parlamentario, comprueba 
si existe la estadística de ese Parlamentario para ese ejercicio y ese Parlamento.

@param idEjercicio                      Identificador del ejercicio que debe comprobarse.
@param idParlamento                     Identificador del Parlamento que debe comprobarse.
@param idParlamentario                  Identificador del Parlamentario que debe comprobarse.

@throws ErrorEstadisticaNoExiste        Si no existen estadísticas para ese Parlamentario en ese ejercicio en ese Parlamento.
*/
PROCEDURE existe_parlamentarioST (
  p_idEjercicio     IN ParlamentarioST.idEjercicio % TYPE,
  p_idParlamento    IN ParlamentarioST.idParlamento % TYPE,
  p_idParlamentario IN ParlamentarioST.idParlamentario % TYPE);

/**
Dados un identificador de ejercicio y un identificador de Parlamentario, comprueba si existen estadísticas de
Parlamentario para ese ejercicio en algún Parlamento.

@param idEjercicio                      Identificador del ejercicio que debe comprobarse.
@param idParlamentario                  Identificador del Parlamentario que debe comprobarse.

@throws ErrorEstadisticaNoExiste        Si no existen estadísticas para ese Parlamentario en ese Ejercicio.
*/
PROCEDURE existe_parlamentarioST (
  p_idEjercicio     IN ParlamentarioST.idEjercicio % TYPE,
  p_idParlamentario IN ParlamentarioST.idParlamentario % TYPE);

/**
Dado un identificador de ejercicio, comprueba si existen estadísticas de Parlamentario para ese Ejercicio.

@param idEjercicio                      Identificador del ejercicio que debe comprobarse.

@throws ErrorEstadisticaNoExiste        Si no existen estadísticas de Parlamentario para ese Ejercicio.
*/
PROCEDURE existe_parlamentarioST (
  p_idEjercicio IN ParlamentarioST.idEjercicio % TYPE);

END PKG_COMUN;