TRAZABILIDAD DE ACCESOS A FICHEROS DE ALTO NIVEL DE SEGURIDAD

Tamaño: px
Comenzar la demostración a partir de la página:

Download "TRAZABILIDAD DE ACCESOS A FICHEROS DE ALTO NIVEL DE SEGURIDAD"

Transcripción

1 TRAZABILIDAD DE ACCESOS A FICHEROS DE ALTO NIVEL DE SEGURIDAD Fecha Versión Cambios 01/09/ Versión Inicial 02/12/ Campos obligatorios en trazabilidad 17/05/ Inclusión apartado Anexo V. En Documentum

2 1 TABLA DE CONTENIDO 1 TABLA DE CONTENIDO Introducción Objetivo Alcance )Dónde se almacenan los accesos a datos de ALTO nivel de seguridad? Trazabilidad de los accesos a datos de ALTO nivel de seguridad Trazabilidad de las Consultas y Listados Trazabilidad de las actualizaciones (insert=s, update=s, delete=s) Ejemplos de implantación en los distintos entornos de desarrollo Ejemplo de implantación en desarrollos Forms Ejemplo de implantación en desarrollos Pro*C Ejemplo de implantación en desarrollos Delphi (1.0, 3.0, 5.0) Análisis de trazas erróneas en Sistemas con tratamiento de ficheros de nivel alto ANEXOS Anexo I. Estructura de tabla de almacenamiento de accesos Anexo II. Package estándar de envío y almacenamiento de trazas Anexo III. Modelo de trigger after delete, update o insert Ejemplo 1: Ejemplo 2: Anexo IV. En Java Fichero de Cofiguración Objetos requeridos en base de datos para realizar la trazabilidad en éste tipo de aplicaciones Habilitar paquete estandar de envío de trazas Anexo V. En Documentum Acceso con usuario nominal Acceso con usuario no nominal Desarrollos Java internos Paquete DOCU_PACK_LOG Formato de la traza Integración de auditoría Anexo VI. Tratamiento y explotación de la información de traza almacenada en tablas Oracle por aplicación SGUR antigua (FORMS) Listado de Accesos realizados en un intervalo de tiempo por Fecha y hora Listado de Accesos realizados por un usuario en un intervalo de tiempo Listado de Accesos realizados a los datos de un interesado en un intervalo de tiempo Listado de Accesos realizados por proceso en un interesado en un intervalo de tiempo Anexo VII. Tratamiento y explotación de la información de traza almacenada en tablas Oracle por aplicación SGUR nueva (Java-Web)... 42

3 9.8 Anexo VII. Explotación de la información por la nueva aplicación SGUR (Java-Web)... 42

4 2 Introducción El REAL DECRETO 1720/2007, de 21 de diciembre, por el que se aprueba el Reglamento de desarrollo de la Ley Orgánica 15/1999, de 13 de diciembre, de protección de datos de carácter personal regula en su articulado la necesidad de establecer, para los ficheros de nivel alto, un registro de accesos a los datos que éstos contienen. 3 Objetivo El objeto de la presente instrucción técnica es el de establecer las pautas de programación concretas orientadas al desarrollo evolutivo o correctivo de aquellos sistemas de información de la Comunidad de Madrid que precisen de la implantación de mecanismos de trazabilidad y registro de los accesos que realicen los usuarios a ficheros que contengan datos personales de nivel alto. Representa un conjunto de instrucciones válido para cualquier tipo de aplicación con independencia del entorno de desarrollo que se haya utilizado: Java, Oracle Forms, Pro*C, Delphi (3.0, 5.0), etc. Este documento es de aplicación para todas las aplicaciones desarrolladas con Oracle 4 Alcance Este conjunto de instrucciones afecta a todos los Sistemas de Información de la Comunidad de Madrid, que estén dentro del ámbito de responsabilidad de la Agencia de Informática y Comunicaciones de la Comunidad de Madrid, que realicen o permitan realizar cualquier tipo de tratamiento de los datos de carácter personal contenidos en ficheros de nivel alto. Las pautas establecidas en el presente documento son de aplicación en las siguientes dos situaciones: 1) Durante las fases iniciales del ciclo de vida del software de todo Sistema de Información o Aplicativo nuevo que vaya a tratar ficheros con datos de carácter personal clasificados de nivel alto, y, 2) En aquellos Sistemas que, estando en producción, se encuentren en las mismas circunstancias que los anteriores. En este caso deberán ser modificados tanto desde un rediseño funcional del Sistema de Información como del desarrollo o programación de las modificaciones identificadas. Se garantizará de esta manera la adecuación de sus mecanismos internos, la recuperación de la trazabilidad de los accesos a los datos y la explotación posterior, a través de SGUR, de la información generada. 5 )Dónde se almacenan los accesos a datos de ALTO nivel de seguridad? El trace de los accesos realizados a datos de alto nivel de seguridad se guardará en tablas específicas en la base de datos bajo la cual se ejecuta la aplicación. Página 4

5 La información de estas tablas posteriormente podrá ser explotada mediante la aplicación SGUR antigua (GLIS) o SGUR_WEB (java nueva. Consultar anexos) La información que se envía al proceso de recogida de este tipo de información se realizará mediante la utilización de unos caracteres de limitación de campo, de este tratamiento se ocupa un paquete específico que se creará para cada aplicación y que se verá a detalle en el Anexo II. Package estándar de envío y almacenamiento de trazas La estructura de los datos que se almacenan se define en las siguientes tablas: 1.- Tabla de descripción de campos Atributo DSDBNAME DSMACHINE COD_APLICACION COD_USUARIO FCACCESO DSFICH_LOGICO CDTPOPER_LOGICO Descripción Nombre de la Base de Datos a la que se accede (nivel2, decebtrl, sigp, etc.). (*1) Máquina en la que se encuentra la Base de datos (icm45, etc.) (*1) Es el código con el que se da de alta el proyecto en POAPS y en Midax, cuando este se inicializa. Login del usuario que realiza el acceso. (*1) Fecha y hora en la que se realiza el Acceso a los datos. (*1) Nombre del Fichero inscrito en el registro de la APD A > Alta. B > Baja M > Modificación C > Consulta L > Listado AC > Actualización (Modificación de carácter genérico). CDTPACCESO_LOGICO DSTABLA_FISICA CDTPOPER_FISICA CDCLAVE I > Acceso individual. M > Acceso masivo Nombre de la Tabla Física a la que se accede para realizar la actualización o consulta. A > Alta. B > Baja M > Modificación C > Consulta Se almacenará los nombres de los campos de la PK de la tabla. El tamaño de este campo es de 250 caracteres, si el nombre de las columnas fuese superior se podrán acortar dichos nombres procurando que se pueda identificar de que campos se trata. Si la PK está compuesta por varios Página 5

6 CDCLAVE_VALOR CDIDENT CDIDENTDUP DSTERMINAL CDPROCESO DSPROCESO DSPROGRAMA DSFICH_FISICO DSIMPRESORA DSSQL DSURL DSPARAM_1 DSPARAM_1_VALOR DSPARAM_2 campos se separaran sus nombres por el carácter ^ Ej.: CD_NIF^CD_DEPTO^CD_CONTRATO Se informará con el valor de la PK del registro correspondiente. El tamaño de este campo es de 750 caracteres, si la concatenación de los valores de la PK fuese superior se almacenarán solamente los primeros 40 caracteres. La información completa se podrá obtener de otros campos de la traza. Si la PK es compuesta por varios campos se separaran sus valores por el carácter ^ Ejemplo: G^346^08/ En este campo se introducirá el NIF, CIF, Pasaporte, o número de documento que identifica a la persona de la cual se están solicitando los datos de nivel alto. Indicador de duplicidad del código de identificación. Si hay dos códigos idénticos se grabará SI En caso contrario se grabará null. Terminal desde el que se realiza el acceso (*1) Valor que identifica la operativa que desencadena la generación de la traza. Ej. ALTSINDC, APLS0011 etc. Este código debe ser el mismo que: se defina en el Análisis Funcional se implemente en la Plantilla de Requerimientos SGUR para la identificación de Etiqueta Fichero. Descripción de la operativa que desencadena la generación de la traza Ej. Alta de interviniente, Consulta de empleado con sindicato Programa desde el que se realiza el acceso. (*1) Nombre del Fichero Físico de impresión, descarga, etc. Identificación de la impresora por la que se imprime el listado. Sentencia SQL que se ejecuta para realizar la acción sobre los datos de alto nivel. Si el proceso que desencadena la traza es una consulta o listado que devuelve varios registros se almacenará la sentencia SQL. En el caso que dicha sentencia sea muy larga se dará prioridad a la parte where. Sería recomendable, en este caso, almacenar los parámetros por los que se realiza la búsqueda en los campos DSPARAM_X y DSPARAM_X_VALOR. Dirección URL Masivos. Criterio selección. Masivos. Criterio selección. Masivos. Criterio selección. Página 6

7 DSPARAM_2_VALOR DSPARAM_3 DSPARAM_3_VALOR DSPARAM_4 DSPARAM_4_VALOR DSPARAM_5 DSPARAM_5_VALOR DSPARAM_6 DSPARAM_6_VALOR DSPARAM_7 DSPARAM_7_VALOR DSPARAM_8 DSPARAM_8_VALOR DSPARAM_9 DSPARAM_9_VALOR DSPARAM_10 DSPARAM_10_VALOR DSOBSERV Masivos. Criterio selección. Masivos. Criterio selección. Masivos. Criterio selección. Masivos. Criterio selección. Masivos. Criterio selección. Masivos. Criterio selección. Masivos. Criterio selección. Masivos. Criterio selección. Masivos. Criterio selección. Masivos. Criterio selección. Masivos. Criterio selección. Masivos. Criterio selección. Masivos. Criterio selección. Se graba el literal: CENPROP En la traza se graba el valor sin comillas Código de Centro Directivo, Órgano Judicial, Departamento, etc. al que pertenecen los datos sobre los que se realiza el acceso. Se graba el literal: CENDIR En la traza se graba el valor sin comillas Código de Centro Directivo, Órgano Judicial, Departamento, etc., al que pertenece el usuario que realiza el acceso a los datos de Nivel Alto. En el supuesto de que el valor de este atributo no esté embebido en el código de la aplicación se deberá proceder del siguiente modo: 1. Definir el código en la fase de Análisis Funcional 2. Incluir en este atributo el valor genérico definido en la fase de análisis o el correspondiente al Centro Directivo Propietario. En el segundo caso, el Responsable Funcional que revise la trazabilidad debe saber que el control habilitado para identificar usuarios que acceden a datos de otros centros no estará disponible en SGUR. Texto Libre de Observaciones (*1) Este dato es cumplimentado automáticamente por el package standard 2.- Tabla de detalle de los campos Nombre de Atributo Nombre de Columna Tipo de dato Obligatorio Base de Datos DSDBNAME VARCHAR2(20) SI Página 7

8 Máquina DSMACHINE VARCHAR2(20) SI Código de Aplicación COD_APLICACION VARCHAR2(12) SI Código de Usuario COD_USUARIO VARCHAR2(12) SI Fecha y Hora de Acceso FCACCESO DATE SI Fichero Lógico de datos DSFICH_LOGICO VARCHAR2(40) SI Tipo de Operación que se realiza sobre la tabla Lógica Tipo de Acceso al Fichero Lógico de datos CDTPOPER_LOGICO VARCHAR2(2) SI CDTPACCESO_LOGICO VARCHAR2(2) SI Tabla Física accedida DSTABLA_FISICA VARCHAR2(30) NO Tipo de Operación que se realiza sobre la tabla Física CDTPOPER_FISICA VARCHAR2(2) NO Clave de Acceso CDCLAVE VARCHAR2(250) NO Valor Clave de Acceso. CDCLAVE_VALOR VARCHAR2(750) NO Código de Identificación CDIDENT VARCHAR2(15) NO Duplicado Identificación CDIDENTDUP VARCHAR2(2) NO Terminal DSTERMINAL VARCHAR2(40) NO Código del Proceso CDPROCESO VARCHAR2(10) SI Descripción del Proceso DSPROCESO VARCHAR2(60) SI Programa DSPROGRAMA VARCHAR2(50) NO Fichero Físico de impresión, descarga, etc. DSFICH_FISICO VARCHAR2(100) NO Impresora DSIMPRESORA VARCHAR2(20) NO Sentencia SQL DSSQL VARCHAR2(2000) NO Dirección URL DSURL VARCHAR2(140) NO Parámetro 1 - Criterio DSPARAM_1 VARCHAR2(20) NO Parámetro 1 - Valor DSPARAM_1_VALOR VARCHAR2(40) NO Parámetro 2 - Criterio DSPARAM_2 VARCHAR2(20) NO Parámetro 2 - Valor DSPARAM_2_VALOR VARCHAR2(40) NO Parámetro 3 - Criterio DSPARAM_3 VARCHAR2(20) NO Parámetro 3 - Valor DSPARAM_3_VALOR VARCHAR2(40) NO Parámetro 4 - Criterio DSPARAM_4 VARCHAR2(20) NO Página 8

9 Parámetro 4 - Valor DSPARAM_4_VALOR VARCHAR2(40) NO Parámetro 5 - Criterio DSPARAM_5 VARCHAR2(20) NO Parámetro 5 - Valor DSPARAM_5_VALOR VARCHAR2(40) NO Parámetro 6 - Criterio DSPARAM_6 VARCHAR2(20) NO Parámetro 6 - Valor DSPARAM_6_VALOR VARCHAR2(40) NO Parámetro 7 - Criterio DSPARAM_7 VARCHAR2(20) NO Parámetro 7 - Valor DSPARAM_7_VALOR VARCHAR2(40) NO Parámetro 8 - Criterio DSPARAM_8 VARCHAR2(20) NO Parámetro 8 - Valor DSPARAM_8_VALOR VARCHAR2(40) NO Parámetro 9 - Criterio DSPARAM_9 VARCHAR2(20) SI Parámetro 9 - Valor DSPARAM_9_VALOR VARCHAR2(40) SI Parámetro 10 - Criterio DSPARAM_10 VARCHAR2(20) SI Parámetro 10- Valor DSPARAM_10_VALOR VARCHAR2(40) SI Observaciones DSOBSERV VARCHAR2(256) NO Campos que se rellenan automáticamente por el package Standard: Base de Datos, Máquina, Código de Usuario, Fecha y Hora de Acceso, Terminal, Programa. En el Anexo I. Estructura de tabla de almacenamiento de accesos se puede ver la estructura de la tabla bajo la cual se almacena esta información en la base de datos. 6 Trazabilidad de los accesos a datos de ALTO nivel de seguridad A continuación pasamos a describir la solución propuesta para la trazabilidad de los accesos realizados por los usuarios a datos de nivel de seguridad ALTO. Dicha solución es válida para cualquier tipo de Aplicación Oracle, independientemente del entorno de desarrollo utilizado: Java, Oracle Forms, Pro*C, Delphi (3.0, 5.0), etc 6.1 Trazabilidad de las Consultas y Listados. A nivel de programación cuando se realice el acceso a los datos considerados de nivel de seguridad ALTO. Página 9

10 1.- Generar una cadena del registro de log con caracteres delimitadores (formato sqlunload de ICM). Este proceso se realizará mediante la ejecución de la función: - STANDARD_PACK_LOG.CREAR_REG_LOG almacenada en el núcleo de Oracle. Ésta función además envia el registro de log generado en el punto anterior a un PIPE genérico TRAZ_PIPE-(cuya información es almacenada en la SGA de Oracle a espera de un proceso que la recoja) Internamente ejecutando la función. ENVIAR_REG_LOG 2.- Tratar la información enviada al PIPE. Este proceso se realizará mediante la ejecución de un procedimiento general y común a todas las aplicaciones: - TRAZ_PROC_RECOGE_LOG (que se encuentra siempre en escucha) encargado de almacenar en tabla Oracle la información transferida al PIPE (TRAZ_PIPE). Por lo tanto es necesario crear un paquete por aplicación similar al que podemos ver en el Anexo II. Package estándar de envío y almacenamiento de trazas del que se partirá como código base y que se llamara como: - XXXX_PACK_LOG (siendo XXXX el código de la aplicación bajo la cual se crea el PIPE) Este paquete está constituido por dos funciones: - CREAR_REG_LOG, con los parámetros recibidos crea una cadena y la envía al PIPE de tratamiento de esta información. - ENVIAR_REG_LOG, ejecuta la función propia de envío de información al PIPE. (Ésta función es llamada internamente por la función CREAR_REG_LOG) 6.2 Trazabilidad de las actualizaciones (insert=s, update=s, delete=s) Para no tener que modificar ninguna línea de código en las actuales aplicaciones, se propone crear un Trigger AFTER DELETE, UPDATE, INSERT asociado a cada una de las tablas que contengan datos considerados de nivel de seguridad ALTO. Dicho Trigger llamará internamente a la función XXXX_PACK_LOG.CREAR_REG_LOG, que tal y como se indicó anteriormente crea y envía al PIPE de tratamiento de Log el registro de ΑTrace. En el Anexo III. Modelo de trigger after delete, update o insert se puede ver un modelo de como pueden codificarse dichos Trigger=s. Es posible que en determinadas aplicaciones sea conveniente crear estos trigger=s de forma que se lancen únicamente cuando se ha modificado algún dato de especial interés, como pueden ser: diagnósticos, anotaciones médicas, etc. Con la creación de estos Trigger=s tendremos el Αtrace de todos las actualizaciones que se realicen en las tablas de nivel de seguridad ALTO, bien desde las aplicaciones (Form=s, Pro*C, Delphi, etc.), o bien por operaciones realizadas directamente desde SQL u otra herramienta de acceso directo a la base de datos. Página 10

11 7 Ejemplos de implantación en los distintos entornos de desarrollo A continuación vamos a mostrar ejemplos de como se implementaría la solución propuesta en el punto anterior, en los distintos entornos de desarrollo (Forms, Pro*C, Delphi), 7.1 Ejemplo de implantación en desarrollos Forms declare... w_status NUMBER; begin... Aquí va el código particular de la aplicación para acceder a los Datos de un interesado... Generar y enviar registro de Log a PIPE. w_status := slab_pack_log.crear_reg_log ( 'SLAB' 'FICHERO DE ANOTACION', 'C', 'I', 'SLAB_EMP_ANOTACION', 'C', 'NIF',0 to_char (:b10.cdnifnro) :b10.cdnifdup, to_char (:b10.cdnifnro), :b10.cdnifdup, 'ANOTHCL', 'Anotaciones en Historial Cínico', 'FICHERO DE ANOTACION', ICMPRXX, impresora 'select * from...', URL PAR1 :b10.cdfich, Página 11

12 CENPROP, CD_AA, CENDIR, CD_BB, Observaciones ); if w_status!= 0 then message ('Se ha producido un error en el envío del registro' 'de Log. Error: ' to_char (w_status) '. Avisar a ICM'); end if; end; 7.2 Ejemplo de implantación en desarrollos Pro*C void Ontener_Datos_Interesado () { EXEC SQL BEGIN DECLARE SECTION;... int status; EXEC SQL END DECLARE SECTION;... Aquí va el código particular de la aplicación para acceder a los Datos de un interesado... /* */ /* Generar y enviar registro de Log a PIPE. */ /* */ EXEC SQL EXECUTE BEGIN :status := slab_pack_log.crear_reg_log ( 'SLAB', 'FICHERO DE ANOTACION', 'C', 'I', 'SLAB_EMP_ANOTACION', 'C', 'NIF', to_char (:b10.cdnifnro) :b10.cdnifdup, to_char (:b10.cdnifnro), :b10.cdnifdup, 'ANOTHCL', 'Anotaciones en Historial Clínico', 'FICHERO DE ANOTACION', 'ICMPRXX', 'select * from...', Página 12

13 } CENPROP, CD_AA, CENDIR, CD_BB, Observaciones ); END; END EXEC; if (status!= 0) { fprintf(stderr, "\nerror al enviar el registro de Log. Error = %d\n?, status); exit(1); } Página 13

14 7.3 Ejemplo de implantación en desarrollos Delphi (1.0, 3.0, 5.0) Se ha creado un componente (llamado TLOG) para el tratamiento común del Log de Seguridad en todas las Aplicaciones Delphi. Dicho componente residiría la librería de componentes de ICM. Propiedades: Implementación: A continuación pasamos a mostrar un ejemplo de como se hace referencia al componente desde un Form: procedure TFchcl.ObtenerDatosEmpleado(Sender: TObject); var... begin... Aquí va el código particular de la aplicación para acceder a los Datos del empleado... //- // Control de Seguridad. //- FMenu.Log1.ClaveAcceso := 'NIF'; FMenu.Log1.ClaveAccesoValor := FloatToStr(Vcdnifnro) + Vcdnifctrl; FMenu.Log1.CodIdent := FloatToStr(Vcdnifnro) + Vcdnifctrl; FMenu.Log1.CodIdentDup := Vcdnifdup; FMenu.Log1.FicheroLogico.Nombre := 'SLAB_EMP'; FMenu.Log1.Proceso := Caption; FMenu.Log1.FicheroLogico.TipoAcceso := Log_Individual; FMenu.Log1.FicheroLogico.TipoOperacion := Log_Consulta; Página: 14

15 FMenu.Log1.TablaFisica.Nombre := 'SLAB_EMP'; FMenu.Log1.TablaFisica.TipoOperacion := Log_Consulta;... end; FMenu.Log1.Crea_Log; Se ha creado un componente (llamado TLOG) para el tratamiento común del Log de Seguridad en todas las Aplicaciones Delphi. Dicho componente residiría la librería de componentes de ICM. Página: 15

16 8 Análisis de trazas erróneas en Sistemas con tratamiento de ficheros de nivel alto. Se presenta en este apartado un ejemplo para el seguimiento y consulta de trazas erróneas. Se considera una traza errónea aquella que no ha podido ser registrada en el sistema de trazabilidad de forma adecuada debido generalmente al uso incorrecto de la función CREAR_REG_LOG la hora de enviar los parametros de entrada, estas trazas quedan registradas en la tabla TRAZ_ERR_LOG_ACCESOS Los usuarios de la herramienta serán, principalmente, aquellos Grupos Técnicos que realicen mantenimiento de aplicaciones de la Dirección de Análisis y Mantenimiento de Aplicaciones y Desarrollos Institucionales (DAMADI). Una vez implementada la trazabilidad de un sistema de información y durante la fase de traspaso de conocimientos a los responsables de su mantenimiento, el Responsable Funcional del sistema informará a aquellos, de la obligación de revisar mensualmente las trazas que se graben erróneamente. Para ello deberán consultar la tabla TRAZ_ERR_LOG_ACCESOS, que tiene definida visibilidad pública. En este ejemplo se analizan las trazas cuyo código de aplicación es SFFZ (se supone que el código de aplicación se está grabando correctamente). select * from traz_err_log_accesos WHERE substr(registro, instr(registro,'^',1,5)+1, instr(registro,'^',1,6)-instr(registro,'^',1,5)-1) = 'SFFZ' En las trazas erróneas se almacena de forma encapsulada toda la información de la traza en el campo TRAZ_ERR_LOG_ACCESOS.REGISTRO, para desencapsular y consultar los datos de la tra za se puede utilizar la siguiente sentencia SQL: select mensaje_err, substr(registro, instr(registro,'^',1,1) +1, instr(registro,'^',1,2)-instr(registro,'^',1,1)-1) as DSDBNAME, substr(registro, instr(registro,'^',1,3) +1, instr(registro,'^',1,4)-instr(registro,'^',1,3)-1) as DSMACHINE, substr(registro, instr(registro,'^',1,5)+1, instr(registro,'^',1,6)-instr(registro,'^',1,5)-1) as COD_APLICACION, substr(registro, instr(registro,'^',1,7)+1, instr(registro,'^',1,8)-instr(registro,'^',1,7)-1) as COD_USUARIO, to_date( substr(registro, instr(registro,'^',1,9)+1, instr(registro,'^',1,10)-instr(registro,'^',1,9)- 1),'YYYY/MM/DD HH24:mi:ss') as FCACCESO, substr(registro, instr(registro,'^',1,11)+1, instr(registro,'^',1,12)-instr(registro,'^',1,11)-1) as DSFICH_LOGICO, substr(registro, instr(registro,'^',1,13)+1, instr(registro,'^',1,14)-instr(registro,'^',1,13)-1) as CDTOPERACION Página: 16

17 , substr(registro, instr(registro,'^',1,15)+1, instr(registro,'^',1,16)-instr(registro,'^',1,15)-1) as CDTPACCESO_LOGICO, substr(registro, instr(registro,'^',1,17)+1, instr(registro,'^',1,18)-instr(registro,'^',1,17)-1) as DSTABLA_FISICA, substr(registro, instr(registro,'^',1,19)+1, instr(registro,'^',1,20)-instr(registro,'^',1,19)-1) as CDTPOPER_FISICA, substr(registro, instr(registro,'^',1,21)+1, instr(registro,'^',1,22)-instr(registro,'^',1,21)-1) as CDCLAVE, substr(registro, instr(registro,'^',1,23)+1, instr(registro,'^',1,24)-instr(registro,'^',1,23)-1) as CDCLAVE_VALOR, substr(registro, instr(registro,'^',1,25)+1, instr(registro,'^',1,26)-instr(registro,'^',1,25)-1) as CDIDENT, substr(registro, instr(registro,'^',1,27)+1, instr(registro,'^',1,28)-instr(registro,'^',1,27)-1) as CDIDENTDUP2, substr(registro, instr(registro,'^',1,29)+1, instr(registro,'^',1,30)-instr(registro,'^',1,29)-1) as Terminal_Machine, substr(registro, instr(registro,'^',1,31)+1, instr(registro,'^',1,32)-instr(registro,'^',1,31)-1) as CDPROCESO, substr(registro, instr(registro,'^',1,33)+1, instr(registro,'^',1,34)-instr(registro,'^',1,33)-1) as DSPROCESO, substr(registro, instr(registro,'^',1,35)+1, instr(registro,'^',1,36)-instr(registro,'^',1,35)-1) as DSPROGRAMA, substr(registro, instr(registro,'^',1,37)+1, instr(registro,'^',1,38)-instr(registro,'^',1,37)-1) as DSFICH_FISICO, substr(registro, instr(registro,'^',1,39)+1, instr(registro,'^',1,40)-instr(registro,'^',1,39)-1) as DSIMPRESORA, substr(registro, instr(registro,'^',1,41)+1, instr(registro,'^',1,42)-instr(registro,'^',1,41)-1) as DSSQL, substr(registro, instr(registro,'^',1,43)+1, instr(registro,'^',1,44)-instr(registro,'^',1,43)-1) as DSURL, substr(registro, instr(registro,'^',1,45)+1, instr(registro,'^',1,46)-instr(registro,'^',1,45)-1) as DSPARAM_1, substr(registro, instr(registro,'^',1,47)+1, instr(registro,'^',1,48)-instr(registro,'^',1,47)-1) as DSPARAM_1_VALOR, substr(registro, instr(registro,'^',1,49)+1, instr(registro,'^',1,50)-instr(registro,'^',1,49)-1) as DSPARAM_2, substr(registro, instr(registro,'^',1,51)+1, instr(registro,'^',1,52)-instr(registro,'^',1,51)-1) as DSPARAM_2_VALOR, substr(registro, instr(registro,'^',1,53)+1, instr(registro,'^',1,54)-instr(registro,'^',1,53)-1) as DSPARAM_3, substr(registro, instr(registro,'^',1,55)+1, instr(registro,'^',1,56)-instr(registro,'^',1,55)-1) as DSPARAM_3_VALOR, substr(registro, instr(registro,'^',1,57)+1, instr(registro,'^',1,58)-instr(registro,'^',1,57)-1) as DSPARAM_4, substr(registro, instr(registro,'^',1,59)+1, instr(registro,'^',1,60)-instr(registro,'^',1,59)-1) as DSPARAM_4_VALOR, substr(registro, instr(registro,'^',1,61)+1, instr(registro,'^',1,62)-instr(registro,'^',1,61)-1) as DSPARAM_5, substr(registro, instr(registro,'^',1,63)+1, instr(registro,'^',1,64)-instr(registro,'^',1,63)-1) as DSPARAM_5_VALOR, substr(registro, instr(registro,'^',1,65)+1, instr(registro,'^',1,66)-instr(registro,'^',1,65)-1) as DSPARAM_6, substr(registro, instr(registro,'^',1,67)+1, instr(registro,'^',1,68)-instr(registro,'^',1,67)-1) as DSPARAM_6_VALOR, substr(registro, instr(registro,'^',1,69)+1, instr(registro,'^',1,70)-instr(registro,'^',1,69)-1) as DSPARAM_7, substr(registro, instr(registro,'^',1,71)+1, instr(registro,'^',1,72)-instr(registro,'^',1,71)-1) as DSPARAM_7_VALOR, substr(registro, instr(registro,'^',1,73)+1, instr(registro,'^',1,74)-instr(registro,'^',1,73)-1) as DSPARAM_8 Página: 17

18 , substr(registro, instr(registro,'^',1,75)+1, instr(registro,'^',1,76)-instr(registro,'^',1,75)-1) as DSPARAM_8_VALOR, substr(registro, instr(registro,'^',1,77)+1, instr(registro,'^',1,78)-instr(registro,'^',1,77)-1) as DSPARAM_9, substr(registro, instr(registro,'^',1,79)+1, instr(registro,'^',1,80)-instr(registro,'^',1,79)-1) as DSPARAM_9_VALOR, substr(registro, instr(registro,'^',1,81)+1, instr(registro,'^',1,82)-instr(registro,'^',1,81)-1) as DSPARAM_10, substr(registro, instr(registro,'^',1,83)+1, instr(registro,'^',1,84)-instr(registro,'^',1,83)-1) as DSPARAM_10_VALOR, substr(registro, instr(registro,'^',1,85)+1, instr(registro,'^',1,86)-instr(registro,'^',1,85)-1) as DSOSERV from traz_err_log_accesos WHERE substr(registro, instr(registro,'^',1,5)+1, instr(registro,'^',1,6)-instr(registro,'^',1,5)-1) = 'SFFZ' 9 ANEXOS 9.1 Anexo I. Estructura de tabla de almacenamiento de accesos A continuación se muestra la estructura de la tabla en donde se almacenarán los log de accesos a ficheros de ALTO nivel de seguridad. create table TRAZ_LOG_ACCESOS ( COD_APLICACION VARCHAR2(12), DSFICH_LOGICO VARCHAR2(40), DSDBNAME VARCHAR2(20), DSMACHINE VARCHAR2(20), CDTPOPERACION VARCHAR2(2), CDCLAVE VARCHAR2(250), CDCLAVE_VALOR VARCHAR2(750), COD_USUARIO VARCHAR2(12), FCACCESO DATE, CDIDENT VARCHAR2(15), CDIDENTDUP VARCHAR2(2), CDPROCESO VARCHAR2(10), DSPROCESO VARCHAR2(60), CDTPACCESO_LOGICO VARCHAR2(2), DSSQL VARCHAR2(2000), DSTABLA_FISICA VARCHAR2(30), DSURL VARCHAR2(140), CDTPOPER_FISICA VARCHAR2(2), DSTERMINAL VARCHAR2(40), Página: 18

19 DSPROGRAMA VARCHAR2(50), DSFICH_FISICO VARCHAR2(100), DSIMPRESORA VARCHAR2(20), DSPARAM_1 VARCHAR2(20), DSPARAM_1_VALOR VARCHAR2(40), DSPARAM_2 VARCHAR2(20), DSPARAM_2_VALOR VARCHAR2(40), DSPARAM_3 VARCHAR2(20), DSPARAM_3_VALOR VARCHAR2(40), DSPARAM_4 VARCHAR2(20), DSPARAM_4_VALOR VARCHAR2(40), DSPARAM_5 VARCHAR2(20), DSPARAM_5_VALOR VARCHAR2(40), DSPARAM_6 VARCHAR2(20), DSPARAM_6_VALOR VARCHAR2(40), DSPARAM_7 VARCHAR2(20), DSPARAM_7_VALOR VARCHAR2(40), DSPARAM_8 VARCHAR2(20), DSPARAM_8_VALOR VARCHAR2(40), DSPARAM_9 VARCHAR2(20), DSPARAM_9_VALOR VARCHAR2(40), DSPARAM_10 VARCHAR2(20), DSPARAM_10_VALOR VARCHAR2(40), DSOBSERV VARCHAR2(256) ); Página: 19

20 9.2 Anexo II. Package estándar de envío y almacenamiento de trazas Partiendo de este package general se copiará a nivel de DBA de Aplicación cambiándole el nombre como en el ejemplo siguiente: Origen de la copia.: STANDARD_PACK_LOG Destino..: XXXX_PACK_LOG Siendo XXXX el código de la aplicación que adoptará este nuevo paquete. A continuación se muestra el código del package genérico: create or replace package body STANDARD_PACK_LOG is - - FUNCION CREAR_REG_LOG - FUNCTION crear_reg_log ( vi_cod_aplicacion IN varchar2, Código de Aplicación vi_dsfich_logico IN varchar2, Nombre del Fichero Lógico de datos vi_cdtpoperacion IN varchar2, Tipo de Operación que se realiza sobre la tabla Lógica vi_cdtpacceso_logico IN varchar2, Tipo de Acceso al fichero lógico vi_dstabla_fisica IN varchar2 default null, Tabla Física accedida vi_cdtoper_fisica IN varchar2 default null, Tipo de Operación que se realiza sobre la Tabla Física vi_cdclave IN varchar2 default null, Clave de Acceso vi_cdclave_valor IN varchar2 default null, Valor Clave de Acceso vi_cdident IN varchar2 default null, Código de Identificación vi_cdidentdup IN varchar2 default null, Duplicado de Identificación vi_cdproceso IN varchar2 default null, Código de Proceso vi_dsproceso IN varchar2 default null, Descripción del proceso vi_dsfich_fisico IN varchar2 default null, Nombre del Fichero Físico de Impresión, descarga,.. vi_dsimpresora IN varchar2 default null, Impresora vi_dssql IN varchar2 default null, Sentencia SQL que se ejecuta vi_dsurl IN varchar2 default null, Dirección URL vi_dsparam_1 IN varchar2 default null, Criterio 1 vi_dsparam_1_valor IN varchar2 default null, Valor 1 vi_dsparam_2 IN varchar2 default null, Criterio 2 vi_dsparam_2_valor IN varchar2 default null, Valor 2 vi_dsparam_3 IN varchar2 default null, Criterio 3 vi_dsparam_3_valor IN varchar2 default null, Valor 3 vi_dsparam_4 IN varchar2 default null, Criterio 4 vi_dsparam_4_valor IN varchar2 default null, Valor 4 vi_dsparam_5 IN varchar2 default null, Criterio 5 vi_dsparam_5_valor IN varchar2 default null, Valor 5 vi_dsparam_6 IN varchar2 default null, Criterio 6 Página: 20

21 vi_dsparam_6_valor IN varchar2 default null, Valor 6 vi_dsparam_7 IN varchar2 default null, Criterio 7 vi_dsparam_7_valor IN varchar2 default null, Valor 7 vi_dsparam_8 IN varchar2 default null, Criterio 8 vi_dsparam_8_valor IN varchar2 default null, Valor 8 vi_dsparam_9 IN varchar2 default null, CENPROP vi_dsparam_9_valor IN varchar2 default null, Código de Centro Directivo, Órgano Judicial, Departamento, etc. al que pertenecen los datos sobre los que se realiza el acceso vi_dsparam_10 IN varchar2 default null, CENDIR vi_dsparam_10_valor IN varchar2 default null, Código de Centro Directivo, Órgano Judicial, Departamento, etc., al que pertenece el usuario que realiza el acceso a los datos de Nivel Alto vi_dsobserv IN varchar2 default null ) Observaciones RETURN Number IS w_dbname varchar2(100); w_maquina varchar2(100); w_terminal varchar2(100); w_program varchar2(100); w_reglog varchar2(4000); w_usuario varchar2(100) := USER; status number; BEGIN - Inicializar variables. - w_reglog := null; - Obtener Base de Datos - SELECT VALUE INTO w_dbname FROM sis_nombre_bd; - Obtener nombre de la máquina de Base de Datos - select rtrim(substr(substr(program, 1, instr(program,'(',1)-1), instr(program,'@',1)+1, 20)) into w_maquina from v$parameter, v$process where name = 'db_name' and pid = 2; Obtener: el TTY (si se accede por Telnet) o el nombre del PC (si se accede desde windows); y el programa utilizado en Oracle Si Audsid=0 ES UN JOB. IF SYS_CONTEXT('USERENV','SESSIONID') = 0 THEN Página: 21

22 w_terminal := vi_cod_aplicacion '_JOB'; w_program := vi_cod_aplicacion '_JOB'; ELSE select decode(ascii(substr(s.machine,length(s.machine),1)),0, substr(s.machine,1,length(s.machine)-1), s.machine), S.PROGRAM into w_terminal, w_program from sis_log_process P, sis_log_session S where P.Addr = S.Paddr and S.Audsid = SYS_CONTEXT('USERENV','SESSIONID'); END IF; INICIO - Programación sólamente para Aplicaciones WEB (JAVA, CGI)!!! Descomentar éstas 4 líneas para estas tecnologías que se apoyan en Pool de Conexiones Mediante la función SIS_FUNC_CONTROL_SESION se permite conocer el usuario lógico conectado a la aplicación a través del SESSION_ID /* status := sis_func_control_sesion('c',w_usuario); if (status > 0) then return(1); end if; */ FIN - Programación sólamente para Aplicaciones WEB (JAVA, CGI)!!! - Componer registro de Log. - w_reglog := '^' w_dbname '^~^' bd w_maquina '^~^' máquina de la bd vi_cod_aplicacion '^~^' código aplicación w_usuario '^~^' login usuario to_char (SYSDATE,'YYYY-MM-DD HH24:mi:ss') '^~^' día y hora vi_dsfich_logico '^~^' fichero lógico vi_cdtpoperacion '^~^' tipo operación sobre el fichero lógico vi_cdtpacceso_logico '^~^' tipo acceso al fichero lógico vi_dstabla_fisica '^~^' tabla física vi_cdtoper_fisica '^~^' tipo operación sobre la tabla física vi_cdclave '^~^' clave acceso vi_cdclave_valor '^~^' valor clave vi_cdident '^~^' código identificación vi_cdidentdup '^~^' duplicado identificación w_terminal '^~^' terminal vi_cdproceso '^~^' proceso vi_dsproceso '^~^' descripción proceso w_program '^~^' programa vi_dsfich_fisico '^~^' Nombre del fichero físico de descarga,.. Página: 22

23 vi_dsimpresora '^~^' impresora substr(vi_dssql,1,2000) '^~^' sql substr(vi_dsurl,1,140) '^~^' url vi_dsparam_1 '^~^' parámetros y valores vi_dsparam_1_valor '^~^' vi_dsparam_2 '^~^' vi_dsparam_2_valor '^~^' vi_dsparam_3 '^~^' vi_dsparam_3_valor '^~^' vi_dsparam_4 '^~^' vi_dsparam_4_valor '^~^' vi_dsparam_5 '^~^' vi_dsparam_5_valor '^~^' vi_dsparam_6 '^~^' vi_dsparam_6_valor '^~^' vi_dsparam_7 '^~^' vi_dsparam_7_valor '^~^' vi_dsparam_8 '^~^' vi_dsparam_8_valor '^~^' vi_dsparam_9 '^~^' vi_dsparam_9_valor '^~^' vi_dsparam_10 '^~^' vi_dsparam_10_valor '^~^' vi_dsobserv '^'; observaciones status := enviar_reg_log(w_reglog); RETURN (status); EXCEPTION WHEN OTHERS THEN RETURN (SQLCODE); END Crear_Reg_Log; - - FUNCION ENVIAR_REG_LOG - FUNCTION enviar_reg_log ( command VARCHAR2, timeout NUMBER DEFAULT 10) RETURN NUMBER IS status NUMBER; pipe_name VARCHAR2(30); BEGIN DBMS_PIPE.PACK_MESSAGE(command); status := DBMS_PIPE.SEND_MESSAGE('traz_pipe', timeout); IF status <> 0 THEN RAISE_APPLICATION_ERROR(-20010, 'Execute_system: Error while sending. Status = ' status); END IF; RETURN status; END enviar_reg_log; Página: 23

24 end ; A TENER EN CUENTA!!!, si el tipo de aplicación es un WEB (JAVA, CGI) (bajo los cuales se realizan conexiones físicas a base de datos con el mismo usuario) se han de descomentar las líneas existentes en la función CREAR_REG_LOG con la etiqueta: INICIO - Programación sólamente para Aplicaciones WEB (JAVA, CGI)!!! (para este tipo de programas se ha de disponer en la b.d. de la siguiente tabla: - GAT_CONTROL_SESION -enlace entre usuario lógico e identificador de sesión Oracle- Y de la siguiente función: - SIS_FUNC_CONTROL_SESION -registro y consulta de la anterior tabla- ) 9.3 Anexo III. Modelo de trigger after delete, update o insert A continuación veremos un ejemplo de cómo se crearía un Trigger para el control de seguridad de aplicaciones. El Trigger que veremos está implementado en el modelo de datos para la aplicación Sislab: - Nombre del Trigger : slab_emp_anotacion_trig_a_diu - Evento: Alter - Acción: Delete, Insert, Update - Tabla: slab_emp_anotacion Ejemplo 1: CREATE OR REPLACE TRIGGER SLAB_EMP_ANOTACION_TRIG_A_DIU AFTER DELETE OR INSERT OR UPDATE ON SLAB_EMP_LINEA_ANOTACION FOR EACH ROW DECLARE w_cdtpoper_logico varchar2(2); w_cdtpoper_fisica varchar2(2); w_cdclave_valor varchar2(20); w_cdident varchar2(20); w_cdidentdup varchar2(2); w_cdproceso varchar2 (10); w_dsproceso varchar2(60); w_status number; BEGIN - - w_cdproceso := AMEDIC ; w_dsproceso := 'Anotaciones médicas'; IF DELETING THEN w_cdtpoper_logico := 'B'; Página: 24

25 w_cdtpoper_fisica := 'B'; w_cdclave_valor := lpad (to_char (:old.cdnifnro),8,'0') :old.cdnifctrl; w_cdident := lpad (to_char (:old.cdnifnro),8,'0') :old.cdnifctrl; w_cdidentdup := :old.cdnifdup; ELSIF INSERTING THEN w_cdtpoper_logico := 'A'; w_cdtpoper_fisica := 'A'; w_cdclave_valor := lpad (to_char (:new.cdnifnro),8,'0') :new.cdnifctrl; w_cdident := lpad (to_char (:new.cdnifnro),8,'0') :new.cdnifctrl; w_cdidentdup := :new.cdnifdup; ELSIF UPDATING THEN w_cdtpoper_logico := 'M'; w_cdtpoper_fisica := 'M'; w_cdclave_valor := lpad (to_char (:old.cdnifnro),8,'0') :old.cdnifctrl; w_cdident := lpad (to_char (:old.cdnifnro),8,'0') :old.cdnifctrl; w_cdidentdup := :old.cdnifdup; ELSE /* La manipulación es un UPDATE general */ null; END IF; Crear Registro de Log en PIPE. w_status := dba_slab.slab_pack_log.crear_reg_log ( 'SLAB', 'SLAB_EMP_LINEA_ANOTACION', w_cdtpoper_logico, 'I', 'SLAB_EMP_LINEA_ANOTACION', w_cdtpoper_fisica, 'NIF', w_cdclave_valor, w_cdident, w_cdidentdup, w_cdproceso, w_dsproceso, FICHERO DE ANOTACION', 'ICMPRXX', 'select * from...', null, null, null, Página: 25

26 END; / null, null, null, null, CENPROP, CD_AA, CENDIR, CD_BB, Observaciones ); * Los campos son OPCIONALES, si no se informa de ellos se debe indicar el valor NULL Ejemplo 2: CREATE OR REPLACE TRIGGER SLAB_EMP_TRIG_A_DIU AFTER DELETE OR INSERT OR UPDATE of fcexclu OR UPDATE of nmhcl ON SLAB_EMP FOR EACH ROW DECLARE w_cdtpoper_logico varchar2(2); w_cdtpoper_fisica varchar2(2); w_cdclave_valor varchar2(20); w_cdident varchar2(20); w_cdidentdup varchar2(2); w_cdproceso varchar2(10); w_dsproceso varchar2(60); w_status number; BEGIN - - w_dsproceso := 'Modificación de Datos Generales del Empleado'; w_cdproceso := MOD_DGE ; IF DELETING THEN w_cdtpoper_logico := 'B'; w_cdtpoper_fisica := 'B'; w_cdclave_valor := lpad (to_char (:old.cdnifnro),8,'0') :old.cdnifctrl; Página: 26

27 w_cdident := lpad (to_char (:old.cdnifnro),8,'0') :old.cdnifctrl; w_cdidentdup := :old.cdnifdup; ELSIF INSERTING THEN w_cdtpoper_logico := 'A'; w_cdtpoper_fisica := 'A'; w_cdclave_valor := lpad (to_char (:new.cdnifnro),8,'0') :new.cdnifctrl; w_cdident := lpad (to_char (:new.cdnifnro),8,'0') :new.cdnifctrl; w_cdidentdup := :new.cdnifdup; ELSIF UPDATING THEN w_cdtpoper_logico := 'M'; w_cdtpoper_fisica := 'M'; w_cdclave_valor := lpad (to_char (:old.cdnifnro),8,'0') :old.cdnifctrl; w_cdident := lpad (to_char (:old.cdnifnro),8,'0') :old.cdnifctrl; w_cdidentdup := :old.cdnifdup; ELSE null; END IF; Crear Registrar Registro de Log a PIPE. w_status := dba_slab.slab_pack_log.crear_reg_log ( 'SLAB', 'SLAB_EMP', w_cdtpoper_logico, 'I', 'SLAB_EMP', w_cdtpoper_fisica, 'NIF', w_cdclave_valor, w_cdident, w_cdidentdup, w_cdproceso, w_dsproceso FICHERO DE ANOTACION', 'ICMPRXX', 'select * from...', null, null, null, null, Página: 27

28 null, null, null, CENPROP, CD_AA, CENDIR, CD_BB, Observaciones ); END; / * Los campos son OPCIONALES, si no se informa de ellos se debe indicar el valor NULL. 9.4 Anexo IV. En Java Las aplicaciones que accedan a datos de alto nivel de seguridad deberán implementar los mecanismos necesarios para que se registren los distintos accesos de los usuarios. Para el acceso a este modelo de datos se han predefinido una serie de paquetes y triggers que son invocados cuando se realiza alguna operación de INSERT, UPDATE o DELETE en la base de datos de la aplicación. En el caso de consultas de tipo SELECT es necesario llamar directamente a los paquetes preparados para dejar este tipo de trazas. Este tipo de aplicaciones deberán utilizar el protocolo https Fichero de Cofiguración Dado que las aplicaciones web se conectan a base de datos mediante un pool de conexiones no es posible identificar directamente el usuario que se ha conectado a la base de datos en una determinada sesión de base de datos. Para que sea posible esta identificación el framework se encarga de actualizar en una tabla el identificador de la sesión de base de datos y qué usuario de la aplicación está utilizando esta sesión. Para que esto se lleve a cabo es necesario incluir en el fichero de configuración la variable aplicacion.logn3= true Página: 28

29 9.4.2 Objetos requeridos en base de datos para realizar la trazabilidad en éste tipo de aplicaciones Tabla: GAT_CONTROL_SESION [propietario=dba_gat] Relación de sesión única de Oracle a usuario lógico de la aplicación. Create table create table GAT_CONTROL_SESION ( AUDSID VARCHAR2(10) not CD_USUARIO VARCHAR2(12) not null ); Create/Recreate indexes create unique index XPKGAT_CONTROL_SESION on GAT_CONTROL_SESION (AUDSID); Grant/Revoke object privileges grant all on GAT_CONTROL_SESION to PUBLIC with grant option; create public synonym GAT_CONTROL_SESION for GAT_CONTROL_SESION; Procedimiento: SIS_FUNC_CONTROL_SESION [propietario=dba_sis] Procedimiento de registro y consulta de usuario lógico en tabla GAT_CONTROL_SESION a nivel de sesión única de Oracle. create or replace function SIS_FUNC_CONTROL_SESION( wopc in VARCHAR2, wusu in out VARCHAR2 ) return number is wsessionid GAT_CONTROL_SESION.audsid%Type; wcdusuario GAT_CONTROL_SESION.cd_usuario%Type; ERROR EXCEPTION; Parámetros: wopc(entrada)..: Opción, posibles valores: 'A'- Alta/registro en tabla de sesiones. 'B'- Baja en tabla de sesiones. 'C'- Consulta de usuario en tabla de sesiones. wusu(entrada/salida)..: Usuario lógico de aplicación En opc.'a' se rellena el cod.usuario lógico En opc.'c' se devuelve el cod.usuario Página: 29

30 Salida de función: devuelve los siguientes valores. 0 - Salida correcta 1 - Salida erronea BEGIN IF (Upper(wopc) not in ('A','B','C')) or (wopc is null) THEN Raise ERROR; END IF; Obtención del id session único wsessionid := UserEnv('sessionid'); IF ( Upper(wopc) = 'A') THEN IF (wusu is null) THEN Raise ERROR; END IF; Begin insert into GAT_CONTROL_SESION (audsid,cd_usuario) VALUES (wsessionid,upper(wusu)); Exception En caso de que exista se modifica el Registro when Dup_Val_On_Index then update GAT_CONTROL_SESION set cd_usuario = Upper(wusu); End; ELSIF ( Upper(wopc) = 'B') THEN delete GAT_CONTROL_SESION where audsid = wsessionid; ELSE Begin Select cd_usuario into wcdusuario From GAT_CONTROL_SESION where audsid = wsessionid; wusu := wcdusuario; Exception When No_Data_Found then Raise ERROR; End; END IF; Return(0); EXCEPTION WHEN ERROR THEN Return(1); END; Página: 30

31 9.4.3 Habilitar paquete estandar de envío de trazas Dentro de la infraestructura estándar requerida para la trazabilidad en cualquier aplicación se ha de crear un paquete por cada nueva aplicación partiendo del paquete STANDAR_PACK_LOG quedando como XXXX_PACK_LOG (siendo XXXX el código de la aplicación). A TENER EN CUENTA!!!, si el tipo de aplicación es un WEB (JAVA, CGI) (bajo los cuales se realizan conexiones físicas a base de datos con el mismo usuario) se han de descomentar las líneas existentes en la función CREAR_REG_LOG con la etiqueta: INICIO - Programación sólamente para Aplicaciones WEB (JAVA, CGI)!!! (para este tipo de programas se ha de disponer en la b.d. de la siguiente tabla: - GAT_CONTROL_SESION -enlace entre usuario lógico e identificador de sesión Oracle- Y de la siguiente función: - SIS_FUNC_CONTROL_SESION -registro y consulta de la anterior tabla- ) create or replace package body STANDARD_PACK_LOG is - - FUNCION CREAR_REG_LOG - FUNCTION crear_reg_log ( vi_cod_aplicacion IN varchar2, Código de Aplicación vi_dsfich_logico IN varchar2, Nombre del Fichero Lógico de datos vi_cdtpoperacion IN varchar2, Tipo de Operación que se realiza sobre la tabla Lógica vi_cdtpacceso_logico IN varchar2, Tipo de Acceso al fichero lógico vi_dstabla_fisica IN varchar2 default null, Tabla Física accedida vi_cdtoper_fisica IN varchar2 default null, Tipo de Operación que se realiza sobre la Tabla Física vi_cdclave IN varchar2 default null, Clave de Acceso vi_cdclave_valor IN varchar2 default null, Valor Clave de Acceso vi_cdident IN varchar2 default null, Código de Identificación vi_cdidentdup IN varchar2 default null, Duplicado de Identificación vi_cdproceso IN varchar2 default null, Código de Proceso vi_dsproceso IN varchar2 default null, Descripción del proceso vi_dsfich_fisico IN varchar2 default null, Nombre del Fichero Físico de Impresión, descarga,.. vi_dsimpresora IN varchar2 default null, Impresora vi_dssql IN varchar2 default null, Sentencia SQL que se ejecuta vi_dsurl IN varchar2 default null, Dirección URL vi_dsparam_1 IN varchar2 default null, Criterio 1 vi_dsparam_1_valor IN varchar2 default null, Valor 1 vi_dsparam_2 IN varchar2 default null, Criterio 2 vi_dsparam_2_valor IN varchar2 default null, Valor 2 vi_dsparam_3 IN varchar2 default null, Criterio 3 vi_dsparam_3_valor IN varchar2 default null, Valor 3 vi_dsparam_4 IN varchar2 default null, Criterio 4 vi_dsparam_4_valor IN varchar2 default null, Valor 4 vi_dsparam_5 IN varchar2 default null, Criterio 5 vi_dsparam_5_valor IN varchar2 default null, Valor 5 vi_dsparam_6 IN varchar2 default null, Criterio 6 vi_dsparam_6_valor IN varchar2 default null, Valor 6 Página: 31

32 vi_dsparam_7 IN varchar2 default null, Criterio 7 vi_dsparam_7_valor IN varchar2 default null, Valor 7 vi_dsparam_8 IN varchar2 default null, Criterio 8 vi_dsparam_8_valor IN varchar2 default null, Valor 8 vi_dsparam_9 IN varchar2 default null, CENPROP vi_dsparam_9_valor IN varchar2 default null, Código de Centro Directivo, Órgano Judicial, Departamento, etc. al que pertenecen los datos sobre los que se realiza el acceso vi_dsparam_10 IN varchar2 default null, CENDIR vi_dsparam_10_valor IN Departamento, etc., al que pertenece el usuario que realiza el acceso a los datos de Nivel Alto vi_dsoserv IN varchar2 default null ) Observaciones RETURN Number IS w_dbname varchar2(100); w_maquina varchar2(100); w_terminal varchar2(100); w_program varchar2(100); w_reglog varchar2(4000); w_usuario varchar2(100) := USER; status number; BEGIN - Inicializar variables. - w_reglog := null; - Obtener Base de Datos - SELECT VALUE INTO w_dbname FROM sis_nombre_bd; varchar2 default null, Código de Centro Directivo, Órgano Judicial, - Obtener nombre de la máquina de Base de Datos - select rtrim(substr(substr(program, 1, instr(program,'(',1)-1), instr(program,'@',1)+1, 20)) into w_maquina from v$parameter, v$process where name = 'db_name' and pid = 2; Obtener: el TTY (si se accede por Telnet) o el nombre del PC (si se accede desde windows); y el programa utilizado en Oracle Si Audsid=0 ES UN JOB. IF SYS_CONTEXT('USERENV','SESSIONID') = 0 THEN w_terminal := vi_cod_aplicacion '_JOB'; Página: 32

33 w_program := vi_cod_aplicacion '_JOB'; ELSE select decode(ascii(substr(s.machine,length(s.machine),1)),0, substr(s.machine,1,length(s.machine)-1), s.machine), S.PROGRAM into w_terminal, w_program from sis_log_process P, sis_log_session S where P.Addr = S.Paddr and S.Audsid = SYS_CONTEXT('USERENV','SESSIONID'); END IF; INICIO - Programación sólamente para Aplicaciones WEB (JAVA, CGI)!!! Descomentar éstas 4 líneas para estas tecnologías que se apoyan en Pool de Conexiones Mediante la función SIS_FUNC_CONTROL_SESION se permite conocer el usuario lógico conectado a la aplicación a través del SESSION_ID status := sis_func_control_sesion('c',w_usuario); if (status > 0) then return(1); end if; FIN - Programación sólamente para Aplicaciones WEB (JAVA, CGI)!!! - Componer registro de Log. - w_reglog := '^' w_dbname '^~^' bd w_maquina '^~^' máquina de la bd vi_cod_aplicacion '^~^' código aplicación w_usuario '^~^' login usuario to_char (SYSDATE,'YYYY-MM-DD HH24:mi:ss') '^~^' día y hora vi_dsfich_logico '^~^' fichero lógico vi_cdtpoperacion '^~^' tipo operación sobre el fichero lógico vi_cdtpacceso_logico '^~^' tipo acceso al fichero lógico vi_dstabla_fisica '^~^' tabla física vi_cdtoper_fisica '^~^' tipo operación sobre la tabla física vi_cdclave '^~^' clave acceso vi_cdclave_valor '^~^' valor clave vi_cdident '^~^' código identificación vi_cdidentdup '^~^' duplicado identificación w_terminal '^~^' terminal Página: 33

34 .. vi_cdproceso '^~^' proceso vi_dsproceso '^~^' descripción proceso w_program '^~^' programa vi_dsfich_fisico '^~^' Nombre del fichero físico de descarga, vi_dsimpresora '^~^' impresora substr(vi_dssql,1,2000) '^~^' sql substr(vi_dsurl,1,140) '^~^' url vi_dsparam_1 '^~^' parámetros y valores vi_dsparam_1_valor '^~^' vi_dsparam_2 '^~^' vi_dsparam_2_valor '^~^' vi_dsparam_3 '^~^' vi_dsparam_3_valor '^~^' vi_dsparam_4 '^~^' vi_dsparam_4_valor '^~^' vi_dsparam_5 '^~^' vi_dsparam_5_valor '^~^' vi_dsparam_6 '^~^' vi_dsparam_6_valor '^~^' vi_dsparam_7 '^~^' vi_dsparam_7_valor '^~^' vi_dsparam_8 '^~^' vi_dsparam_8_valor '^~^' vi_dsparam_9 '^~^' vi_dsparam_9_valor '^~^' vi_dsparam_10 '^~^' vi_dsparam_10_valor '^~^' vi_dsoserv '^'; observaciones status := enviar_reg_log(w_reglog); RETURN (status); EXCEPTION WHEN OTHERS THEN RETURN (SQLCODE); END Crear_Reg_Log; - - FUNCION ENVIAR_REG_LOG - FUNCTION enviar_reg_log ( command VARCHAR2, timeout NUMBER DEFAULT 10) RETURN NUMBER IS Página: 34

35 status NUMBER; pipe_name VARCHAR2(30); BEGIN DBMS_PIPE.PACK_MESSAGE(command); status := DBMS_PIPE.SEND_MESSAGE('traz_pipe', timeout); IF status <> 0 THEN RAISE_APPLICATION_ERROR(-20010, 'Execute_system: Error while sending. Status = ' status); END IF; RETURN status; END enviar_reg_log; end ; Página: 35

36 9.5 Anexo V. En Documentum Acceso con usuario nominal. Cuando se acceda a Documentum con un usuario nominal, el registro de traza de acceso se delegerá en el módulo de auditoría que suministra el propio producto. Para este fin se habilitarán los mecanismos descritos en los manuales de desarrollo Acceso con usuario no nominal. Cuando se acceda a Documentum con un usuario genérico a través de otra aplicación cliente (normalmente Java), el registro de la traza de acceso se delegará en dicha aplicación. Utilizando los mecanismos existentes en el framework de desarrollo de su tecnología, deberá realizar una llamada explícita a su paquete de traza correspondiente (XXXX_PACK_LOG) por cada operación (SELECT, INSERT, UPDATE, DELETE) solicitada a Documentum (sobre tipos documentales a trazar) Desarrollos Java internos. Cuando el desarrollo del módulo de Documentum disponga de desarrollos Java internos (Java métodos, TBOs) con necesidad de trazar, se operará como se indica a continuación. Si estuviéramos en la situación descrita en el punto 9.1 (auditoría del producto habilitada), no se requiere hacer nada adicional (siempre que todos los tipos documentales a trazar estuvieran ya configurados en Documentum). Si por el contrario, no tenemos auditoría habilitada, el registro de la traza se delegará en la aplicación Java interna. Deberá realizar una llamada explícita al paquete de traza DOCU_PACK_LOG por cada operación (SELECT, INSERT, UPDATE, DELETE) solicitada a Documentum (sobre tipos documentales a trazar) Paquete DOCU_PACK_LOG. Está creado en las instancias de base de datos donde está ejecutándose Documentum. Es el paquete común de traza para todas las aplicaciones con desarrollos Java internos (Java métodos, TBOs). Su código es similar al paquete estandar. La única diferencia es la asignación del usuario de traza (el que ejecuta el programa en el Content Server de Documentum) al valor del parámetro DSPARAM_5_VALOR. Página: 36

Un ejemplo teórico de trigger podría ser éste:

Un ejemplo teórico de trigger podría ser éste: 9. TRIGGERS EN LA BASE DE DATOS Un trigger (disparador sería la traducción técnica) es un bloque PLSQL que se ejecuta implícitamente cuando ocurre un evento y pueden ser de base de datos o de aplicación.

Más detalles

Diseño de bases de datos

Diseño de bases de datos Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla Avda Reina Mercedes sn. 41012 Sevilla TlfFax 954 557 139 E-mail lsi@lsi.us.es Web www.lsi.us.es Diseño

Más detalles

- Bases de Datos - - Diseño Físico - Luis D. García

- Bases de Datos - - Diseño Físico - Luis D. García - Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo

Más detalles

ATLAS MANUAL DE USUARIO SERVICIO DE AUDITORIA

ATLAS MANUAL DE USUARIO SERVICIO DE AUDITORIA ATLAS MANUAL DE USUARIO SERVICIO DE AUDITORIA Versión 1.3 Área de Aplicaciones Especiales y Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Manual de Usuario Servicio

Más detalles

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle: PL/SQL (Procedural Language/Structured Query Language) PL/SQL es el lenguaje de programación que proporciona Oracle para extender el SQL estándar con otro tipo de instrucciones y elementos propios de los

Más detalles

Base de datos relacional

Base de datos relacional Base de datos relacional Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para modelar problemas reales y administrar

Más detalles

Estándar de desarrollo de aplicaciones del Govern de les Illes Balears

Estándar de desarrollo de aplicaciones del Govern de les Illes Balears Estándar de desarrollo de aplicaciones del Govern de les Illes Balears BASE DE DATOS Versión 5.0 Fecha Revisión: 28/05/09 Índice de contenidos INTRODUCCIÓN... 3 NOMENCLATURA DE BASE DE DATOS... 4 2.1.

Más detalles

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL.

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL. 2.6.1.- Concepto de vista. Una vista es una tabla derivada de otras tablas (básicas o virtuales). Una vista se caracteriza porque: Se considera que forma parte del esquema externo. Una vista es una tabla

Más detalles

Los paquetes tienen dos partes: una especificación y un cuerpo que están almacenados por separado en la base de datos.

Los paquetes tienen dos partes: una especificación y un cuerpo que están almacenados por separado en la base de datos. 8. PAQUETES DE BASE DE DATOS Los paquetes nos van a permitir agrupar conceptos PL/SQL como pueden ser tipos, procedimientos y funciones. Por ejemplo: una paquete de Contabilidad podrá contener procedimientos

Más detalles

Ficheros Electrónicos

Ficheros Electrónicos Última actualización: Marzo 11 Versión para Imprimir Ficheros Electrónicos Ver Índice Introducción A continuación detallamos los aspectos funcionales asociados a la gestión de ficheros electrónicos, herramienta

Más detalles

MICROSITIOS. Perfiles

MICROSITIOS. Perfiles MICROSITIOS Perfiles API para el consumo de servicios encargados de la creación, visualización, edición, eliminación y demás operaciones sobre los perfiles de usuarios de Metaportal. METAPORTAL 18/07/2014

Más detalles

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL Índice 1 Introducción... 5 1.1 Perfil de la aplicación... 5 1.2 Requisitos técnicos... 5 2 Manual de usuario... 7 2.1 Instalación del certificado...

Más detalles

Oracle 12c DISEÑO Y PROGRAMACIÓN

Oracle 12c DISEÑO Y PROGRAMACIÓN Oracle 12c Se estudia el servidor de bases de datos empresarial Oracle 12c, centrándose especialmente en el punto de vista de un diseñador o programador de bases de datos, pero explicando también cómo

Más detalles

ModusOne. ModusOne Client. Version: 5.2

ModusOne. ModusOne Client. Version: 5.2 ModusOne ModusOne Client Version: 5.2 Written by: Product Documentation, R&D Date: February 2013 2012 Perceptive Software. All rights reserved ModusOne es una marca comercial de Lexmark International Technology

Más detalles

abacformacio@abacformacio.com 1

abacformacio@abacformacio.com 1 Cu Oracle 10gg Estudia el servidor de bases de datos Oracle 10g desde el punto de vista de un diseñador y programador de bases de datos, prestando atención a los objetos que puede crear, como tablas, consultas

Más detalles

Curso Online de Microsoft

Curso Online de Microsoft Curso Online de Microsoft SQL Server Presentación: Estudia el servidor de bases de datos empresarial Microsoft SQL Server 2005 centrándose especialmente en el punto de vista de un diseñador o programador

Más detalles

SQL PROCEDURAL Triggers y Stored Procedures. Ing. Gustavo A. Correa Reina UNCPBA 2008

SQL PROCEDURAL Triggers y Stored Procedures. Ing. Gustavo A. Correa Reina UNCPBA 2008 Base de Datos I SQL PROCEDURAL Triggers y Stored Procedures Ing. Gustavo A. Correa Reina UNCPBA 2008 SQL Procedural Posibilita el uso de código procedural conjuntamente con sentencias SQL que son almacenadas

Más detalles

GESTIÓN DE LA DOCUMENTACIÓN

GESTIÓN DE LA DOCUMENTACIÓN Página: 1 de 8 Elaborado por: Revidado por: Aprobado por: Comité de calidad Responsable de calidad Director Misión: Controlar los documentos y registros del Sistema de Gestión de Calidad para garantizar

Más detalles

Descarga Automática. Manual de Usuario. Operador del Mercado Ibérico de Energía - Polo Español Alfonso XI, 6 28014 Madrid

Descarga Automática. Manual de Usuario. Operador del Mercado Ibérico de Energía - Polo Español Alfonso XI, 6 28014 Madrid Descarga Automática Manual de Usuario Operador del Mercado Ibérico de Energía - Polo Español Alfonso XI, 6 28014 Madrid Versión 5.2 Fecha: 2008-10-15 Ref : MU_DescargaAutomática.doc ÍNDICE 1 INTRODUCCIÓN...

Más detalles

Proyectos de Innovación Docente

Proyectos de Innovación Docente Proyectos de Innovación Docente Manual de Usuario Vicerrectorado de Docencia y Profesorado Contenido INTRODUCCIÓN... 3 DATOS PERSONALES... 6 Modificar email... 6 Modificar contraseña... 7 GESTIÓN PROYECTOS...

Más detalles

Microsoft SQL Server 2005

Microsoft SQL Server 2005 Microsoft SQL Server 2005 Módulo 1: Diseño y programación Estudia el servidor de bases de datos SQL Server 2005 desde el punto de vista de un diseñador y programador de bases de datos, prestando atención

Más detalles

El inventario preciso de todos los recursos técnicos. Todas sus características serán almacenados en una base de datos.

El inventario preciso de todos los recursos técnicos. Todas sus características serán almacenados en una base de datos. 1 QUÉ ES GLIP? GLPI es una herramienta de gestión de Recursos y Activos TI de código abierto con interfaz de administración. Se puede utilizar para construir una base de datos con un inventario para la

Más detalles

GASTOS DE PERSONAL Libro de Operatividad. Solución WEB

GASTOS DE PERSONAL Libro de Operatividad. Solución WEB GASTOS DE PERSONAL Libro de Operatividad Solución WEB INDICE Pág. GENERALIDADES 3 ENTORNO OPERATIVO 4 PERFILES DE USUARIO 5 ENTRADA AL SISTEMA 5 MENÚS 6 HOJA DE LIQUIDACIÓN DE GASTOS 7 INTRODUCCIÓN DE

Más detalles

Inside. Gestión de Expedientes y Documentos Electrónicos

Inside. Gestión de Expedientes y Documentos Electrónicos Inside Gestión de Expedientes y Documentos Electrónicos Documento de Integración Sistemas Desarrollo Versión 1.0 Fecha de revisión 25/02/2013 Realizado por Sistemas Desarrollo Inside v_1.0 / 1 ÍNDICE 1

Más detalles

Estándares para la construcción de Sentencias SQL

Estándares para la construcción de Sentencias SQL Estándares para la construcción de Subgerencia Arquitectura & Innovación Grupo MDC Versión 1.0 Noviembre 2008 CONTROL DE LAS MODIFICACIONES Versión Descripción Autor Fecha Revisado por 1.0 Este documento

Más detalles

Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT

Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT Proyecto de Fin de Carrera Universidad Politécnica de Valencia Escuela Técnica Superior de Informática Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT Realizado por: Dirigido

Más detalles

Integridad y Seguridad en los sistemas de Bases de Datos. Javier Escobar Luis Ramirez Omar Asprino

Integridad y Seguridad en los sistemas de Bases de Datos. Javier Escobar Luis Ramirez Omar Asprino Integridad y Seguridad en los sistemas de Bases de Datos Javier Escobar Luis Ramirez Omar Asprino Contenido 1. Restricciones de Integridad 1. Claves Primarias 2. Restricciones de los Dominios 3. Integridad

Más detalles

P/. Factura Electrónica D/. Manual de Usuario Proveedores

P/. Factura Electrónica D/. Manual de Usuario Proveedores Control documental Versión del Fecha Autor Modificaciones/Comentarios documento 1.0 10/02/2011 Diputación de Teruel Versión inicial del documento 1.1 05/04/2011 Diputación de Teruel Revisado estilo 1.2

Más detalles

PROGRAMA INFORMÁTICO PARA LA CUMPLIMENTACIÓN DE RECETAS EN FORMATO XML VERSIÓN: 1.0

PROGRAMA INFORMÁTICO PARA LA CUMPLIMENTACIÓN DE RECETAS EN FORMATO XML VERSIÓN: 1.0 PROGRAMA INFORMÁTICO PARA LA CUMPLIMENTACIÓN DE RECETAS EN FORMATO XML VERSIÓN: 1.0 MARZO 2013 1 Índice de contenido 1. Introducción......3 2. Instalación...5 3. Menú Opciones...6 3.1. Abrir directorio

Más detalles

Servicios de Formación:

Servicios de Formación: Servicios de Formación: GEDILEC Y BBDD Proceso de Realización Inventario Pintor Tapiró, 22 08028 BARCELONA Telf.: 93 4400405 Fax: 93 4401104 Es habitual que en las empresas se realice a final de año un

Más detalles

Procedimientos, Funciones, Trigger y Cursores en ORACLE

Procedimientos, Funciones, Trigger y Cursores en ORACLE Procedimientos, Funciones, Trigger y Cursores en ORACLE PROCEDIMIENTOS ALMACENADOS Un procedimiento almacenado es un conjunto de instrucciones en PL/SQL, que pueden ser llamados usando el nombre que se

Más detalles

CONSULTAS BASICAS EN SQL SERVER

CONSULTAS BASICAS EN SQL SERVER CONSULTAS BASICAS EN SQL SERVER CONSULTAS DE SELECCION Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las bases de datos, esta información es devuelta

Más detalles

Manual para Empresas Prácticas Curriculares

Manual para Empresas Prácticas Curriculares Manual para Empresas Prácticas Curriculares ÍNDICE 1. Introducción... 3. Registro y Acceso... 3.1. Registro Guiado... 4.1. Registro Guiado Datos Básicos... 5.1. Registro Guiado Contactos... 5 3. Creación

Más detalles

Región de Murcia Consejería de Educación, Ciencia e Investigación. Manual Usuario FCT

Región de Murcia Consejería de Educación, Ciencia e Investigación. Manual Usuario FCT . Manual Usuario FCT Murcia, 9 de Julio de 2007 Manual de Usuario FCT v1.0 pág. 2 de 73 ÍNDICE Manual Usuario FCT...1 1. Tipos de usuarios... 4 2. Modelo de navegación... 5 3. Servicios... 6 3.1. Convenios...

Más detalles

MANUAL DE USUARIO PARA WEB DE SINIESTROS DE LIBERTY

MANUAL DE USUARIO PARA WEB DE SINIESTROS DE LIBERTY Manual de Usuario WEB siniestros para mediadores MANUAL DE USUARIO PARA WEB DE SINIESTROS DE LIBERTY Manual_Guia_Web_Siniestros v1.1 Mayo 2007 1 de 1 Manual de Usuario WEB siniestros para mediadores INDICE:

Más detalles

Primeros pasos para una configuración rápida de la tienda.

Primeros pasos para una configuración rápida de la tienda. Manual de usuarios Primeros pasos para una configuración rápida de la tienda. Cómo obtener, en pocos pasos, una tienda lista para poder vender: le mostramos lo rápido y sencillo que resulta crear una tienda

Más detalles

Departamento de Informática Tributaria Subdirección General de Aplicaciones de Aduanas e II.EE. C/ Santa María Magdalena 16, 28016 Madrid

Departamento de Informática Tributaria Subdirección General de Aplicaciones de Aduanas e II.EE. C/ Santa María Magdalena 16, 28016 Madrid C/ Santa María Magdalena 16, 28016 Madrid Bandeja de Entrada Autor: S.G.A.A. Fecha: 24/03/2011 Versión: 0.4 Revisiones Edi. Rev. Fecha Descripción A(*) Páginas 0 1 02/02/2007 Versión inicial A Todas (*)

Más detalles

INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT

INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT Versión 1. Mayo de 2001 Luis Vinuesa Martínez. Departamento de Informática Universidad de Oviedo vinuesa@correo.uniovi.es www.di.uniovi.es/~vinuesa ÍNDICE. Introducción...

Más detalles

BP/PRV Manual PRAKTIGES. UPV/EHU Prácticas voluntarias Fecha: 1/06/2015. Empresa

BP/PRV Manual PRAKTIGES. UPV/EHU Prácticas voluntarias Fecha: 1/06/2015. Empresa BP/PRV Manual PRAKTIGES UPV/EHU Prácticas voluntarias Fecha: 1/06/2015 Empresa 2 Índice Página REQUISITOS DE ACCESO... 3 INTRODUCCIÓN... 4 CURSOS ACADÉMICOS CENTROS... 10 DATOS CENTRO... 11 NORMATIVA DE

Más detalles

ÍNDICE. Introducción 3. Listado de Códigos de Artículos 5. Anexo A. Partidas y Lotes 7. Anexo B. El Plan de Necesidades 9

ÍNDICE. Introducción 3. Listado de Códigos de Artículos 5. Anexo A. Partidas y Lotes 7. Anexo B. El Plan de Necesidades 9 LICITACIÓN LABORATORIOS ICS 2016 VERSIÓN PROVEEDORES 3.0 MS ACCESS 2010 ÍNDICE Introducción 3 Listado de Códigos de Artículos 5 Anexo A. Partidas y Lotes 7 Anexo B. El Plan de Necesidades 9 Listado de

Más detalles

Administración Básica de Oracle9i.

Administración Básica de Oracle9i. PRACTICAS. TRABAJOS (JOBS). 1. Identificar los procesos de sistema operativo que corresponden al proceso gestor de colas corriendo en la instancia. u01apporacleadmincurso01pfile (CURSO01)> ps -ef grep

Más detalles

Tema 1. Bases de datos activas

Tema 1. Bases de datos activas 18 de marzo de 2002 1 1. Introducción 2. El modelo evento-condición-acción Definición y uso de disparadores en Oracle Características de las reglas activas 3. Propiedades de las reglas activas 4. Aplicaciones

Más detalles

Manual de BABEL EN EUROWIN

Manual de BABEL EN EUROWIN Manual de BABEL EN EUROWIN Documento: me_babel Edición: 03 Nombre: Manual de Babel en Eurowin Fecha: 02-05-2012 Tabla de contenidos 1. Introducción... 4 1.1. Compatibilidades... 4 1.2. Requisitos... 5

Más detalles

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000 Creación de la base de Datos Pulsamos F5 para Actualizar, y una vez posicionados en nuestra base de datos,se crean los scripts que seran soportados por el

Más detalles

Programación SQL. Lucio Salgado Diciembre 2008

Programación SQL. Lucio Salgado Diciembre 2008 Programación SQL Lucio Salgado Diciembre 2008 1 Gestionadores de Bases de Datos (DBMS) Es el software que permite administrar bases de datos, a través de ella el usuario puede usar los datos con mucha

Más detalles

Guía de migración a firma HMAC SHA256 Conexión por Redirección

Guía de migración a firma HMAC SHA256 Conexión por Redirección Guía de migración a firma HMAC SHA256 Conexión por Versión: 1.7 Versión: 1.7 i Autorizaciones y control de versión Versión Fecha Afecta Breve descripción del cambio 1.0 06/10/2015 Versión inicial del documento

Más detalles

INSTALACIÓN - SERVER MANUAL TÉCNICO INSTALACIÓN SERVER MANUAL TÉCNICO 1

INSTALACIÓN - SERVER MANUAL TÉCNICO INSTALACIÓN SERVER MANUAL TÉCNICO 1 INSTALACIÓN - SERVER MANUAL TÉCNICO INSTALACIÓN SERVER MANUAL TÉCNICO 1 Contenido INSTALADOR AHORA EXPRESS... 3 Introducción... 3 Instalar Paquete MSI... 3 Instalación Típica... 4 Instalación Personalizada...

Más detalles

201511 - Solicitud de incorporación de actividades de formación continua al programa FOCO

201511 - Solicitud de incorporación de actividades de formación continua al programa FOCO OV/FOCO. Manual de Usuario. Versión 3 (16/10/2014) 201511 - Solicitud de incorporación de actividades de formación continua al programa FOCO Contenido OV/FOCO. Manual de Usuario.... 1 1 Aplicaciones y

Más detalles

1 El plan de contingencia. Seguimiento

1 El plan de contingencia. Seguimiento 1 El plan de contingencia. Seguimiento 1.1 Objetivos generales Los objetivos de este módulo son los siguientes: Conocer los motivos de tener actualizado un plan de contingencia. Comprender que objetivos

Más detalles

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los

Más detalles

PROCESO GESTIÓN ADMINISTRATIVA INSTRUCTIVO TÉCNICO ALISTAMIENTO SERVIDORES GESTIÓN DOCUMENTAL

PROCESO GESTIÓN ADMINISTRATIVA INSTRUCTIVO TÉCNICO ALISTAMIENTO SERVIDORES GESTIÓN DOCUMENTAL Versión 1.0 Página 1 de 26 Para la instalación de la aplicación SIGA (Sistema de Información y Gestión de Archivos) se debe tener en cuenta los siguientes requisitos en el servidor asignado para esta aplicación

Más detalles

Esta guía de primeros pasos supone que ya está establecida esta conexión con FactuSOL, y el programa tiene acceso a los datos.

Esta guía de primeros pasos supone que ya está establecida esta conexión con FactuSOL, y el programa tiene acceso a los datos. PRIMEROS PASOS EN TPVSOL Introducción Este documento pretende ayudarte en los primeros momentos de uso del programa, por lo que, si lo estás utilizando por primera vez, te aconsejamos que le dediques unos

Más detalles

Oracle básico (IV): Programación en PL/SQL

Oracle básico (IV): Programación en PL/SQL Oracle básico (IV): Programación en PL/SQL El lenguaje de programación de Oracle, llamado PL/SQL, es un lenguaje portable, procedural y de transacción muy potente y de fácil manejo, con las siguientes

Más detalles

INVENTARIO INTRODUCCIÓN RESUMEN DE PASOS

INVENTARIO INTRODUCCIÓN RESUMEN DE PASOS INVENTARIO INTRODUCCIÓN Es habitual que en las empresas realicen a final de año un Inventario. Con este proceso se pretende controlar el nivel de stock existente, para iniciar el nuevo ejercicio, conociendo

Más detalles

La Dirección Comercial

La Dirección Comercial La Dirección Comercial 1. La función comercial en la empresa: a) Análisis del sistema comercial: b) Diseño de estrategias: c) Dirección, organización y control de la actividad comercial. 2. El sistema

Más detalles

BASE DE DATOS RELACIONALES

BASE DE DATOS RELACIONALES BASE DE DATOS RELACIONALES Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos ya

Más detalles

SISTEMA ETAP en línea Estándares Tecnológicos para la Administración Pública

SISTEMA ETAP en línea Estándares Tecnológicos para la Administración Pública JEFATURA DE GABINETE DE MINISTROS SISTEMA ETAP en línea Estándares Tecnológicos para la Administración Pública Manual para los Organismos Índice Índice... 2 Descripción... 3 Cómo solicitar la intervención

Más detalles

Usuarios y Permisos. Capítulo 12

Usuarios y Permisos. Capítulo 12 Capítulo 12 Usuarios y Permisos La gente simplemente intenta utilizar el sitio web Joomla! que has creado - ya sea de forma activa o pasiva. Cuanto mejor sea la experiencia que tenga al hacerlo, mejor

Más detalles

Departamento de Informática Tributaria Subdirección General de Aplicaciones de Aduanas e II.EE. C/ Santa María Magdalena 16, 28016 Madrid.

Departamento de Informática Tributaria Subdirección General de Aplicaciones de Aduanas e II.EE. C/ Santa María Magdalena 16, 28016 Madrid. C/ Santa María Magdalena 16, 28016 Madrid Calculadora Autor: S.G.A.A. Fecha: 24/06/2010 Versión: 0.4 Revisiones Edi. Rev. Fecha Descripción A(*) Páginas 0 1 02/02/2007 Versión inicial A Todas (*) Acción:

Más detalles

CAPÍTULO 3 Servidor de Modelo de Usuario

CAPÍTULO 3 Servidor de Modelo de Usuario CAPÍTULO 3 Servidor de Modelo de Usuario Para el desarrollo del modelado del estudiante se utilizó el servidor de modelo de usuario desarrollado en la Universidad de las Américas Puebla por Rosa G. Paredes

Más detalles

Redes y Consultoría al Comercio Exterior. Manual Técnico

Redes y Consultoría al Comercio Exterior. Manual Técnico Redes y Consultoría al Comercio Exterior Manual Técnico Este manual está dirigido a Implementadores y desarrolladores del SIRWebAccess, indica los requisitos, particularidades de desarrollo e implementación

Más detalles

KERNEL GESTIÓN v5.2 2

KERNEL GESTIÓN v5.2 2 KERNEL GESTIÓN KERNEL informática y comunicaciones, S.A. Avda. Argentina, 8 07011 Palma de Mallorca Tlf. 971 454 111 Fax 971 456 151 kernel@kernelicsa.com 2 INTRODUCCIÓN KERNEL GESTIÓN nos permite controlar

Más detalles

Tema 8: Gestión de la Configuración

Tema 8: Gestión de la Configuración Proyectos Informáticos Tema 8: Gestión de la Configuración Contenidos Gestión de la configuración: identificación, versionado, control de los elementos de configuración y líneas base de un proyecto. Gestión

Más detalles

MANUAL DE INSTRUCCIONES PARA UTILIZAR LA APLICACIÓN DE SOLICITUD DE SUBVENCIONES POR COSTES DE EMISIONES INDIRECTAS DE GASES DE EFECTO INVERNADERO

MANUAL DE INSTRUCCIONES PARA UTILIZAR LA APLICACIÓN DE SOLICITUD DE SUBVENCIONES POR COSTES DE EMISIONES INDIRECTAS DE GASES DE EFECTO INVERNADERO MANUAL DE INSTRUCCIONES PARA UTILIZAR LA APLICACIÓN DE SOLICITUD DE SUBVENCIONES POR COSTES DE EMISIONES INDIRECTAS DE GASES DE EFECTO INVERNADERO Mayo 2015 (v1.0.1.0) 1 1. Introducción... 3 2. Datos de

Más detalles

ALMACEN 1. En el ejemplo se muestra al proveedor 1, que realiza la fase 40. Automáticamente se creó el almacén P1.

ALMACEN 1. En el ejemplo se muestra al proveedor 1, que realiza la fase 40. Automáticamente se creó el almacén P1. ALMACEN 1 En DaVinciTEXTIL, le permite controlar las existencias o stock tanto de artículos acabados como de los materiales. En este manual se detallan las nociones básicas que debe aprender, posteriormente

Más detalles

NOTIFICACIÓN DE MOVIMIENTOS DE ESTUPEFACIENTES POR PARTE DE LOS LABORATORIOS FARMACÉUTICOS Y ALMACENES MAYORISTAS DE DISTRIBUCIÓN

NOTIFICACIÓN DE MOVIMIENTOS DE ESTUPEFACIENTES POR PARTE DE LOS LABORATORIOS FARMACÉUTICOS Y ALMACENES MAYORISTAS DE DISTRIBUCIÓN NOTIFICACIÓN DE MOVIMIENTOS DE ESTUPEFACIENTES POR PARTE DE LOS LABORATORIOS FARMACÉUTICOS Y ALMACENES MAYORISTAS DE DISTRIBUCIÓN GUÍA PARA LA PRESENTACIÓN DE NOTIFICACIONES Versión: 27/06/2012-1 ÍNDICE:

Más detalles

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES EL LENGUAJE SQL. INSTRUCCIONES DE DEFINICIÓN DE. INSTRUCCIONES DE INSERCIÓN, MODIFICACIÓN Y BORRADO.. CREACIÓN Y UTILIZACIÓN DE VISTAS... PROCEDIMIENTOS. EL LENGUAJE SQL 1 EL LENGUAJE SQL 2 SQL ES UN LENGUAJE

Más detalles

Gestión de la Configuración

Gestión de la Configuración Gestión de la ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 1 ESTUDIO DE VIABILIDAD DEL SISTEMA... 2 ACTIVIDAD EVS-GC 1: DEFINICIÓN DE LOS REQUISITOS DE GESTIÓN DE CONFIGURACIÓN... 2 Tarea EVS-GC 1.1: Definición de

Más detalles

Estimado usuario. Tabla de Contenidos

Estimado usuario. Tabla de Contenidos Estimado usuario. El motivo del presente correo electrónico es mantenerle informado de las mejoras y cambios realizados en el software Orathor (Athor/Olimpo) en su versión 5.7.041 la cual ha sido recientemente

Más detalles

Acceso a la aplicación de solicitud de subvenciones (Planes de Formación 2014)

Acceso a la aplicación de solicitud de subvenciones (Planes de Formación 2014) Acceso a la aplicación de solicitud de subvenciones (Planes de Formación 2014) Pantalla general de acceso Desde ella se accede a las diferentes convocatorias para poder completar y enviar las solicitudes.

Más detalles

Conceptos Avanzados de Bases de datos

Conceptos Avanzados de Bases de datos Página 1 Conceptos Avanzados de Bases de datos (1) Introducción a las Bases de Datos (2) Lenguaje Estándar de Consultas SQL Definición formal SQL Página 2 Es un conjunto exhaustivo (en su modelización

Más detalles

TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS

TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS 1 Introducción... 3 2 Despliegue de la aplicación de ejemplo... 3 2.1 Requisitos previos... 3 2.2 Despliegue de la aplicación... 3 3 Prueba

Más detalles

SIELOCAL. Sistema de Información Económico Local SISTEMA DE GESTION DE MULTAS

SIELOCAL. Sistema de Información Económico Local SISTEMA DE GESTION DE MULTAS SIELOCAL Sistema de Información Económico Local SISTEMA DE GESTION DE MULTAS 1 FICHA DE PRODUCTO MODULO CODIGO SISTEMA DE GESTION DE MULTAS WinMULTAS WinMULTAS es un programa informático adaptado a la

Más detalles

GE Power Management. 6S``O[WS\bORS1]\TWUc`OQWÕ\g. GE-FILES 7\ab`cQQW]\Sa 539$ &

GE Power Management. 6S``O[WS\bORS1]\TWUc`OQWÕ\g. GE-FILES 7\ab`cQQW]\Sa 539$ & ')) GE Power Management 6S``O[WS\bORS1]\TWUc`OQWÕ\g /\ãzwawars@suwab`]arszawabs[o GE-FILES 7\ab`cQQW]\Sa 539$ & *(Ã3RZHUÃ0DQDJHPHQW +D\DOJRTXHQRHQFXHQWUD" $OJRQRHVWiVXILFLHQWHPHQWHFODUR" 6,Ã 7,(1(Ã $/*Ô1Ã

Más detalles

PRIMEROS PASOS EN NOMINASOL. Introducción. Primeros pasos. 1. Eche un vistazo al entorno ( Revisado) NominaSOL Primeros Pasos

PRIMEROS PASOS EN NOMINASOL. Introducción. Primeros pasos. 1. Eche un vistazo al entorno ( Revisado) NominaSOL Primeros Pasos PRIMEROS PASOS EN NOMINASOL Introducción Este documento pretende ayudarle en los primeros momentos de uso del programa, por lo que, si lo está utilizando por primera vez, le aconsejamos que le dedique

Más detalles

Listados y Etiquetas personalizados de PrefGest WhitePaper Julio 2008

Listados y Etiquetas personalizados de PrefGest WhitePaper Julio 2008 Listados y Etiquetas personalizados de PrefGest WhitePaper Julio 2008 Contenidos 1. Propósito 3 2. Introducción 4 3. Listados personalizados 5 3.1. Ejemplos prácticos 7 3.2. Consideraciones adicionales

Más detalles

QUÉ ES UNA BASE DE DATOS Y CUÁLES SON LOS PRINCIPALES TIPOS? EJEMPLOS: MYSQL, SQLSERVER, ORACLE, POSTGRESQL, INFORMIX (DV00204A)

QUÉ ES UNA BASE DE DATOS Y CUÁLES SON LOS PRINCIPALES TIPOS? EJEMPLOS: MYSQL, SQLSERVER, ORACLE, POSTGRESQL, INFORMIX (DV00204A) APRENDERAPROGRAMAR.COM QUÉ ES UNA BASE DE DATOS Y CUÁLES SON LOS PRINCIPALES TIPOS? EJEMPLOS: MYSQL, SQLSERVER, ORACLE, POSTGRESQL, INFORMIX (DV00204A) Sección: Divulgación Categoría: Lenguajes y entornos

Más detalles

CFDi Client Manual de Usuario

CFDi Client Manual de Usuario CFDi Client Manual de Usuario Título del documento: CFDi client Nombre del fichero: ES CFDiClient Manual de Usuario.odt Versión: Estado: VIGENTE Fecha: 28/02/2011 Autor: Oscar Albert Arcas Revisión, Aprobación

Más detalles

PRÁCTICA III. DISPARADORES EN SQL (II)

PRÁCTICA III. DISPARADORES EN SQL (II) PRÁCTICA III. DISPARADORES EN SQL (II) MODELOS AVANZADOS DE BASES DE DATOS CURSO 2000/2001 Objetivo Conocer mejor los disparadores en SQL. Se verá uno de los principales inconvenientes que se presentan

Más detalles

FRAMEWORK 2 Creación de Servicios Web

FRAMEWORK 2 Creación de Servicios Web Creación de Versión 1.1 Área de Aplicaciones Especiales y Arquitectura de Software Página 1 de 21 Hoja de Control Título Documento Referencia Responsable de Creación de Área de Aplicaciones Especiales

Más detalles

ATLAS MANUAL DE USUARIO ARBOL ACCESIBLE

ATLAS MANUAL DE USUARIO ARBOL ACCESIBLE ATLAS MANUAL DE USUARIO ARBOL ACCESIBLE Versión 1.3 Área de Aplicaciones Especiales y Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Manual de Usuario del NORMATIVA

Más detalles

Departamento de Desarrollo Tecnológico. Sistema Administración de Compras y Control Financiero Descripción Código VB

Departamento de Desarrollo Tecnológico. Sistema Administración de Compras y Control Financiero Descripción Código VB Departamento de Desarrollo Tecnológico Sistema Administración de Compras y Control Financiero Descripción Código VB Versión: 1.00 Junio, 2006 TABLA DE CONTENIDOS 1. GENERALIDADES 2 1.1 OBJETO DE CONEXIÓN

Más detalles

**NOTA** las partes tachadas todavía no están escritas, se ira actualizando poco a poco el documento

**NOTA** las partes tachadas todavía no están escritas, se ira actualizando poco a poco el documento Simple tutorial we riseup Pequeña introducción a We Riseup #Qué es we.riseup o Crabgrass? #Como esta estructurado We.riseup? Lo Esencial Unirse a un grupo Metodo 1 Metodo 2 Crear contenido #1 ) Crear la

Más detalles

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

Más detalles

APLICACIONES WEB GOOGLE ANAYLITICS

APLICACIONES WEB GOOGLE ANAYLITICS APLICACIONES WEB GOOGLE ANAYLITICS Elena Berti Rebecca Thompson 2º DAW ÍNDICE Qué es una Aplicación Web Consideraciones técnicas Estructura de las Aplicaciones Web Ventajas Inconvenientes Diferencia entre

Más detalles

Manual de Uso Web profesional

Manual de Uso Web profesional Manual de Uso Web profesional Versión 5 Junio 2015 ÍNDICE 0 Introducción... 3 1 Página principal de Mi área de trabajo... 4 2 Solicitudes... 5 3 Aportaciones... 13 4 Trabajos... 17 5 Los documentos a firmar...

Más detalles

Curso de PHP con MySQL Gratis

Curso de PHP con MySQL Gratis Curso de PHP con MySQL Gratis Introducción Este mini curso o mini tutorial de PHP le ayudará a realizar cualquier sistema para que pueda insertar uno o varios registros a una base de datos con MySQL, este

Más detalles

GUÍA DE USO PARA LOS CENTROS ESCOLARES GESTIÓN DE CANDIDATOS Y MATRÍCULA A LAS PRUEBAS DE ACCESO A GRADO CURSO 2015/16

GUÍA DE USO PARA LOS CENTROS ESCOLARES GESTIÓN DE CANDIDATOS Y MATRÍCULA A LAS PRUEBAS DE ACCESO A GRADO CURSO 2015/16 GUÍA DE USO PARA LOS CENTROS ESCOLARES GESTIÓN DE CANDIDATOS Y MATRÍCULA A LAS PRUEBAS DE ACCESO A GRADO CURSO 2015/16 ÍNDICE DE CONTENIDOS 1. INTRODUCCIÓN... Pág. 3 2. ALUMNOS CANDIDATOS A LAS PRUEBAS

Más detalles

Manual del Profesor Campus Virtual UNIVO

Manual del Profesor Campus Virtual UNIVO Manual del Profesor Campus Virtual UNIVO Versión 2.0 Universidad de Oriente UNIVO Dirección de Educación a Distancia INDICE 1. Campus Virtual. 03 1.1 Accesos al Curso 04 1.2 Interfaz del Curso...06 1.3

Más detalles

Bases de Datos. Marta Elena Zorrilla Pantaleón Rafael Duque Medina DPTO. DE MATEMÁTICAS, ESTADÍSTICA Y COMPUTACIÓN

Bases de Datos. Marta Elena Zorrilla Pantaleón Rafael Duque Medina DPTO. DE MATEMÁTICAS, ESTADÍSTICA Y COMPUTACIÓN Bases de Datos Tema 05. Proto-po de una aplicación de base de datos Marta Elena Zorrilla Pantaleón Rafael Duque Medina DPTO. DE MATEMÁTICAS, ESTADÍSTICA Y COMPUTACIÓN Este tema se publica bajo Licencia:

Más detalles

Centro de Capacitación en Informática

Centro de Capacitación en Informática Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.

Más detalles

GENERACIÓN DE TRANSFERENCIAS

GENERACIÓN DE TRANSFERENCIAS GENERACIÓN DE TRANSFERENCIAS 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de transferencias permite generar fácilmente órdenes para que la Caja efectúe transferencias, creando una base

Más detalles

Bases de datos relacionales y el modelo entidad-relación

Bases de datos relacionales y el modelo entidad-relación Bases de datos relacionales y el modelo entidad-relación Qué es una base de datos relacional? El sistema gestor de bases de datos El modelo entidad-relación entidad, atributos y elementos (tablas, columnas

Más detalles

2. Almacén. 2.1 Paso a Histórico a Fecha. 2.2 Mantenimiento de Productos Ocultar datos

2. Almacén. 2.1 Paso a Histórico a Fecha. 2.2 Mantenimiento de Productos Ocultar datos 2. Almacén 2.1 Paso a Histórico a Fecha Nuevo proceso de paso a Histórico de Movimientos de Almacén y de Ubicaciones a una fecha y generación de movimiento de Inicialización con el resultado resumido del

Más detalles

Complejo Deportivo UCA. República Saharaui s/n 11510 Puerto Real (Cádiz) Tel.956016270.Fax.956016275 www.uca.es/deportes e-mail: deport@uca.

Complejo Deportivo UCA. República Saharaui s/n 11510 Puerto Real (Cádiz) Tel.956016270.Fax.956016275 www.uca.es/deportes e-mail: deport@uca. La dificultad de los usuarios, tanto de la comunidad universitaria como externos, a la hora de desplazarse a las oficinas del Área para llevar a cabo las distintas gestiones, ha ido obligando al (ADE)

Más detalles

El Lenguaje PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL. Estructura del código PL/SQL.

El Lenguaje PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL. Estructura del código PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL Estructura del código PL/SQL. Bloques: El Lenguaje PL/SQL sentencias PL/SQL Los ficheros terminan con el caracter

Más detalles

Notarnet S.L. Manual Instalación

Notarnet S.L. Manual Instalación Notarnet S.L. Manual Instalación Este documento contiene información necesaria para: la solicitud de licencia de DigiFactIn 2.0 la descarga e instalación de requisitos previos a la instalación de DigiFactIn

Más detalles

OBTENER DATOS EXTERNOS

OBTENER DATOS EXTERNOS La herramienta Obtener datos externos nos va a permitir llevar a Excel datos que proceden de otras fuentes de datos, como archivos de texto o bases de datos, para su posterior tratamiento y análisis con

Más detalles

Novedades incluidas en Discovery 4.50

Novedades incluidas en Discovery 4.50 Novedades incluidas en Discovery 4.50 Nuevo comprobante: Cotizaciones en ventas Se incorpora el registro de cotizaciones al sistema, ya sea en forma manual o mediante importación desde archivos de texto.

Más detalles

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 )

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 ) Definiciones Transacciones ( L33 ) CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) Transacciones En Microsoft ( L33 ) MANUAL (REQUIERE PROGRAMACION) AUTOMATICO (COM+ O DTM) DTM (DISTRIBUTED TRANSACTION

Más detalles