Registro de acceso a datos de nivel alto

Anuncio
R E G I S T R O D E A C C E S O A D AT O S D E N I V E L A LT O
El Reglamento de medidas de seguridad de los ficheros automatizados que contengan datos de
carácter personal, aprobado por Real Decreto 994/1999 de 11 de junio y publicado en el BOE de 25
de junio de 1999 exige en su CAPITULO IV (Medidades de nivel alto), Articulo 24 el registro de
accesos a datos clasificados como de nivel alto.
El modulo de RRHH de R/3 para España almacena una serie de datos de nivel alto como pueden
ser el grado de minusvalía del empleado, por lo que es necesario implantar un mecanismo de registro
de acceso a estos datos que cumpla con el artículo 24 del citado reglamento:
•
"De cada acceso se guardarán, como mínimo, la identificación del usuario, la fecha y hora en
que se realizó el acceso, el fichero accedido, el tipo de acceso y si ha sido autorizado o
denegado.
•
En el caso de que el acceso haya sido autorizado, será preciso guardar la información que
permita identificar el registro accedido.
•
Los mecanismos que permiten el registro de los datos detallados en los párrafos anteriores
estarán bajo el control directo del responsable de seguridad competente sin que se deba
permitir, en ningún caso, la desactivación de los mismos.
•
•
El período mínimo de conservación de los datos registrados será de dos años.
El responsable de seguridad competente se encargará de revisar periódicamente la
información de control registrada y elaborará un informe de las revisiones realizadas y los
problemas detectados al menos una vez al mes."
El plazo de implantación de las medidas es de 2 años a partir de la entrada en vigor del citado
reglamento para los datos de nivel alto, es decir que este plazo caduca el 25 de junio de 2001.
SAP entrega la funcionalidad de acceso a datos protegidos a través del HR SP ES18.1. Se ruega
consultar la nota 115907 en la que se indica la fecha de disponibilidad de este HR SP en concreto.
Actualmente SAP considera que los siguientes datos almacenados en el sistema tienen carácter
de nivel alto, aunque siempre exista cierto márgen de interpretación. En la descripción de la solución
se indica como quitar/agregar campos al sistema de registro mediante parametrización:
www.cuviv.com
Datos de nivel alto almacenados en infotipos
P0004-SBPRO: Grado de minusvalía del empleado en infotipo 0004
P0057-UFUNC: Sindicato al que está afiliado el empleado
P0062-FAMNU: Grado de minusvalía del empleado en infotipo 0062
Q0021-MINSV: Grado de minusvalía de un familiar del empleado en infotipo 0021
Q0061-IDSEG: Clave de contrato en infotipo 0061. Este dato porta indirectamente información
acerca de la minusvalía de un empleado si tiene asignada una clave de contrato específica para
minusválidos
Q0062-NDM33: Grado de minusvalía de un familiar en infotipo 0062, visible al enseñar la pantalla
con el desglose de familiares relevantes para IRPF.
Q0062-NDM65: idem Q0062-NDM33.
Q0480-IDSEG: Clave de contrato en infotipo 0016 a partir de la versión 4.5 por la misma razón
enunciada para Q0061-IDSEG
P2001-AWART: Tipo de absentismo del infotipo 2001, se pueden deducir datos relacionados con
la salud del empleado y datos sobre el perfil de absentismos laborales del empleado. Atención: Para
registrar accesos al IT 2001 es necesario implementar código de cliente en la user exit de cliente de
infotipos que se indica en el apartado "Descripción de la solución.
P0008-LGART: En el infotipo 0008 podría haber CC-nóminas de las cuales se podrían deducir
datos de nivel alto. Para registrir los accesos a estas CC-nóminas también es necesario implentar el
registro en la user exit de cliente de infotipos como se describe en el apartado "Descripción de la
solución".
P0015-LGART: ver la descripción de P0008-LGART
P0014-LGART: ver la descripción de P0008-LGART
Datos de nivel alto almacenados en ficheros TemSe
Únicamente se registra un acceso si se listan explícitamente los registros pulsando el botón
correspondiende o haciendo doble click en la lista inicial no estructurada. El sistema borra el
contenido de los datos de nivel alto en la lista inicial para evitar tener que hacer registros por el
simple hecho de visualizar esta lista, de la que generalmente no se extrae información específica para
este tipo de campos.
Se advierte que la visualización masiva de registros TemSe como los registros de tipo 2 del
modelo 190 causa una registro masivo de accesos, en el caso del modelo 190, 3 entradas por cada
registro.
www.cuviv.com
PES1909902-DISCA: Visualización de ficheros TemSe con datos para el modelo 190, grado de
minusvalía del empleado. Formatos regiones 51, 52 y 99
PES1909902-DIS_65: idem PES1900002-DISCA, para el grado de minusvalía de un descendiente
del empleado .
PES1909902-DIS_100: idem PES1900002-DIS_65
PES1909902-AS_DIS65: idem PES1909902 pero para el grado de minusvalía de un ascendiente
del empleado.
PES1909902-AS_DIS100: idem PES1909902-AS_DIS65
PES1900002-DISCA: Visualización de ficheros TemSe con datos para el modelo 190, grado de
minusvalía del empleado. Formatos de regiones 01, 20, 31 y 48.
PES1900002-DIS_65: idem PES1900002-DISCA pero para el grado de minusvalía de un
descendiente del empleado. Formatos de regiones 01, 20, 31 y 48.
PES1900002-DIS_100: idem PES1900002-DIS_65.
PESREDDAT-CONTRATO: Clave de contrato de la Seguridad Social en fichero. FAN o fichero
AFI. Este campo tiene la siguiente particularidad: Los registros DAT que portan la información del
contrato por empleado se listan separadamente de los registros TRA que identifican al empleado, por
lo que es imposible relacionar el contrato visualizado con el empleado a no ser que el fichero
contenga a un único o pocos empleados. Actualmente se registra que un usuario ha visualizado la lista
de registros DAT sin especificar a qué trabajador corresponden.
Datos almacenados en el cluster de resultados nómina
La visualización de datos del cluster de resultados de nómina también puede considerarse un
acceso a datos de nivel alto en el caso de la clave de contrato almacenada en la tabla SV o del grado
de minusvalía del empleado almacenado en la tabla ST.
La versión entregada en el HR SP ES18.1 todavía no cubre el registro de estos datos, pero
implementando la correción nº 12 de la nota 0375597 se puede obtener esta funcionalidad, salvo
para la versión 4.6C que se entregará en el HR SP ES19.
Los campos que se consideran como de nivel alto en la parametrización estándar son los
siguientes:
PC225-PESOC: Clave de contrato para la Seguridad Social grabado en la tabla SV
PC226-FAMNU: Grado de minusvalía del empleado grabado en la tabla ST
PC207-LGART: En caso de visualizar la tabla RT se podría deducir información referente al pago
de cuotas sindicales. En el estándar se incluye una entrada para PC207-LGART en la tabla T5EL4 que
desencadena un registro de acceso de este tipo de datos cada vez que se visualiza la tabla RT.
www.cuviv.com
ATENCION: A partir del HR SP ES21 también se registran las lecturas a resultados de nómina
realizadas por los programas RPCEDTE0 (recibo de nómina), RPCKTOE0 y RPCLJNE0. Debido a que
a la mayoría de los clientes no les interesa registrar accesos a resultados de nómina por el elevado
número de registros que esto implica la entrada en la tabla T5EL4 correspondiente al campo PC207LGART será ELIMINADA.
Si se desea registrar este tipo de accesos se deberá restituir esta entrada utilizando la vista
V_T5EL4.
Acceso a datos de nivel alto via transacciones SE16 o SM30
En caso de que un usuario tenga autorización para utilizar la transación se16 en un sistema
productivo, podrá visualizar el contenido de cualquier tabla de base de datos, en particular las tablas
PAxxxx que contienen los datos relativos a infotipos.
No está previsto entregar un sistema de registro de acceso de datos a través de la transacción
SE16 ya que ningún usuario debería tener autorización para utilizar esta transacción en un sistema
productivo. Por lo tanto es necesario revisar los perfiles de autorización para descartar la posibilidad
de que se acceda a datos de nivel alto via SE16. No existe ninguna vista estándar con la que se
puedan visualizar datos de nivel alto a través de la transacción SM30. Se recomienda revisar el sistema
para descartar que existan vistas de cliente que permitan tal acceso y bloquearlas o borrarlas en caso
de que existan.
La solución disponible hasta el HR SP ES22 no permite el registro de intentos de acceso a
registros de nivel alto. A partir del HR SP ES22 se pondrá a disposición una nueva user exit en el
sistema de autorizaciones de infotipos que permitirá realizar este tipo de registros.
Novedades
1. 16/10/2002: Se ha creado el apartado 12 en la sección "PASOS A SEGUIR EN LA
IMPLANTACION DE LA NUEVA FUNCIONALIDAD" en la que se describe como archivar los
registros de acceso evitándo un aumento de volumen descontrolado del contenido de la table T5EL1.
2. 16/10/2002: Cambios introducidos con el HR SP ES22
a) A partir del HR SP ES22 el programa de gestión y visualización de registros de acceso
(RPULORE0) ofrece la posibilidad de seleccionar registros de acceso por Sociedad a la que
pertenece el empleado cuyos datos fueron accedidos. Es uso de esta opción puede bajar
sensiblemente el rendimiento de la visualización de registros porque el proceso de
determinación de la sociedad a partir del NIF del empleado es relativamente costoso.
b) Adicionalmente existe la posibilidad de borrar registros redundantes, entendiéndose
como redundantes un registro idéntico a una anterior que se ha registrado no más de una
cantidad fija de segundos luego del primero.
c) Se ha creado el apartado 11 en la sección 'PASOS A SEGUIR PARA IMPLEMENTAR LA
NUEVA FUNCIONALIDAD" en el cual se explican los pasos a seguir para registrar INTENTOS
www.cuviv.com
de acceso rechazados por el control de autorizaciones en las transacciones PAxx y para
registrar accesos a infotipos no cubiertos por el mecanísmo de registro estándar (p.e. 0008,
0014, 2001)
d) Se ha creado el apartado 13 en la sección 'PASOS A SEGUIR PARA IMPLEMENTAR LA
NUEVA FUNCIONALIDAD" en el cual se explican la posibilidad de establecer un control de
autorizaciones específico para la ejecución del programa de gestión de registros RPULORE0.
3. 08/2003: Cambios introducidos con el HR SP ES23
a) Se amplia la clave de la tabla T5EL1 incorporando el campo MODNO (Sistema R/3,
índice modos externos) el cual almacena el número del modo del sistema que el usuario esta
utilizando reduciendo considerablemente las posibilidades de bloqueos y tiempos de espera por
recursos compartidos de la T5EL3 y T5EL1. Este campo se puede visualizar a través del listado
arrojado por el programa RPULORE0, en su tercera columna.
PASOS A SEGUIR PARA IMPLANTAR LA NUEVA FUNCIONALIDAD
1. Cargue el HR SP ES18.1. Con la carga de este HR SP el sistema de registro de accesos está
automáticamente activo salvo en el infotipo 0004 (Minusvalías) que requiere un proceso de
parametrización adicional que se describe más adelante.
2. Realice un acceso al infotipo 0062 en el cual no se ha ocultado el campo de minusvalía del
empleado (P0061-FAMNU) a través de la tabla t588M.
3. Ejecute el programa RPULORE0, opción visualizar y con la casilla test marcada. Verifique que se
liste una entrada para su usuario, la fecha y la hora en la que se ha realizado el acceso y para el
fichero lógico 0001 = Grado de minusvalía del empleado.
4. Oculte el campo P0061-FAMNU a través de la tabla T588M, acceda al infotipo 0062 y verifique
que no se haya creado un registro de acceso a este camo lanzando el programa RPULORE0. Repita
este procedimiento para los infotipos 0016 (a partir de 4.5B), 0021 (dynpro 2004), 0057 (dynpro
2004) y 0061.
5. Active la característica P0004 y copie la entrada para la clave variable 04 de la tabla T588M que
se entrega en el mandante 000, para que se utilice el nuevo dynpro 2004 para el infotipo 0004.
6. Genere un fichero para el modelo 190 (programa RPC190E0) y visualice los registros de tipo
2 de este fichero. Compruebe con el programa RPULORE0 que se ha creado un registro para el
fichero lógico 0001 = grado de minusvalía del empleado y 0002 = grado de minusvalía de un familiar
para cada registro de tipo 2 visualizado.
7. Si ha desarrollado ABAP Queries que incluyan alguno de los campos de nivel alto, será
necesario modificar el área funcional agregando el siguiente código ABAP en el evento
'Tratamiento de frases' para el infotipo Pnnnn y campo xxxx:
www.cuviv.com
loop at Pnnnn where begda le pn-endda and endda ge pn-begda.
CALL FUNCTION 'HR_ES_PRODA_REG_DAT_METO_STRUC'
EXPORTING
p_struc_field = 'Pnnnn-xxxx'
p_pernr
= pnnnn-pernr
EXCEPTIONS
ERROR
=1
OTHERS
= 2.
IF SY-SUBRC <> 0.
ENDIF.
endloop.
* commit work. "[Opcional]
El registro únicamente se producirá si la combinación campo/tabla Pnnnn/xxxx está mantenida en
la tabla T5EL4 (vista V_T5EL4) con su correspondiente asignación a un fichero lógico.
En caso de tener que registrar el acceso a un campo que no esté mantenido en esta tabla, se
puede mantener la combinación de tabla/campo siempre y cuando el nombre de la tabla comience
con una Z. En caso contrario se recomienda utilizar el siguiente código ABAP en lugar de realizar una
entrada en la tabla T5EL4 que viole el rango de entradas de SAP:
Versión 3.1I
loop at Pnnnn where begda le pn/endda and endda ge pn/begda.
CALL FUNCTION 'HR_ES_PRODA_REG_DAT_METO_DIREC'
EXPORTING
p_ficid = 'mmmm'
p_pernr
= pnnnn-pernr
EXCEPTIONS
ERROR
=1
OTHERS
= 2.
IF SY-SUBRC <> 0.
www.cuviv.com
ENDIF.
endloop.
* commit work. "[Opcional]
Versiones superiores a 3.1I
loop at Pnnnn where begda le pn-endda and endda ge pn-begda.
CALL FUNCTION 'HR_ES_PRODA_REG_DAT_METO_DIREC'
EXPORTING
p_ficid = 'mmmm'
p_pernr
= pnnnn-pernr
EXCEPTIONS
ERROR
=1
OTHERS
= 2.
IF SY-SUBRC <> 0.
ENDIF.
endloop.
* commit work. "[Opcional]
donde mmmm es el identificador de fichero lógico según tabla T5EL2
(Vista V_T5EL2) que proporciona SAP. En caso de no encontrar un identificador apropiado para
el dato cuyo acceso se quiera registrar, se pueden crear identificadores de cliente con la condición de
que comiencen con 9.
En caso de utilizar un área funcional que contenga más de un infotipo con datos de nivel alto con
queries que accedan sólo a un subconjunto de estos infotipos, se produce un error de sintaxis debido
al uso de la tabla Pnnnn, siendo Pnnnn el infotipo que no se utiliza en esta query en particular.
En estos casos es necesario utilizar un código ABAP más complejo:
...
data: begin of tab_infotypes occurs 0,
name(7),
www.cuviv.com
FICID LIKE T5EL2-FICID,
end of tab_infotypes.
field-symbols: <f> type table, <pernr>, <g>, <begda>, <endda>.
refresh tab_infotypes.
TAB_INFOTYPES-NAME = 'PNNNN[]'. "PNNNN es p.e. P0061
TAB_INFOTYPES-FICID = 'aaaa'.
"aaaa = identificador según T5EL2 append tab_infotypes.
TAB_INFOTYPES-NAME = 'PMMMM[]'. "PMMMM[ es p.e. P0062
TAB_INFOTYPES-FICID = 'bbbb'. "bbbb = identificador según T5EL2 append tab_infotypes.
.... Repetir para cada uno de los infotipos que puedan existir
loop at tab_infotypes.
assign (tab_infotypes-name) to <f>.
check sy-subrc is initial.
CLEAR TAB_INFOTYPES-NAME+5(2).
assign (tab_infotypes-name) to <g>.
check sy-subrc is initial.
loop at <f> into <g>.
assign component 'BEGDA' of structure <g> to <begda>.
if sy-subrc ne 0.
exit.
endif.
assign component 'ENDDA' of structure <g> to <ENDDA>.
if sy-subrc ne 0.
exit.
endif.
check <begda> le pn-endda and <endda> ge pn-begda.
assign component 'PERNR' of structure <g> to <pernr>.
if sy-subrc ne 0.
www.cuviv.com
exit.
endif.
call function 'HR_ES_PRODA_REG_DAT_METO_DIREC'
exporting
P_FICID = TAB_INFOTYPES-FICID
p_pernr = <pernr>
exceptions
error = 1
others = 2.
if sy-subrc <> 0.
endif.
endloop.
* commit work. "[Opcional]
Para aquellos queries que puedan necesitar un tiempo considerable de ejecución se recomienda
descomentar la sentencia commit work para hacer posible la liberación de recursos compartidos,
específicamente de la tabla T5EL3 que podría originar un error de time out al tener un proceso que
esperar hasta que el recurso compartido sea liberado por el otro proceso. Esta sentencia es
altamente prohibitiva para ejecuciones de nómina ya que elimina la LUW que se este procesando y
puede acarrear consecuencias de perdida de datos al dejar de ser posible un Rollback.
El uso o no de esta sentencia queda a juicio del programador de la query. En cualquier caso debe
quedar claro que es una sentencia muy seria si se esta realizando algún tipo de actualización en la BD
ya que como ya se mencionó rompe la LUW (Logical Unit Work) y elimina cualquier mecanismo de
Rollback.
8. Si ha desarrollado informes en ABAP accediendo a datos de nivel alto, debe modificar su
código para registrar la visualización de estos datos valiéndose de los módulos de funciones
anteriormente mencionados.
9. Si ha desarrollado infotipos de cliente con datos de nivel alto, también será necesario adaptar
su código tomando como ejemplo el módulo PBO reg_proda del infotipo 0061 (include MP006120).
10. Desactivación del registro de acceso:
Utilice la vista V_T5EL4 para agregar/borrar entradas que causen el registro de determinados
campos. Si desea desactivar el registro de visualización de segmentos DAT, basta con borrar la entrada
para la tabla PESREDDAT y campo CONTRATO. Recuerde que únicamente se puede gestionar el
www.cuviv.com
registro de aquellos datos que son grabados mediante el módulo de funciones
HR_ES_PRODA_REG_DAT_METO_STRUC, los registros que se realizan indicando directamente el
identificador del fichero lógico (módulo HR_ES_PRODA_REG_DAT_METO_DIREC) no son
desactivables mediante parametrización. El estándar no utiliza este módulo, por tanto todos los
registros pueden ser desactivados. Dado que las entradas se encuentran en rango de SAP se debe
verificar el estado de la tabla T5EL4 luego de cada HR SP en caso de haberla modificado.
Las entradas en la tabla T5EL4 únicamente tendrán efecto en los infotipos/dynpros preparados a
tal efecto, que actualmente son los siguientes:
infotipo
dynpro
0004
2004, 3004 (a partir del ES19)
0021
2004
0057
2004, 3004 (a partir del ES19)
0061
2000, 3004 (a partir del ES19)
0062
2000
11. Registro de acceso a datos de nivel alto en infotipos estándar mediante user exit central de
autorizaciones en las transacciones PAxx.
En los siguientes HR SP se ha entregado una nueva user exit que se llama durante el control de
autorizaciones que realizan las transacciones de gestión de infotipos PAxx
3.1I SAPKE31B0
4.0B SAPKE40A2
4.5B SAPKE4586
4.6B SAPKE4668
4.6C SAPKE4659
4.70 SAPKE4704
Esta user exit se puede utilizar para registrar los INTENTOS de acceso rechazados por el sistema
por falta de autorización del usuario para visualizar o modificar un registro de infotipo y para registrar
accesos a infotipos que no están cubiertos en el estándar como p.e. IT 0014, 0008 y 2001.
Una particularidad de los registros realizados a través de esta user exit es que se pueden
producir múltiples registros para un único acceso del infotipo ya que el control de autorizaciones se
llama varias veces durante este proceso. Para evitar estos registros en principio redundantes, el
programa de gestión de registros de acceso (RPULORE0) ofrece desde el HR SP ES22 la posibilidad
de eliminar registros idénticos cuyo el tiempo de registro (campos AS4DATE, AS4TIME) no supere
un límite expresados en segundos a través de la pantalla de selección del programa RPULORE0.
www.cuviv.com
Una vez cargado el HR SP ES22 es posible implementar el registro de intentos de acceso
realizando los siguientes pasos:
Versiones hasta 4.6B:
a) Utilice la transacción CMOD para crear un projecto para user exits de infotipos si todavía no
creado un proyecto que contenga la extensión PBAS0004 y asígnele esta extensión.
b) Navegue a la componente exit_sapfp50p_001 y luego al include zxpadu04 que deberá ser
creado en caso de no existir e introduzca el siguiente código:
data: l_ioper like psyst-ioper,
l_infty_name(5) type c,
wa_i0008 like p0008,
i0008 like p0008 occurs 0 with header line,
lgaxx(5) type c value 'LGAxx',
xx(2) type n.
field-symbols: <f> like i0008-lga01.
if rcode is initial. "Si el usuario no tiene autorización de acceso
case level.
when 'W'. "Write
L_IOPER = 'MOD'.
when 'R'. "Read
L_IOPER = 'DIS'.
when others.
L_IOPER = 'DIS'.
endcase.
CONCATENATE 'P' INFTY INTO L_INFTY_NAME.
CALL FUNCTION 'HR_ES_PRODA_REG_DAT_METO_STRUC'
EXPORTING
P_STRUC_NAME = L_INFTY_NAME
P_PERNR
= PERNR
www.cuviv.com
P_IOPER
= L_IOPER
P_AUTOR
= 'N'
EXCEPTIONS
ERROR
=1
OTHERS
= 2.
endif.
Versiones a partir de 4.6C:
a) Utilice la transacción se19 para crear una implementación de la BAdI
HRPAD00AUTH_RECORD.
b) Introduzca el código que se indica a continuación para el método
RECORD_AUTH_RESULTS ...
data: l_ioper type psyst-ioper,
l_infty_name(5) type c,
wa_i0008 type p0008,
i0008 type table of p0008,
lgaxx(5) type c value 'LGAxx',
xx(2) type n.
field-symbols: <f> type p0008-lga01.
case level.
when 'W'. "Write
L_IOPER = 'MOD'.
when 'R'. "Read
L_IOPER = 'DIS'.
when others.
L_IOPER = 'DIS'.
endcase.
if rcode is initial. "Si el usuario no tiene autorización de acceso
CONCATENATE 'P' INFTY INTO L_INFTY_NAME.
www.cuviv.com
CALL FUNCTION 'HR_ES_PRODA_REG_DAT_METO_STRUC'
EXPORTING
P_STRUC_NAME = L_INFTY_NAME
P_PERNR
= PERNR
P_IOPER
= L_IOPER
P_AUTOR
= 'N'
EXCEPTIONS
ERROR
=1
OTHERS
= 2.
endif.
Adicionalmente deberá indicar a través de la tabla T5EL4 los infotipos para los cuales se desea
registrar los intentos de acceso realizando entradas de la siguiente estructura:
|STRUC| FIELD|ENDDA
|BEGDA
|Pnnnn| * |31.12.9999|01.01.1900|
|FIPER|FIPID|FICID|
|
|xxxx |
donde nnnn es el infotipo para el cual se debe registrar el intento de acceso y xxxx es la
identificación del fichero lógico según T5EL2
Estas entradas no se entregan en el estándar pero en caso de implementar el registro de intentos
de acceso se recomienda realizar las siguientes entradas utilizando la transacción sm30 y la vista
V_T5EL4.
|P0004| * |31.12.9999|01.01.1900| | |0001|
|P0021| * |31.12.9999|01.01.1900| | |0002|
|P0061| * |31.12.9999|01.01.1900| | |0004|
|P0062| * |31.12.9999|01.01.1900| | |0001|
|P0057| * |31.12.9999|01.01.1900| | |0003|
Los infotipos 0008, 0014, 2001 no han sido modificados para registrar accesos a datos de alto
nivel, sin embargo es posible registrar estos accesos mediante la implementación del siguiente código
en la nueva user exit o BAdI de control de acceso.
Incluya el siguiente codigo en el include zxpadu04 (versiones hasta 46B) o en la implementación
del BAdI HRPAD00AUTH_RECORD (versiones a partir de 4.6C). Es condición necesaria haber
incluido el código de la sección anterior destinado a registrar los intentos de acceso.
www.cuviv.com
if rcode = 'X'. "Si el usuario tiene permiso para acceder al IT
case infty.
when '0008'.
CALL FUNCTION 'HR_READ_INFOTYPE'
EXPORTING
PERNR
INFTY
= PERNR
= INFTY
BEGDA
= BEGDA
ENDDA
= ENDDA
TABLES
INFTY_TAB
= I0008
EXCEPTIONS
INFTY_NOT_FOUND = 1
OTHERS
= 2.
loop at i0008 into wa_i0008.
clear xx.
do.
add 1 to xx.
lgaxx+3(2) = xx.
ASSIGN COMPONENT LGAXX OF STRUCTURE wa_i0008 TO <F>.
if sy-subrc ne 0.
exit.
endif.
IF <F> = 'NNNN'. "'NNNN' es la cc-nómina de nivel alto
CALL FUNCTION 'HR_ES_PRODA_REG_DAT_METO_DIREC'
EXPORTING
P_PERNR
= PERNR
www.cuviv.com
P_FICID
= 'xxxx'
"xxxx fichero según T5El4
EXCEPTIONS
ERROR
=1
OTHERS
= 2.
IF SY-SUBRC <> 0.
ENDIF.
ENDIF.
ENDDO.
endloop.
when '0014'.
if subty = 'NNNN'. " 'NNNN' es la CC-nómina
CALL FUNCTION 'HR_ES_PRODA_REG_DAT_METO_DIREC'
EXPORTING
P_PERNR
P_FICID
P_IOPER
= pernr
= 'xxxx' " xxxx fichero según T5El4
= l_ioper
EXCEPTIONS
ERROR
=1
OTHERS
= 2.
IF SY-SUBRC <> 0.
ENDIF.
endif.
when '0015'.
if subty = 'NNNN'. " 'NNNN' es la CC-Nómina de nivel alto
CALL FUNCTION 'HR_ES_PRODA_REG_DAT_METO_DIREC'
EXPORTING
P_PERNR
= pernr
www.cuviv.com
P_FICID
P_IOPER
= 'xxxx' " xxxx fichero según T5El4
= l_ioper
EXCEPTIONS
ERROR
=1
OTHERS
= 2.
IF SY-SUBRC <> 0.
ENDIF.
endif.
when '2001'.
if subty = 'NNNN'. " 'NNNN' es el subtypo de nivel alto
CALL FUNCTION 'HR_ES_PRODA_REG_DAT_METO_DIREC'
EXPORTING
P_PERNR
P_FICID
P_IOPER
= pernr
= 'xxxx' " xxxx fichero según T5El4
= L_ioper
EXCEPTIONS
ERROR
=1
OTHERS
= 2.
IF SY-SUBRC <> 0.
ENDIF.
endif.
endcase.
endif.
12. Archivo de registros de accesos de datos de nivel alto
El volumen de datos almacenado en la tabla T5EL1 es muy importante y puede afectar al
rendimiento de los procesos que registran o gestionan registros de accesos. El programa de gestión
de registros ofrece la posibilidad de borrar registros de la base de datos sin embargo la ley exige
almacenar estos datos durante dos años lo cual puede implicar un volúmen crítico para ciertas
www.cuviv.com
instalaciones. En estos casos se recomienda listar los registros existentes hasta el momento y archivar
la lista generada. Esto se puede realizar escogiendo la opción de "Archivar" en el díalog de impresión
de la lista (campo ARTXT). Una vez archivada la lista se pueden borrar los registros archivados
mediante la opción que ofrece el programa RPULORE0.
13. Objeto de autorización para el programa RPULORE0 A partir del HR SP ES22 el programa
de gestión de registros de acceso controla si el usuario posee la autorización para el objeto
S_APPL_LOG para los campos ALG_OBJECT = HRES, ALG_SUBOBJ = PRODA y ACTVT = 03
(visualización) o 06 (modificación de registros).
www.cuviv.com
Descripción técnica de la Solución
Se ha creado un juego de tablas de base de datos para registrar los accesos a datos de alta
protección y un programa para evaluar estos registros.
Cada acceso se graba en la tabla T5EL1, que tiene los siguientes campos:
MANDT (clave) : Mandante
AS4USER(clave) : Usuario de R/3
NUREG (clave) : Número de acceso registrado
FICID : Identificador del fichero lógico accedido
AS4DATE : Fecha del acceso
AS4TIME : Hora del acceso
TIACC : Tipo de acceso (visualización o copia 'V', modificación 'M', inserción 'C', borrado 'B')
TIREC : Tipo de registro de de acceso (intento rechazado 'N', o acceso exitoso 'A'), este campo
se incluye con el HR ES22.
En la tabla T5EL2 se encuentran los identificadores de ficheros lógicos con su correspondiente
texto explicativo, p.ej. identificador '0001' 'Grado de minusvalía del empleado'. Los campos de esta
tabla son:
MANDT (clave) : Mandante
FICID (clave) : Identificador de fichero lógico
TEXTO : Texto descriptivo del identificador
Igualmente se ha creado la tabla T5EL3 que contiene el número del último acceso registrado para
un usuario, con el fin de poder obtener una actualización rápida de la tabla T5EL1 sin tener que
determinar el proximo número de registro mediante una lectura costosa de la misma. La tabla T5EL3
debe su existencia exclusivamente a razones técnicas y no contiene datos directamente relacionados
con la grabación de registros de datos de alta protección.
Por último se ha creado la tabla T5EL4 que permite indicar los campos de estructuras o tablas del
diccionario que se consideran datos de alta protección y que desencadenarán un registro en la tabla
T5EL1 en caso de ser accedidos. El registro del acceso únicamente se producirá en aquellos
programas (modulpools de infotipos, visualizador de ficheros TemSe, programas de evaluación) que
han sido especialmente modificados a tal efecto. La estructura de la tabla T5EL4 es la siguiente:
MANDT (clave) : Mandante
STRUC (clave) : Nombre de la estructura, p.ej. P0061
FIELD (clave) : Nombre del campo, p.ej. FAMNU
www.cuviv.com
ENDDA (clave) : Fecha final de validez
BEGDA : Fecha inicial de validez
FIPER : Nombre del campo de la estructura indicada en el campo STRUCT del cual se puede
extraer el número de personal del empleado observado, p.ej. PERN (de la estr. P0061)
FIPID : Análogo al campo FIPER pero para el número de documento
FICID : Identificador de fichero lógico
Report RPULORE0
Este report permite la evaluación de los registros generados por usuario y en un intervalo de
tiempo dado. Básicamente se listan los datos almacenados en la tabla T5EL1 combinados con el texto
explicativo para cada identificador de fichero lógico indicado en la tabla T5EL2.
Adicionalmente este programa ofrece borrar de la tabla T5EL1 datos para los cuales ha caducado
la obligación de conservarlos (actualmente después de dos años). En caso de querer borrar registros
con menos de 2 años de antigüedad se recomienda seguir las instrucciones del apartado 12 de la
sección anterior. Este programa debe ser utilizado en caso de problemas de sincronización entras las
tablas T5EL1 y T5EL3 marcando la opción de reorganización. Si no hay necesidad de reorganizar estas
tablas, el programa lo indicará con el correspondiente mensaje por usuario.
A partir del HR SP ES22 el programa de gestión y visualización de registros de acceso
(RPULORE0) ofrece la posibilidad de seleccionar registros de acceso por Sociedad a la que
pertenece el empleado cuyos datos fueron accedidos. Es uso de esta opción puede bajar
sensiblemente el rendimiento de la visualización de registros porque el proceso de determinación de
la sociedad a partir del NIF del empleado es relativamente costoso.
Como último existe la posibilidad de borrar registros redundantes, entendiéndose como
redundante a un registro idéntico a una anterior que se ha registrado no más tarde que una cantidad
fija de segundos luego del primero. Si desea realizar esta compresión de registros seleccione la opción
correspondiente e indique el tamaño en segundos del intervalo en que un registro se considera
redundante si ha sido registrado dentro de este intervalo luego de que haya ocurrido el último
registro de una acceso de este tipo.
www.cuviv.com
Descargar