gabriel blanco saldaÑabiblio.upmx.mx/tesis/128651.pdfescenarios clave que pueden ocurrir en la...
TRANSCRIPT
“IMPLEMENTACIÓN DE UN SISTEMA DE RECURSOS
HUMANOS PARA UNA FÁBRICA DE ENSAMBLE Y
MANUFACTURA”
T E S I S
QUE PARA OBTENER EL TÍTULO DE
LICENCIADO EN INGENIERÍA INFORMÁTICA
P R E S E N T A
GABRIEL BLANCO SALDAÑA
DIRECTOR DE TESIS:
M.C.C. FELIX ORLANDO MARTÍNEZ RÍOS
MÉXICO, D.F. 2008
Con estudios incorporados a la Secretaría de Educación Pública
ii
iii
Gracias Dios, por ser mi guía y protector, Tú que has bendecido mi vida con tu maravillosa
presencia todo el tiempo.
Para mis padres, mi más grande ejemplo de responsabilidad y esfuerzo. No hubiera sido posible
llegar a donde estoy sin ustedes.
Para mis hermanos y amigos, que con su cariño y apoyo estuvieron siempre presentes para ayudarme a
seguir adelante.
Para ti, que alumbras mi vida con tu alegría y pasión por la vida. Gracias por tu apoyo y comprensión. Tú
eres el motor que me impulsa a ser mejor ser humano cada día. Te amo Maylen.
iv
v
TABLA DE CONTENIDO
Lista de figuras .....................................................................................................................................vi Lista de tablas ......................................................................................................................................vii Prefacio ................................................................................................................................................... ix Introducción: Estandarización de Sistemas ...................................................................................11 Capítulo I: Situación Actual...............................................................................................................17
Presentación del Problema ...........................................................................................................17 Propósito del Análisis ....................................................................................................................18 Arquitectura Actual de Sistemas..................................................................................................19
Capítulo II: Análisis de Requerimientos .........................................................................................25 Identificación de Procesos de Negocio......................................................................................25
Capítulo III: Evaluación de Costos y Selección de Sistemas ......................................................45 Opciones Consideradas.................................................................................................................45 Evaluación para el Módulo de Cafetería ....................................................................................52 Evaluación de Costos ....................................................................................................................55 Decisión por parte del Equipo del Proyecto.............................................................................60
Capítulo IV: Diseño del Sistema.......................................................................................................63 Análisis Fit-Gap de Requerimientos...........................................................................................63 Planificación del Alcance del Proyecto.......................................................................................64 Definición del Alcance del Proyecto ..........................................................................................65 Arquitectura de Sistemas Propuesta .........................................................................................70 Estructura de Descomposición de Trabajo ............................................................................72 Funcionalidad entregada por el Sistema Seleccionado ..........................................................73 Adaptaciones a la funcionalidad Entregada en el Sistema Seleccionado ............................87 Nuevos desarrollos para el Sistema...........................................................................................104 Conversión de Datos ...................................................................................................................125 Generación de Reportes..............................................................................................................131
Capítulo V: Plan de Implantación ..................................................................................................135 Fases de la Implantación.............................................................................................................135 Roles y Responsabilidades ..........................................................................................................140 Transición hacia nuevos sistemas..............................................................................................141 Administración del Proyecto......................................................................................................142
Hallazgos y Conclusiones .............................................................................................................145 Descripción de los Hallazgos .....................................................................................................145 Conclusiones .................................................................................................................................147
Bibliografía .........................................................................................................................................151 Glosario ................................................................................................................................................153
vi
Apéndice A: Cuestionarios y Entrevistas ...................................................................................... A-i Apéndice B: Análisis Fit-Gap de Requerimientos........................................................................B-i Apéndice C: Conversión de Datos ................................................................................................ C-x Apéndice D: Ejemplos de Reportes ..............................................................................................D-i Apéndice E: Código Crítico............................................................................................................ E-v Apéndice E: Opciones de Implementación.................................................................................. F-I
LISTA DE FIGURAS Figura 1.A – Arquitectura Actual de Sistemas..................................................................................19 Figura 1.B – Sistema TRESS Actualmente Utilizado por la Empresa.........................................21 Figura 2.A – Macro-Procesos de Recursos Humanos....................................................................25 Figura 2.B – Proceso de Administración de Personal ....................................................................26 Figura 2.C – Proceso de Administración de Asistencia y Puntualidad........................................29 Figura 2.D – Procesos de Cafetería....................................................................................................34 Figura 2.F - Procesos de Nómina.......................................................................................................36 Figura 3.A – Delegación de la Información a un Proveedor, opción 1. .....................................46 Figura 3.B – PeopleSoft RH con Nómina de TRESS, opción 2. .................................................48 Figura 3.C – PeopleSoft Recursos Humanos, implantación completa, opción 3......................50 Figura 3.D – Proceso de Nómina con compañía Externa.............................................................55 Figura 3.E – Nómina TRESS y PeopleSoft Recursos Humanos .................................................56 Figura 3.F – PeopleSoft Recursos Humanos y Nómina ................................................................57 Figura 3.G Cafetería en Módulo de TRESS ....................................................................................58 Figura 3.H – Implantación del Sistema SC200 ................................................................................58 Figura 3.I – Módulo de Cafetería en PeopleSoft .............................................................................59 Figura 3.J – Evaluación General de Costos ......................................................................................60 Figura 4.A – Organigrama del Proyecto............................................................................................69 Figura 4.B – Arquitectura de Sistemas Propuesta ...........................................................................70 Figura 4.C – Estructura de Descomposición de Trabajo...............................................................72 Figura 4.F – Fechas Efectivas .............................................................................................................78 Figura 4.G – Estructura de Nómina Global.....................................................................................79 Figura 4.L – IMSS desde su empresa (IDSE) ..................................................................................81 Figura 4.x – Administración de Asistencia y Puntualidad..............................................................85 Figura 4.af – Tipo de Pago GL ...........................................................................................................88 Figura 4.ai – Días Adicionales para Factor de SDI .........................................................................91 Figura 4.aj – Proceso de Vacaciones para la Planta.........................................................................92 Figura 4.ak – Interrelación entre Módulos de Asistencia y Nómina............................................94 Figura 4.al – Conectividad al Sistema Externo de Seguridad ..................................................... 101 Figura 4.am – Adecuaciones a la Página de Disponibilidad del Personal ................................ 102 Figura 4.ap – Renovación de Contratos ......................................................................................... 107 Figura 4.aq – Generación de Informes con Crystal Reports...................................................... 108 Figura 4.aq – Incrementos Masivos de Salario por Antigüedad ................................................ 111
vii
Figura 4.ar – Flujo de Actividades para Incrementos Masivos de Salario ................................112 Figura 4.as – Interfase entre los Módulos de Asistencia y Nómina...........................................115 Figura 4.at – Arquitectura Propuesta para Cafetería.....................................................................117 Figura 4.ax – Vacaciones a Través de la Antigüedad del Empleado .........................................121 Figura 4.az – Saldo Proporcional de Vacaciones...........................................................................121 Figura 4.ba – Propuesta para Componente de Saldo de Vacaciones ........................................123 Figura 4.bc – Carga para Saldos de Vacaciones.............................................................................129 Figura 5.A – Fases de la Implantación ............................................................................................135 Figura 5.B – Ambiente de Bases de Datos Propuesto .................................................................142 Figura 5.C – Plan del Proyecto .........................................................................................................144
LISTA DE TABLAS Tabla 1 – Infraestructura de Sistemas ..............................................................................................23 Tabla 2 – Definición de Horarios de Trabajo..................................................................................30 Tabla 3 – Definición de Turnos .........................................................................................................31 Tabla 4 – Tipos de Ausentismo..........................................................................................................33 Tabla 6 – Salarios Mínimos por Zona Económica. ........................................................................36 Tabla 9 – Percepciones Utilizadas por la Planta de Mexicali ........................................................37 Tabla 10 – Deducciones Generales Utilizadas por la Planta de Mexicali ..................................39 Tabla 11 – Parámetros por Compañía para Nómina......................................................................41 Tabla 12 – Departamentos de Administración en la Planta de Mexicali ....................................74 Tabla 13 – Departamentos de Manufactura en la Planta de Mexicali .........................................74 Tabla 14 – Códigos de Puesto de la Planta de Mexicali .................................................................75 Tabla 15 – Parámetros Generales de Nómina .................................................................................76 Tabla 16 – Ejemplos de Reportes Necesarios para Seguridad Social ..........................................81 Tabla 17 – Elementos de Impuestos Entregados por PeopleSoft...............................................82 Tabla 18 – Estatus Disponibles en la Página de Disponibilidad ................................................102 Tabla 19 – Tipos de Contratos .........................................................................................................106 Tabla 20 – Incrementos por Aniversario........................................................................................110 Tabla 21 – Parámetros de Tiempo Extra........................................................................................114 Tabla 22 – Deducción por Concepto de Consumo en Cafetería...............................................118 Tabla 23 – Propuesta de Sistemas para Conversión de Datos....................................................130 Tabla 24 – Propuesta de Sistemas para Desarrollo de Reportes ................................................133 Tabla 25 – Plantilla para Entrega de Pruebas de Validación.......................................................137
viii
ix
P r e f a c i o
OBJETIVO PRINCIPAL DE LA TESIS
Esta tesis pretende documentar el panorama general de una empresa de manufactura que
requiere llevar a cabo el análisis, diseño e implantación de un ERP de Recursos Humanos.
Dentro de esta redacción se tratan diferentes puntos sobre la implantación, entre los que
destacan la selección de sistemas, el análisis y diseño asociados al sistema seleccionado, así
como el plan de implantación y soporte del mismo.
A través del diagnóstico y determinación de soluciones encontradas dentro de cada una de las
diferentes fases de la implantación de un sistema de recursos humanos, esta tesis proporciona
escenarios clave que pueden ocurrir en la mayoría de los proyectos de sistemas. Se trata de un
análisis realizado de manera global a las áreas que se ven involucradas en el cambio de un
sistema a otro, partiendo de las necesidades para definir las soluciones posibles a llevar a cabo.
Esta tesis también proporciona las variables y posibles obstáculos encontrados cuando una
empresa decide llevar a cabo una implantación de un sistema en un país distinto.
Se lleva a cabo un análisis detallado sobre las soluciones encontradas a partir de la utilización
de un ERP de recursos humanos y sus herramientas de desarrollo, dentro del marco de las
tecnologías de información y procesos orientados a las mejores prácticas de negocio.
10
11
I n t r o d u c c i ó n
ESTANDARIZACIÓN DE SISTEMAS
Panorama General sobre la Empresa
En febrero de 2005, el gobernador del estado de Baja California se reunió con líderes de una
empresa manufacturera así como con ejecutivos para inaugurar la apertura de una planta de
ensamble y manufactura de vehículos automotores en la ciudad de Mexicali, la primera planta
de este estilo ubicada en territorio mexicano por parte de dicha empresa.
En la actualidad, esta planta emplea a más de 1000 personas y continúa contratando alrededor
de 20 empleados por mes a partir del presente año, en virtud de incrementar el número y tipo
de vehículos fabricados. Se ha iniciado la producción de vehículos en gran escala a partir de
diciembre de 2005 en lo que representa una inversión de 140 millones de dólares para la
producción de 180,000 camionetas y 50,000 automóviles en el presente año.
El conjunto de estándares practicados por esta empresa, no sólo abarca medidas de
producción y control de inventarios, sino también prácticas de procesos de negocio,
manufactura, así como de recursos humanos, finanzas y medición de desempeño. En la
actualidad, todas las plantas de esta empresa ubicadas en diferentes partes de Estados Unidos,
utilizan los mismos sistemas informáticos para el control y administración ya sea de la
contabilidad, producción e incluso, manejo del capital humano.
Cuando la fábrica inició operaciones y comenzó a reclutar personal, previo al inicio de
actividades oficiales de producción, se decidió rentar temporalmente un sistema informático
para el control y administración de recursos humanos. En dicho sistema, la fábrica administra
las operaciones de manera local, enfocada a los procesos gubernamentales de México. Este
sistema no posee la flexibilidad para ser estandarizado y resulta difícil generar interfases hacia
los sistemas corporativos que la empresa ha implementado en las demás fábricas.
12
La práctica de estándares de calidad por parte de esta empresa, los ha ubicado dentro de las
empresas líderes en el ramo, obteniendo un crecimiento muy importante en los últimos años.
Por esta razón, se ha decidido analizar, diseñar e implantar un sistema basado en dichos
procesos estandarizados, pero enfocado a las prácticas gubernamentales de México, buscando
la manera de proporcionar información en tiempo real bajo las mejores prácticas de calidad
siempre mantenidas por parte de esta empresa alrededor del mundo.
Arquitectura de Sistemas
El sistema informático utilizado y mantenido por el área de sistemas de la empresa en cuestión
es el ERP de PeopleSoft versión 8.8. Todos los procesos de negocio se controlan a través
de dicho sistema y proporcionan una interfase amigable al usuario final, así como información
en tiempo real para ejecutivos de alto nivel.
PeopleSoft, Inc. fue una compañía de software que proporcionaba un sistema para el control y
administración del capital humano, manufactura, finanzas, medición del desempeño y
administración estudiantil. Estos sistemas se encontraban dirigidos a grandes corporaciones,
gobiernos y organizaciones.
Fundada en 1987 por David Duffield, esta compañía desarrolló un sistema de recursos
humanos que contaba con una arquitectura “Cliente-Servidor”, en esos días un nuevo
concepto. Con el paso del tiempo, y los avances de la tecnología, PeopleSoft se convirtió en
una plataforma de “Servidor Central” al utilizar los servicios de Internet y proporcionar un
enfoque más amigable y menos cerrado para el usuario. En enero de 2005 y después de varias
disputas legales, PeopleSoft fue adquirido por Oracle Corporation, empresa que continúa
proporcionando soporte a los sistemas PeopleSoft.
En la actualidad, Oracle ha presentado una ruta de actualización para unificar sus productos
con los sistemas de PeopleSoft y J.D. Edwards, anteriormente adquirida por PeopleSoft. A
finales del año 2010, se presentará un nuevo producto denominado “Fusión”, el cual pretende
establecer una nueva era en los sistemas ERP de Oracle.
13
PeopleSoft es reconocido por la capacidad y facilidad de desarrollo en cuanto a modificaciones
del producto se refiere. A través del diseño de ‘software a la medida’, resulta fácil mantener
requerimientos gubernamentales y corporativos.
La empresa manufacturera en cuestión, adquirió la gran mayoría de los módulos de PeopleSoft
y a través de su área de tecnologías de información, ha mantenido y adaptado los sistemas en
torno a sus procesos de negocio. Cabe destacar que gran parte de los sistemas utilizados
actualmente por la empresa, son desarrollos totalmente independientes de lo que PeopleSoft
entrega como parte del software, los cuales se encuentran integrados con diversos módulos
para el debido control de la información.
El Manejo del Cambio
Cuando los sistemas que funcionan actualmente fueron integrados como parte de los procesos
de la planta de Mexicali, se contrató a personal experto en éstos, cuya trayectoria tenía al
menos 6 años de experiencia utilizando el sistema en diferentes empresas. Los líderes
funcionales del grupo de usuarios que se verá involucrado en esta implantación son
especialistas en el sistema actual. Por esta razón, el cambio hacia un nuevo sistema representa
un gran reto, no sólo para la gente de sistemas, sino también para los usuarios finales ya que se
prevé que todo el tiempo comparen y desaprueben el nuevo sistema, debido a que los
procedimientos, las funciones y el modo de almacenar la información es distinto a las que
actualmente utilizan.
La falta de controles para el manejo efectivo del cambio con este grupo de usuarios puede
provocar problemas de entendimiento, desinterés y en algunos casos reprobación en los
consensos realizados cuando determinada funcionalidad sea analizada.
Tanto líderes funcionales, usuarios finales y coordinadores generales del proyecto no sólo
deberán de ser capacitados en las nuevas herramientas, sino que deberán ser partícipes del
mismo cambio, el cual debe ser entendido como una implantación que busca la mejora de
14
procesos de tecnologías de información, en lugar de ubicarlo como la imposición de un
sistema por ser utilizado a nivel global.
El alcance del Proyecto
La implantación de este sistema pretende cubrir todos lo procesos de negocio de la empresa,
relacionados con la administración del capital humano. La administración de datos de personal,
así como la estandarización en el manejo de posiciones serán tareas básicas las cuales deben
adaptarse sin cambios en general a lo que entrega y mantiene PeopleSoft como base del ERP
de Recursos Humanos.
Dentro de los procesos de negocio establecidos como parte del alcance, se ha definido
considerar la administración de asistencia y la medición laboral del desempeño. También se
buscará adecuar o implantar interfases que permitan el flujo de información hacia y desde
diversos sistemas externos, como por ejemplo relojes checadores, que permitan observar
información en tiempo real tanto para usuarios finales como para ejecutivos de alto nivel.
Dichas interfases serán analizadas detalladamente de manera que se pueda encontrar la mejor
solución en cuanto a costo y beneficio.
Como parte de la implantación del sistema de Recursos Humanos, el módulo de Nómina
representa un proceso clave y complejo para esta empresa. Se trata de una parte del ERP que
es desconocida por el área de sistemas en Estados Unidos debido a que la funcionalidad de
una nómina y los procesos que se generan a partir de ella, pueden llegar a ser sumamente
distintos entre un país y otro.
En la actualidad, la empresa manufacturera realiza sus operaciones de nómina con “PeopleSoft
Nómina para Norte América”. Esta pieza de software, se encuentra enfocada a las necesidades
gubernamentales y de negocios para las empresas americanas.
15
En el inicio de la propuesta sobre la implantación del ERP de Recursos Humanos, se estudió
la posibilidad de adaptar para la planta de Mexicali, cierta funcionalidad de PeopleSoft Nómina
para Norte América. Como resultado, muchos de los procesos de negocio relacionados con la
ley federal y de seguridad social mexicanas quedaban fuera de lo que el módulo podía ofrecer.
Sin embargo, con la salida al mercado de PeopleSoft Nómina Global, y la liberación de la
extensión de nómina para México, los requerimientos podían ser cubiertos de manera
aceptable.
Al analizar a nivel general este último módulo, se aprobó realizar el análisis detallado de
requerimientos y alcance de la implantación del nuevo sistema para recursos humanos. Dentro
de esta tesis se revisarán exhaustivamente, todos aquellos puntos en los cuales se proponen
adaptaciones al sistema, para de esta manera cubrir completamente todos aquellos
requerimientos encontrados al realizar el mapeo de procesos de negocio, así como las
actividades que los rodean.
16
17
C a p í t u l o 1
SITUACIÓN ACTUAL
Presentación del Problema
En la actualidad, la planta de Mexicali administra la información de recursos humanos de
manera local e independiente. El sistema que utilizan es un sistema basado en tecnología
PowerBuilder cuya base de datos es propiedad del autor y no puede ser accedida por sistemas
externos con facilidad. Aunque el sistema es sumamente amigable para el usuario, la
información utilizada por los ejecutivos regionales no puede ser accedida eficientemente.
Además, el pago por concepto de renta del software resulta excesivo, el cual es independiente
del costo del soporte, por ejemplo, cuando tienen lugar nuevas reformas a la ley federal
mexicana. El soporte es pagado por cuota mensual, independientemente de si se utilice o no.
Cuando se necesita un técnico especializado para corregir cierto defecto o implantar nueva
funcionalidad, la confidencialidad de la información desaparece lo cual preocupa de manera
importante a la empresa.
A su vez, la información no puede fluir hacia diferentes sistemas que la empresa utiliza. Se
requiere generar varios reportes los cuales no podría concluirse que contienen información
real, debido a los cambios que pueden ocurrir de un día a otro.
Por otro lado, y como parte del esquema de crecimiento profesional que esta empresa
propone, el personal de la planta de Mexicali tendría la difícil tarea de aprender a utilizar un
sistema totalmente distinto cuando existe rotación de personal hacia diferentes plantas. Del
mismo modo, cuando el personal de otras plantas acude a Mexicali a proporcionar
entrenamiento en procesos de negocio, se encuentra con un sistema desconocido y difícil de
entender debido a su diferente arquitectura y organización de la información.
18
Por otro lado, está la barrera del idioma. Se ha establecido a nivel compañía que el lenguaje
oficial en todos los sistemas informáticos es el inglés debido a que es el lenguaje con mayor
facilidad de comprensión en todos los países. El sistema actual está en español y no puede ser
traducido, a menos de que exista un desarrollo adicional por parte del proveedor, lo cual
representa una inversión bastante considerable.
Propósito del Análisis
Sobre la base de la funcionalidad de PeopleSoft Recursos Humanos, PeopleSoft Tiempos y
Tareas, así como de PeopleSoft Nómina Global para México, se pretende concluir si este
sistema cuenta con la funcionalidad principal para cubrir todos aquellos requerimientos que
son parte de los procesos de negocio para el manejo del capital humano de la planta ubicada en
Mexicali. Del mismo modo, se verificará que todos aquellos requisitos gubernamentales y
legales sean cubiertos, de tal manera que leyes federales, reglamentos internos de trabajo y
convenios establecidos con el sindicato puedan ser incorporados de manera eficaz y sin alterar
considerablemente el esquema de trabajo actual que presenta la planta.
La incorporación del nuevo sistema de recursos humanos pretende reestablecer los canales de
comunicación entre los sistemas, de manera que la información pueda ser consultada en
tiempo real y sobre una sola plataforma informática, en la cual los procesos corporativos
puedan ser utilizados de manera efectiva.
El análisis de los requerimientos pretende incorporar todos los puntos de vista de las áreas
involucradas con esta implantación y serán utilizados para definir si el sistema será capaz de
cubrir los procesos de negocio actuales, el impacto que se generará en el cambio de sistema, así
como el esfuerzo a realizar por parte del área de sistemas en cuanto a las adaptaciones y
desarrollo de nueva funcionalidad. Considerando la información obtenida a partir de este
análisis, se podrá realizar una revisión costo-beneficio de la implantación a partir de la
definición del alcance del proyecto.
19
Arquitectura Actual de Sistemas
La planta de Mexicali realiza sus operaciones de recursos humanos mediante el sistema
TRESS 3.0, el cual ofrece la posibilidad de administrar los datos del personal, la
administración de la asistencia, así como el pago de nómina y el control de servicios de
comedor.
Cliente TRESS
Cliente TRESS Cliente TRESS
Cliente TRESS
Cafeteria, Línea 1
Cafeteria, Línea 2
Cafeteria, Línea 3
Cafeteria, Línea 4
Reloj Checador 1
Reloj Checador 2
Reloj Checador 3
Reloj Checador 4
PeopleSoftFinanzas
ServidorTRESS
Interfase por Archivos Planos
Figura 1.A – Arquitectura Actual de Sistemas
A continuación se describen cada una de las definiciones mostradas en el diagrama anterior, así
como las funciones que desempeñan.
Servidor TRESS
Basado en la arquitectura “cliente-servidor”, este sistema lleva el procesamiento centrado en un
solo punto, mismo que es alimentado por los diferentes ‘clientes’ que envían la información a
través de la red. La base de datos almacena la información, misma que es procesada a través
de algoritmos y reglas de negocio que pueden ser definidas por el usuario. Se puede considerar
20
como sistema ‘en línea’ puesto que cada vez que el usuario solicita se procese determinada
información, el sistema lo realiza en tiempo real en el servidor y devuelve los resultados en ese
momento.
La fortaleza de la respuesta en línea se ve opacada cuando se involucran elementos como la
distancia y el tiempo que toma la conexión cliente-servidor al procesar una solicitud. Es decir,
cuando un usuario no se encuentra dentro de la planta, o bien, a razonable distancia del
servidor, el tiempo que toma realizar una consulta de datos puede demorarse. Este sistema no
cuenta con tecnología de Servidores de Aplicación, los cuales facilitan el flujo de información a
través de áreas de red amplias (WAN).
Los ejecutivos que se ven involucrados con la toma de decisiones por parte de la empresa en
cuestión, no tiene la visibilidad para analizar la información debido a que el sistema es local y
no posee la necesaria relación con otros sistemas corporativos.
Cliente TRESS
Los usuarios acceden al sistema a partir de una terminal desarrollada como cliente de
Microsoft Windows. Esta interfaz de usuario es sumamente amigable puesto que está en
idioma español y presenta la información ordenada en diferentes directorios.
Una de las características más importantes del sistema es que el cliente TRESS tiene la
posibilidad de generar reportes a la medida, mismos que pueden ser desarrollados por el
usuario final con gran facilidad. Dichos reportes pueden ser almacenados como plantillas para
su uso posterior.
21
Figura 1.B – Sistema TRESS Actualmente Utilizado por la Empresa
Control de Cafetería
Una de las prestaciones otorgada por parte de la empresas a sus empleados es el servicio de
comedor. Los empleados tienen derecho a subsidio por concepto de cafetería, el cual es
deducido directamente en la nómina semanal. El personal tiene derecho a un consumo al día,
mismo que siempre es subsidiado. Si algún empleado desea tener más de una comida al día,
tendrá que pagar el monto total directamente al proveedor en ese momento. El sistema es
capaz de contabilizar las comidas de cafetería para únicamente permitir un consumo al
empleado para ser deducido en nómina.
Sin embargo, otra de las reglas importantes que este sistema obedece, es la validación contra el
tiempo extra. Si un empleado tiene autorizado tiempo extra por más de cuatro horas en ese
mismo día, tendrá derecho a una comida gratuita.
22
El sistema almacena las comidas por semana para ser deducidas del pago de nómina, generar
reportes de control, o bien, reportes para el pago al proveedor.
En el comedor principal de la planta se encuentran ubicadas cuatro ‘líneas’ para el servicio de
cafetería. Dichas líneas están equipadas con un monitor y un lector de tarjetas de banda
magnética. El empleado que solicita un consumo desliza su tarjeta de identificación a través
del lector y el sistema obtiene los datos y procesa la información relacionada al consumo de
alimentos. De la misma manera, despliega la información del empleado en el monitor situado
al principio de la línea: fotografía, consumos en el día, horario de trabajo, etc.
Del mismo modo, un semáforo es mostrado en la pantalla, con el color verde si la comida
procede, o bien, rojo si el empleado no tiene derecho a consumo subsidiado o gratuito. En este
caso, también se emite un sonido de advertencia.
Relojes ‘Checadores’
Los empleados de la planta pueden tener diferentes horarios de trabajo, mismos que están
registrados en el sistema. Los relojes checadores ubicados en la entrada a la planta, almacenan
la información real de entrada y salida de los trabajadores y envían la información para ser
procesada por el sistema. Dicha información servirá para realizar operaciones relacionadas con
el manejo de la asistencia y puntualidad, así como las horas extras trabajadas y evaluación del
desempeño.
Interfase hacia PeopleSoft Finanzas
La planta de Mexicali necesita generar los correspondientes procesos contables relacionados
con el pago de nómina. El control de la contabilidad en todas las plantas se lleva en PeopleSoft
Finanzas.
En el sistema TRESS, se ejecuta un proceso que descarga la información de nómina en un
archivo plano, mismo que es utilizado por el sistema PeopleSoft finanzas para incorporarlo en
las tablas de contabilidad correspondientes. Este proceso se debe ejecutar de manera semanal y
se realiza una conciliación a final de cada mes de manera manual.
23
Uno de los requerimientos por parte del corporativo, es proveer la información para el manejo
de costos relacionado con las horas de trabajo, así como datos para la evaluación del
desempeño de cada uno de los empleados en las líneas de producción. Este sistema no cuenta
con una interfase hacia los sistemas de procesamiento de costo real, razón por la cual el
usuario administra esta información en archivos Microsoft Excel y a muy alto nivel.
Infraestructura Tecnológica
Los sistemas y tecnologías adoptadas por la planta de Mexicali se asemejan a las utilizadas
corporativamente, con algunas variantes. Dichas adaptaciones son el resultado de la adaptación
al sistema anteriormente descrito, debido a que dicho sistema no es utilizado en alguna otra
planta perteneciente a la empresa en cuestión.
La empresa, a través de su área de sistemas, ha tratado de mantener en la medida de lo posible,
los más avanzados estándares de calidad que permitan un manejo adecuado de la información
obteniendo el menor grado de riesgo, asegurando la calidad en los servicios para usuarios
finales.
Resulta importante destacar que debido a la centralización de los procesos de sistemas, el área
de tecnologías de información se encuentra ubicada en un solo punto, el corporativo en
Estados Unidos. Únicamente tres personas se encuentran soportando la actividad de sistemas
a nivel local en Mexicali y su labor está más relacionada al soporte de problemas con el
hardware de los usuarios.
El siguiente es un cuadro descriptivo para el Sistema TRESS utilizado por el área de recursos
humanos.
Infraestructura de Sistemas Sistema TRESS 3.0 Base de Datos Paradox Infraestructura de Red Ethernet Sistema Operativo Microsoft Windows NT 4.0 Servidor HP Proliant ML - 350
Tabla 1 – Infraestructura de Sistemas
24
Administración de la Seguridad de Operadores
Recientemente se ha realizado una auditoría interna para todos los sistemas utilizados por las
plantas pertenecientes a la empresa. Algo que ha llamado la atención de los auditores es la
seguridad asignada por operador en el sistema TRESS utilizado por la planta de Mexicali.
Todos los usuarios del área de recursos humanos tienen acceso a los mismos paneles de
control. Sin embargo, las personas que integran dicha área no necesariamente realizan las
mismas actividades. La persona encargada del registro y administración de dependientes de los
empleados tiene acceso a la información de nómina, el personal de nómina tiene acceso al
control de cafetería, y el gerente del área tiene acceso a todo el sistema. Del mismo modo,
algunos usuarios del área de finanzas tienen acceso a modificar parámetros de nómina.
El sistema TRESS provee de mecanismos de seguridad limitados pero efectivos. Dichos
mecanismos no fueron implementados en su totalidad cuando se liberó el sistema a
producción.
25
C a p í t u l o 2
ANÁLISIS DE REQUERIMIENTOS
Identificación de Procesos de Negocio
Dentro del grupo de procesos de recursos humanos utilizados actualmente por la planta de
Mexicali, se han identificado diversas tareas las cuales pueden agruparse de acuerdo a la
información que cada una de ellas maneja.
Dichas agrupaciones han sido identificadas como Macro-Procesos para efectos del estudio en esta
tesis. A su vez, los Macro-Procesos están conformados por procesos cuya agrupación depende
de las diversas tareas que deben realizarse y que comparten un objetivo común.
Figura 2.A – Macro-Procesos de Recursos Humanos
26
Macro-Procesos Identificados
Para analizar de manera global las actividades realizadas, se llevaron a cabo entrevistas con cada
uno de los usuarios involucrados en la administración de recursos humanos. Del mismo modo,
se decidió convocar a juntas de trabajo en las que se definiera la situación actual sobre las
tareas que se realizan en el área, cuyo resultado fue la definición a nivel global de los procesos,
actividades y actores involucrados en el manejo del capital humano en la empresa.
Proceso de Administración de Personal
El proceso de administración de personal abarca todas las actividades relacionadas a los datos
de los empleados desde la contratación y captura de información. Se realiza la incorporación al
sistema de datos de dependientes del empleado, identidad, información bancaria, así como
compensación, asignación de puesto y posición.
Figura 2.B – Proceso de Administración de Personal
Contratación. Este proceso inicia una vez que se han realizado las entrevistas
correspondientes al personal que desea formar parte de la organización. El usuario final
captura todos los datos sobre el empleado como nombre, dirección, claves gubernamentales de
identificación, sueldo inicial, grupo de pago, salario diario integrado, etc. Esta información
servirá como base para el procesamiento de cualquier proceso de recursos humanos.
Asignación de Puesto. Una vez que los datos han sido incorporados al sistema, el usuario
asigna un puesto y horario de trabajo al empleado. Cabe destacar que generalmente el
empleado obtendrá dos semanas de entrenamiento como parte del proceso de incorporación a
la empresa. En este periodo, el empleado será asignado a un puesto y a un horario temporal.
Dicha información será actualizada en el momento que se incorpore al horario y puesto fijos
que le corresponden.
27
Dependientes. El usuario captura en el sistema los datos de dependientes de cada empleado
una vez que este último proporcione la información sobre aquellas personas que cubrirá el
seguro de gastos médicos.
Información Bancaria. Para llevar a cabo el pago de la nómina, la empresa utiliza el sistema
para realizar el depósito directo a las cuentas de los empleados. El usuario capturará en el
sistema el número de cuenta de los empleados contratados. Si un empleado no posee una
cuenta bancaria en el banco utilizado por la empresa, se genera un archivo plano con esta
información para que el banco realice la apertura de dicha cuenta.
Contratos. A los empleados que trabajan en las líneas de producción les son asignados tres
periodos de prueba de treinta días cada uno. Estos periodos son controlados a través de
contratos temporales mismos que el empleado firma cada vez que cada contrato expira. Una
vez que el empleado ha pasado los tres periodos de prueba, el empleado obtiene un contrato
por tiempo indefinido.
El usuario consulta los contratos que expiran semanalmente en el sistema, para poder obtener
las firmas correspondientes y efectuar la renovación, o bien, realizar el proceso de terminación
de relación laboral cuando sea necesario.
Compensación. Uno de los datos más utilizados por cualquier proceso de recursos humanos
es la compensación por concepto de servicios proporcionados a la empresa. Los empleados
de la planta de Mexicali cuentan con aumentos anuales resultado de la antigüedad, desempeño,
o bien, por un cambio de puesto. También existen cambios a la compensación si el salario
mínimo general de la zona económica del empleado se modifica.
Seguridad Social. La base para determinar el entero de las cuotas denominadas obrero-
patronal al Instituto Mexicano del Seguro Social (IMSS) y de las aportaciones al Instituto Nacional del
Fondo para la Vivienda del Trabajador (INFONAVIT) es el salario base de cotización o salario
diario integrado.
28
Conforme a lo establecido en el artículo 5-A de la Ley del Seguro Social (LSS), el salario base
de cotización se integra con los pagos hechos en efectivo por cuota diaria, gratificaciones,
percepciones, alimentación, habitación, primas, comisiones, prestaciones en especie y cualquier
otra cantidad que se entregue al trabajador por su trabajo, con excepción de los conceptos
previstos en el artículo 27 de la Ley del Seguro Social.
El salario diario integrado se deberá calcular en los siguientes casos:
a) Al ingresar el empleado a la empresa, para efectos de dar aviso de alta.
b) Al modificar el salario del empleado. (por aumento a su salario diario o de otras
prestaciones fijas previamente conocidas).
c) Cuando obtengan percepciones variables, al inicio de cada bimestre, para efectos de dar
el aviso de modificación de salario, en base a las percepciones obtenidas en el bimestre
anterior (Artículo 30, LSS).
De acuerdo con el artículo 30 de la Ley del Seguro Social, el salario diario integrado se forma
de dos partes, una fija y otra variable. A continuación detallaremos las percepciones que
componen cada una de las partes:
Parte Fija: Se compone de las percepciones fijas que son previamente conocidas como son:
salario diario, prima vacacional, aguinaldo y cualquier otra percepción fija previamente
conocida.
Parte Variable: Se compone de percepciones que no tienen un valor conocido ya que pueden
variar entre un periodo y otro: tiempo extra, comisiones, vales de despensa dependientes de
asistencia, bonos de productividad, etc.
Sobre la base de la definición de beneficios del trabajador, como vacaciones, prima vacacional
y aguinaldo, se calcula el factor del Salario Diario Integrado. Dichos beneficios son analizados
dentro del proceso de nomina.
29
Proceso de Administración de Asistencia y Puntualidad
La administración de Asistencia y Puntualidad considera todas las políticas y procedimientos
de trabajo relacionados al registro de tiempos y tareas de los empleados de la planta. Muchos
de los beneficios que obtienen los empleados dependen ya sea del turno en el que trabajen, o
bien, de las horas laboradas y puntualidad que se registren durante el periodo. El periodo de
pago en la planta de manufactura es semanal.
Figura 2.C – Proceso de Administración de Asistencia y Puntualidad
Asignación de Turnos. La producción de la planta no puede detenerse más que en algunas
excepciones o cuando se realiza mantenimiento a las máquinas. Debido a esto, se han definido
diferentes turnos los cuales se conforman de diferentes horarios de trabajo. Para su
comprensión, se muestran a continuación los términos utilizados dentro de este proceso:
Horario. Es la asignación de la entrada y de salida en un día. Para el personal administrativo
existe un horario matutino único, caso contrario para personal de las líneas de producción e
inventarios.
Turno. Es la definición semanal de los horarios, es decir, un turno tendrá siete horarios de
trabajo y se asignará ya sea a una línea de producción o a un grupo de empleados. Existen
casos especiales en los que se define un turno específico para un sólo empleado.
Cabe destacar que debido al convenio de trabajo celebrado con el sindicato, los trabajadores
realizarán sus labores regulares cinco días en la semana, gozando de dos días de descanso.
30
También se considera de acuerdo a la Ley Federal del Trabajo, que el horario matutino de
trabajo comprende 8 horas diarias y el horario nocturno 7 horas diarias. No se han definido
horarios mixtos de trabajo en la planta, sin embargo este horario comprende 7.5 horas diarias.
El área de recursos humanos estableció el horario laboral matutino como de 9.6 horas al día y
el horario nocturno como de 8.4 horas, con el fin de cumplir con los requisitos federales y
negociaciones sindicales.
En la siguiente tabla se muestran los distintos horarios de trabajo actualmente utilizados:
Tabla 2. – Definición de Horarios de Trabajo
31
De acuerdo a las definiciones mostradas anteriormente, la siguiente tabla muestra los turnos a
los cuales son asignados a los empleados de la planta de Mexicali.
Tabla 3 – Definición de Turnos
La asignación de turnos se lleva a cabo dentro del sistema de recursos humanos del cual se
generan reportes para los líderes de grupo para el control de las líneas de producción. Los
líderes de grupo tienen la posibilidad de acceder al sistema y consultar la información en línea.
Registro de Tiempos. En el acceso principal a la planta se encuentran ubicados los relojes
“checadores”. Dichos relojes son compatibles únicamente con el sistema actual, el cual registra
la información de entrada y salida.
32
Esta información es básica para los líderes de grupo, ya que dependiendo del personal que ya
se encuentre dentro de la planta, ellos pueden planear el reparto de recursos en cada una de las
líneas de producción.
Los líderes de grupo se ayudan de reportes que pueden generar a partir de las terminales que se
encuentran ubicadas en cada una de las líneas de producción, o bien, solicitan un reporte de
asistencia al área de recursos humanos.
En algunas ocasiones los empleados olvidan o pierden las credenciales que se utilizan para los
relojes “checadores”. También se ha dado el caso de que un grupo de empleados llega tarde
por causas ajenas a su voluntad, por ejemplo, cuando el servicio de transporte que proporciona
esta empresa tiene algún altercado en el camino hacia la planta de Mexicali. El personal de
recursos humanos puede hacer modificaciones al registro de entrada y salida cuando sea
necesario en el sistema actual.
Tiempo Extra. El concepto de tiempo extra en la planta de Mexicali es delicado debido a
que debe de estar autorizado antes de que el trabajador lleve a cabo cualquier actividad en este
tiempo. El Líder de Grupo encargado de la línea de producción deberá solicitar la aprobación
al Jefe de Control de Producción e informar al área de Recursos Humanos.
En la actualidad, existen tres tipos de tiempo extra en la planta de Mexicali:
- Tiempo Extra Autorizado. Es el solicitado y aprobado por el líder de grupo. Se ingresa
de manera manual por el área de Recursos Humanos.
- Tiempo Extra Calculado. Es el que calcula el sistema al determinar el tiempo a partir del
fin de la jornada laboral del empleado hasta que se registra la salida del empleado de la
planta.
- Tiempo Extra por Pagar. Es la diferencia del Tiempo Extra Calculado menos el Tiempo
Extra Autorizado. Si el tiempo extra calculado es menor del autorizado, el tiempo extra
por pagar será igual al tiempo extra calculado. Si el tiempo extra calculado es mayor al
tiempo extra autorizado, se revisará con el líder de grupo para modificarse el tiempo
extra por pagar si es necesario.
33
El tiempo extra puede ser pagado doble o triple. Debido a su relación con la seguridad social e
impuestos, este tema se revisa más adelante dentro del proceso de Nómina.
Ausentismo. El registro y control de ausencias es un proceso complejo puesto que se
encuentra relacionado con diferentes procesos de negocio, en el que destacan la seguridad
social y nómina. A continuación se listan cada uno de los diferentes tipos de ausentismo, así
como los controles que se deben ejercer para su debido mantenimiento:
Ausentismo Descripción Nómina IMSS
Falta Falta regular, no justificada √ √ Suspensión Suspensión por acción disciplinaria √ √ Vacaciones Vacaciones disfrutadas por el empleado. Las vacaciones se pueden pagar por
adelantado. √ √
Retardo Generado cuando el empleado registra su entrada después de empezado su turno.
√
Permiso Con Goce Falta Justificada. √
Permiso Sin Goce Falta Justificada, sin pago de otros beneficios √
Incapacidad por Enfermedad en el Trayecto
Cuando el empleado no puede realizar sus labores debido a enfermedad en el trayecto
√ √
Incapacidad por maternidad Cuando el empleado no puede realizar sus labores debido a maternidad. Equivale a 42 días por ley.
√ √
Incapacidad por Riesgo de Trabajo
Cuando el empleado no puede realizar sus labores debido a un accidente ocurrido en la planta.
√ √
Incapacidad en el Trayecto al Trabajo
Cuando el empleado no puede realizar sus labores debido a un accidente camino a la planta
√ √
Incapacidad por Enfermedad General
Cuando el empleado no puede realizar sus labores debido a enfermedad contraída.
√ √
Tabla 4 – Tipos de Ausentismo
Tratamiento de Incapacidades. El proceso de negocio sobre incapacidades afecta a todas
las áreas de la empresa. Del mismo modo en que las líneas de producción necesitan saber con
qué personal cuentan para realizar el trabajo, el área de Recursos Humanos necesita reportar
toda ‘incidencia’ al Instituto Mexicano del Seguro Social y el área de nóminas deberá realizar el
pago correcto y de manera oportuna.
Control de Vacaciones. Los empleados de la planta de Mexicali gozan de un número
determinado de días de vacaciones al año, los cuales pueden ser pagados por adelantado. Es
decir, el empleado puede solicitar el pago por concepto de vacaciones sin todavía devengar las
mismas. También puede recibir dicho pago al momento de devengar los días de vacaciones o
34
al regresar de las mismas. El sistema necesita ser capaz de asignar dichos días de vacaciones a
cualquier periodo de nómina. La cantidad de días de vacaciones otorgados al empleado se
analiza más adelante en esta tésis.
Interfases. Como parte de los procesos de estandarización que la empresa lleva a cabo, se
requiere que toda información de recursos humanos fluya hacia diferentes sistemas de
cómputo para su análisis y evaluación.
Actualmente, los registros de entrada y salida de los empleados son automáticamente enviados
al sistema de nómina para su proceso. Esta es una tarea sencilla debido a que es el mismo
sistema de cómputo el que realiza dicha operación.
También se deben reportar de manera puntual todas y cada una de las faltas e incapacidades
que un empleado ha contraído. Actualmente, el sistema TRESS proporciona dicha
funcionalidad a través de un archivo plano, con un formato previamente establecido por la
institución correspondiente.
Administración de Cafetería.
Como se mencionó anteriormente, uno de los beneficios otorgados por la empresa a los
empleados es el servicio de cafetería. Un consumo por día es subsidiado a los empleados de la
planta.
Registro deConsumos
Interfase aNómina
Generación deReportes
Figura 2.D – Procesos de Cafetería
35
Registro de Consumos. Los empleados utilizan la credencial del sistema TRESS (de los
rejoles checadores) para registrar el consumo de alimentos. Actualmente existen cuatro líneas
de cafetería, cada una equipada con un lector, un altavoz y una pantalla que despliega la
fotografía del empleado al momento de deslizar la credencial. Toda esta información es
proporcionada por el sistema TRESS.
Los consumos de cafetería son registrados para ser descontados directamente del pago
semanal, el cual es subsidiado a un valor de 10.11 pesos. Sin embargo, cuando un empleado
tiene tiempo extra autorizado por más de cuatro horas, tiene derecho a un consumo gratuito.
El sistema realiza los cálculos necesarios para determinar si existe tiempo extra autorizado.
Este cálculo se realiza en tiempo real en el momento en el que el empleado desliza su
credencial por el lector. De esta manera el proveedor sabe si el consumo requiere ser pagado
en su totalidad por el empleado, el consumo es subsidiado o bien, el consumo es gratuito.
Interfase a Nómina. El número de consumos realizados por el empleado es enviado al
proceso de la nómina para determinar la deducción total por consumo de alimentos en dicho
periodo. También se pueden capturar consumos adicionales en el caso que se requiera, por
ejemplo, cuando se realiza un ajuste.
Generación de Reportes. Dos reportes importantes son generados a través de este módulo.
El primero es para el pago al proveedor, el cual incluye todos los consumos registrados y el
segundo es únicamente de consumos subsidiados. Este último es utilizado por el área de
nóminas para verificación de la información.
Al cuestionar la necesidad de estos controles y la complejidad de este sistema al área ejecutiva
de la planta, fue mencionado que el servicio de comedor frecuentemente tenía errores al recibir
todo el pago completo porque la información del subsidio de comida no estaba correctamente
capturada o reportada. Al eliminar el dinero en efectivo y utilizar las tarjetas inteligentes, la
empresa busca reportar de manera efectiva los pagos por concepto de consumos de comedor.
36
Proceso de Nómina.
El proceso de Nómina es el proceso con mayor grado de complejidad para el área de recursos
humanos. La nómina es semanal y la jornada de trabajo es distinta a la emitida por la ley
federal, aunque aprobada por el sindicato. El tiempo extra se maneja de acuerdo a una
interpretación mixta de la ley Del Seguro Social y de la Ley Federal Del Trabajo.
Definir Valoresde Cálculo
IncorporarInformación de
Cálculo
Cálculo deNómina
Revisión deResultados
Generación deReportes
Generación deInterfases
Figura 2.F - Procesos de Nómina
Definición de Valores de Cálculo. Antes de realizar cualquier tipo de cálculo que involucre
el pago a los empleados, todos los parámetros de cálculo de nómina se revisan y de ser
necesario se actualizan.
1. Salario Mínimo General de la Zona Económica del Empelado
2. Índice de Precios y Cotizaciones
3. Porcentajes de Aportación de las Ramas de IMSS
4. Tablas de Impuestos sobre la Renta
5. Aportaciones al Crédito de Vivienda INFONAVIT
De acuerdo con la Ley Federal del Trabajo, el salario mínimo es la cantidad menor que debe
recibir en efectivo el trabajador por los servicios prestados en una jornada de trabajo.
Cuadro Histórico de salarios mínimos Vigencia Zona A Zona B Zona C
2006 48.67 47.16 45.81 2005 46.80 45.35 44.05 2004 45.24 43.73 42.11
Tabla 6 – Salarios Mínimos por Zona Económica
37
Crédito de Vivienda INFONAVIT. La forma más común de que los empleados paguen
un crédito INFONAVIT es a través de la empresa en la que trabajan.
El patrón recibe un aviso llamado Aviso de Retención de Descuentos, el cual es entregado por
el empleado para comenzar a descontar del sueldo una cantidad fija en Veces Salario Mínimo
(VSM), o bien un porcentaje de descuento. Los usuarios de recursos humanos capturan esta
información en el sistema, el cual descuenta semana a semana el monto correspondiente al
pago del préstamo.
Incorporación de Información de Cálculo. Como todas las empresas, la planta de Mexicali
otorga percepciones y realiza deducciones del pago a los empleados. Algunas de estas
percepciones son específicas de la compañía, mientras que otras deducciones son obligatorias
de acuerdo al régimen fiscal.
Para analizar cómo se deben de calcular todos y cada uno de los conceptos de nómina de la
empresa, a continuación se presenta un cuadro informativo con la mecánica de cálculo
específica para cada concepto.
Descripción Gravado Variable Definición
Sueldo ordinario S N Es el salario diario del trabajador dividido entre ocho y multiplicado por las horas trabajadas.
Séptimo día S N Es el importe proporcional a las horas trabajadas de la semana. Incluye días de vacaciones.
Horas extras dobles S N Son las primeras nueve horas extras trabajadas en la semana y son pagadas al doble.
Horas extras triples S N Las horas extras trabajadas que exceden nueve horas a la semana, son pagadas al triple.
Vacaciones S N Importe de 1.2 días por cada día de vacaciones autorizado.
Prima vacacional S N Importe basado en el porcentaje de prima vacacional definido a nivel grupo de pago.
Prima dominical S N Es un 25% del salario diario, proporcional a las horas trabajadas en domingo. Depende del turno al cual el empleado pertenezca.
Otras percepciones S N Importe fijo con autorización previa.
Aguinaldo S N Días proporcionales basados en los días de Aguinaldo que la empresa paga a sus empleados y dependiendo del grupo de pago al cual pertenezcan.
38
Descripción Gravado Variable Definición
Horas de ajuste S N Horas autorizadas a pagar debido a un ajuste en alguna semana anterior.
Bono punt/asist S N Importe de13 pesos por día trabajado, considerando 7 días de la semana si el empleado trabajó toda la semana. Se pierde completamente si el empleado es suspendido, tiene un retardo en la semana, se encuentra en incapacidad o tiene alguna ausencia injustificada. Se pierde proporcionalmente si el empleado tiene un permiso con sin goce de sueldo por horas. Se paga también proporcional si el empleado tiene vacaciones en la semana.
Bono de rotación S N Importe de 14 pesos por día trabajado, considerando 7 días de la semana si el empleado trabajó toda la semana. Se pierde de manera proporcional si el empleado es suspendido, se encuentra en incapacidad, tiene permiso sin goce de sueldo o falta injustificada. Se paga completamente si el empleado tiene vacaciones en la semana.
Retroactivo S N Importe fijo con autorización previa.
Festivo laborado S N Día festivo laborado con previa autorización el cual es pagado como tiempo doble.
Suma de pagos por separación
S N Es la suma de los conceptos de liquidación: 20 días por año trabajado, 3 meses de sueldo y prima de antigüedad.
Descanso laborado S N Día de descanso laborado con previa autorización el cual es pagado como tiempo doble.
Bono asignación especial
S N Importe otorgado al empleado con previa autorización.
Bono nocturno S N Importe de 28 pesos por día trabajado considerando 7 días cuando el empleado trabaja la semana completa en turno nocturno. Se pierde de manera proporcional cuando el empleado es suspendido, se encuentra en incapacidad o tiene alguna falta injustificada. Se paga también cuando el empleado tiene vacaciones.
Bono especial S N Importe asignado al empleado bajo previa autorización.
Bono de contratación
S N Importe fijo asignado al empleado bajo previa autorización cuando se define a nivel contrato.
Bono de relocalización
S N Un mes de sueldo, basado en el pago neto.
Bono largo plazo S S Importe fijo asignado al empleado bajo previa autorización.
Vale de despensa S N Para empleados administrativos: 10% del salario semanal incluyendo el séptimo día, con un tope de 316 pesos. Se pierden de manera proporcional si el empleado se encuentra suspendido, o tiene ausencias injustificadas. Para los empleados pagados por hora: 20 pesos por día, considerando los 7 días de la semana. Se pierden de manera proporcional si el empleado se encuentra suspendido o tiene ausencias injustificadas Para ambos casos, el pago es proporcional a los días trabajados.
Gratificación por separación
N N Parte de la liquidación de un empleado cuando se finaliza la relación laboral. Equivale a 20 días de sueldo por año trabajado. El monto puede ser mayor con previa autorización.
39
Descripción Gravado Variable Definición
Indemnización S N Parte de la liquidación de un empleado cuando se finaliza la relación laboral. El importe equivale a 3 meses de sueldo y puede ser mayor con previa autorización.
Prima de antigüedad S N Parte de la liquidación de un empleado cuando se finaliza la relación laboral. Equivale a 12 días de sueldo por año trabajado, en donde 2 veces de salario diario por día es el tope. El importe puede ser mayor con previa autorización.
Tabla 9 – Percepciones utilizadas por la planta de Mexicali
Las deducciones que se aplican en el pago semanal del empleado corresponden a las
establecidas por la ley y algunas otras relacionadas a los beneficios que otorga la empresa a sus
empleados.
Descripción Gravado Variable Definición
Impuesto Sobre la Renta (I.S.R)
N N Deducción calculada sobre la base de la definición de la ley del Impuesto sobre la renta en los artículos 113, 114 y 115 mencionados anteriormente.
Cuotas Obrero-Patronales (I.M.S.S.)
N N De acuerdo a la legislación oficial sobre seguridad social provista por el IMSS, esta deducción es igual al Salario Diario Integrado multiplicado por los días trabajados en la semana y el resultado multiplicado por cada una de las ramas del seguro social mencionadas en el cuadro anterior.
Crédito al salario N N Cuando el monto de impuestos es mayor al tope definido a nivel federal, el empleado recibe un importe a favor de acuerdo a la Ley del Impuesto Sobre la Renta, artículo 115.
Crédito infonavit S N Crédito hipotecario otorgado por el Instituto Nacional del Fomento a la Vivienda (INFONAVIT). El monto otorgado se descuenta cada nómina dependiendo de lo establecido en el contrato. Dicho descuento se puede realizar de las siguientes maneras: a) Por cuota fija. b) Por veces de salario mínimo. c) Por Porcentaje basado en el SDI del empleado.
Otras deducciones S N Importe fijo con previa autorización.
Cuota sindical S N Es el 1% de la suma de salario y día de vacaciones para los empleados pagados por hora.
Desc.comida S N Número de consumos de cafetería en la semana multiplicado por el valor unitario del consumo, 9.05 pesos.
Ajuste x difer. S N Ajuste de redondeo aplicado al final del cálculo.
Excedente de Crédito al Salario
S N Cuando el monto calculado de Impuesto sobre la Renta rebasa el tope mencionado en la Ley del Impuesto Sobre la Renta, el empleado recibe crédito a favor cuyo valor es determinado sobre la base de la tabla del artículo 115 de la ley mencionada.
Tabla 10 – Deducciones generales utilizadas por la planta de Mexicali
40
Todas aquellas percepciones y deducciones establecidas a nivel empleado se definen antes de
cualquier cálculo de nómina, mismas que pueden variar de un periodo a otro. Del mismo
modo, algunas de estas percepciones se calculan dependiendo del grupo de pago al cual
pertenezcan los empleados. Los diferentes grupos son los siguientes:
Empleados de Confianza (Exentos) – Los empleados de confianza son por lo general parte
del personal de administración. También se incluyen en este grupo a los líderes de grupo en la
línea de producción.
Empleados pagados por Hora Administrativos (No Exentos) – Son todos aquellos
asistentes y secretarias ejecutivas que se encargan de labores administrativas pero que son
pagados dependiendo de las horas trabajadas.
Empleados pagados por Hora (Asociados) – Son todos aquellos empleados cuya labor
principal es la fabricación, ensamble y manufactura de los vehículos. Tienen derecho a bonos
de rotación y bonos por trabajo nocturno, entre otros. Todos los asociados firman un acuerdo
para pertenecer al sindicato.
El cálculo de nómina ocurre de manera semanal para la planta de Mexicali. Dicho cálculo
considera el tiempo trabajado por los empleados, las percepciones a las que tienen derecho, las
deducciones que proceden a descontar del pago, así como los parámetros a nivel compañía y a
nivel empleado.
El siguiente cuadro proporciona a detalle la manera en la que se realiza el cálculo de nómina
para la empresa en cuestión.
Descripción Valor
Subsidio Acreditable 0.65 Zona IMSS Baja California SubZona IMSS Mexicali, BCN Secotr IMSS 10000 Zona Económica de Salarios Mínimos A
41
Descripción Valor
Factor de Riesgo 0.007053 Factor de Mensualización 30.4 Método de Impuestos Ajuste a Fin de Mes Pago de Crédito al Salario Sí Base para el Cálculo del SDI Variable Días en el Bimestre Base para el Cálculo de las cuotas obrero patronales Salario Diario Integrado
Días de Vacaciones 10 días con incremento basado en antigüedad.
Prima Vacacional 30%
Días de Aguinaldo 22 días para empleados Exentos y 18
días para empleados no exentos y asociados.
Factor de Subsidio para Ausentismo Sin subsidio Beneficios adicionales 2 días adicionales de vacaciones
Tabla 11 – Parámetros por Compañía para el proceso de nómina.
Cálculo de Nómina. El área de Recursos Humanos requiere de un sistema capaz de
considerar todos los parámetros anteriores y realizar el cálculo sobre la base del tiempo
reportado por los relojes de control.
Dicho sistema informático debe tener la capacidad de incorporar actualizaciones a la
legislación, o nueva funcionalidad que dependa de los procesos de negocio incorporados por la
empresa.
La introducción y el mantenimiento de los datos que parametrizan o definen la ejecución de la
nómina, se debe de ofrecer de una manera sencilla a partir de páginas específicas, tales como
aquellas que recogen datos legales referentes a cálculo de cuotas de Seguridad Social o
retenciones por federales, o aquellas que permiten definir Convenios Colectivos y sus
características.
42
La explotación de los resultados deberá proporcionar un conjunto de informes e interfases que
se encuentren disponibles al usuario, el cual deberá tener acceso a la revisión del cálculo en
cualquier momento, ya sea para corrección, revisión o bien, para proporcionar la información
solicitada por los auditores de la empresa.
Lo que se busca con dicho cálculo es generar la información general de los trabajadores de una
empresa, en la cual se asientan las percepciones brutas, deducciones y alcance neto de las
mismas; la nómina es utilizada para efectuar los pagos periódicos semanales a los trabajadores
por concepto de sueldos y salarios. El cálculo debe también de considerar todo tipo de
ausentismo en el cual hayan incurrido los empleados, sobre la base de las reglas mencionadas.
Generación de Reportes de Nómina. Los usuarios de las áreas de Recursos Humanos y
Finanzas deben generar una serie de reportes para verificar el cálculo, así como para emitir
documentos informativos hacia los diferentes niveles ejecutivos de la compañía.
El análisis detallado de los requerimientos sobre reportes proporcionó una lista de informes
cuyas necesidades se basan en mantener el control adecuado de las compensaciones del
empleado, entre los cuales destacan reportes que se deben generar por formar parte de
requerimientos fiscales.
Reporte de Incapacidades. Este reporte deberá incluir todo tipo de información sobre
incapacidades otorgadas por las clínicas del Seguro Social a los empleados. Este reporte es
indispensable para la determinación de primas de riesgo, control de asistencia y remuneración
de los empleados.
Reporte de INFONAVIT. Los créditos otorgados a los empleados, así como su descuento en
nómina deben de ser verificados y aprobados por el área de finanzas. Con este reporte, el área
de recursos humanos puede corroborar la información cuando se realicen ingresos de nuevos
créditos, modificaciones o suspensiones a los mismos.
43
Avisos al Seguro Social (IMSS). Cuando se contrata a un empleado, se modifica su salario, o bien,
se termina la relación laboral con el mismo, es deber del patrón notificar al Instituto Mexicano
del Seguro Social sobre los cambios que se han efectuado. Aunque dicha entidad ahora acepta
las notificaciones por medio de Internet, es de interés para la empresa el mantener un listado
de control sobre dichas notificaciones.
Horas Trabajadas. El reporte de horas trabajadas es de suma importancia no sólo para el
personal de recursos humanos sino también para los líderes de grupo en las líneas de
producción, debido a que ellos son los que autorizan las horas regulares y las horas extras de
los empleados. Este reporte también incluye algún ausentismo en el cual el empleado haya
incurrido. La información de dicho reporte se utiliza para verificar que los totales por
empleado correspondan a los reportados para el proceso de cálculo de nómina.
Cualquier reporte de horas que no corresponda a previa autorización, o bien, cualquier
anomalía presentada, también debe ser considerado en este reporte para su debida verificación
dentro del sistema. Identificando este tipo de errores, el usuario podrá ingresar al sistema para
corregir la información y ejecutar el re-cálculo de nómina para algún empleado.
Ausentismo por Departamento. Este reporte se utiliza para evaluar el desempeño por área.
También se utiliza para verificar la información con el líder de grupo y de esta manera asegurar
que la información en nómina es la correcta.
Asistencia Diaria. El reporte de control sobre asistencia diaria ofrece un detalle sobre la hora a
la cual los empleados registran su ingreso y su salida de la planta, así como detalle sobre
permisos otorgados a los empleados para ausentarse en algún momento del día.
Carta Finiquito. Este documento contiene un detalle sobre las percepciones que se entregan al
empleado en el momento de terminar su relación laboral con la empresa, ya sea por liquidación
o renuncia. También contiene la información laboral necesaria al finalizar la responsabilidad
tanto del empleado como del patrón, razón por la cual es firmado por ambas partes.
44
Recibo de Nómina. Se genera una vez que el cálculo de nómina se ha ejecutado
satisfactoriamente. Los recibos de nómina son validados por los supervisores de las áreas de
recursos humanos y finanzas, y necesita ser firmado de aprobación para poder ejecutar la
interfase bancaria de depósito directo en las cuentas de los empleados.
Reporte de Tiempo Extra. Es utilizado para cuantificar y validar la información sobre horas extras
trabajadas por área. Generalmente es solicitado por los líderes de grupo para validar que las
horas que se van a pagar sean las correctas.
Reporte de Dependientes. El área de recursos humanos necesita llevar un control constante sobre
los dependientes de los empleados debido al seguro de gastos otorgado a los trabajadores.
Dicha cobertura sobre gastos médicos es administrada de manera externa, y el proveedor
contratado para este servicio necesita actualizar la información de manera semanal.
Historial de Vacaciones. El control de las vacaciones a las que tienen derecho los empleados.
45
C a p í t u l o 3
EVALUACIÓN DE COSTOS Y SELECCIÓN DE SISTEMAS
Opciones Consideradas
Las opciones sobre sistemas a implementar para la empresa en cuestión están relacionadas con
las necesidades que presentan tanto las áreas de Producción, Recursos Humanos y Finanzas.
Se consideran las arquitecturas actuales de la planta de Mexicali, así como la arquitectura
estándar de la compañía a nivel global. También se realiza el análisis de opciones cuyo diseño y
arquitectura es totalmente distinta a la implantada con anterioridad dentro de la empresa.
Cabe destacar que el ERP de PeopleSoft Recursos Humanos es el estándar utilizado por todas
las áreas de recursos humanos de la empresa en cuestión, para las diferentes plantas alrededor
de los Estados Unidos. Varios módulos del sistema de recursos humanos han sido
implementados y algunos puntos de integración entre módulos ya se encuentran definidos.
La nómina de la planta de Mexicali es procesada a través de un sistema que continúa siendo
rentado mensualmente a través de una compañía que proporciona servicio a varias compañías
en México de la misma manera; dicho sistema es rentado y el pago por concepto de soporte es
independiente al costo de la utilización del sistema.
Para considerar las opciones propuestas, se ha determinado incluir la experiencia de utilizar el
sistema actual, las mejores prácticas de negocio, así como la opinión de los expertos sobre
sistemas de recursos humanos y su integración en los procesos de negocio de las empresas.
A continuación se proporciona información detallada sobre las opciones analizadas, mismas
que deberán ser evaluadas por el personal ejecutivo de todas las partes involucradas, para
decidir por consenso la ruta que deberá de seguir la implantación.
46
1. Entregar el Proceso de Nómina a una compañía Externa. Los procesos de recursos
humanos y nómina se entregarían a un proveedor externo que se encargaría de realizar todas
las tareas relacionadas a la nómina. Dicho proveedor generará interfases necesarias para las
áreas de finanzas y manejo de costos, además de proporcionar información para llevar a cabo
las tareas relacionadas con la contabilidad general de la empresa, la cual se lleva a cabo en el
ERP de PeopleSoft Finanzas.
La información sobre la cafetería tendría que enviarse al proveedor externo, mismo que
incorporaría la información a la nómina para los descuentos por concepto de servicio de
comedor.
Figura 3.A – Delegación de la Información a un Proveedor, Opción 1.
El área de Recursos Humanos se encargaría de capturar la información sobre los empleados y
su debido control de las posiciones a las cuales éstos sean asignados. Proporcionará esta
información al proveedor ya sea por medio de correo electrónico, fax o bien, generando
reportes en archivos planos que el proveedor pueda utilizar.
PeopleSoft
Administración de Posiciones
Registro de Asistencia
Administración de Personal
ProveedorSistema TRESS
Administración dePersonal
Nómina
IMSS/ SUA,reportes Oficiales
Beneficios a lostrabajadores
Mantenimiento
Reportessolicitados por la
empresa
47
Es importante destacar que el módulo de PeopleSoft Recursos Humanos que registra las
entradas y salidas de los empleados, así como el detalle sobre ausentismo, deberá ser
implementado, debido a su relación con el control de la producción en la planta. Los líderes
de grupo necesitan esa información en tiempo real y es de nivel crítico para poder cumplir con
los tiempos definidos por el área de manufactura.
Ventajas. La facilidad de la implementación, así como la fecha en la que el sistema puede estar
disponible representan una importante alternativa a las necesidades que presenta el problema
actual.
A través de correo electrónico, teléfono, fax y cualquier otro tipo de tecnología de
información, el personal de la planta de Mexicali puede estar en constante comunicación con el
proveedor, el cual está localizado en México y cerca de la planta.
Desventajas. Cualquier retraso o problema que se presente podría alterar críticamente el pago de
la nómina y resultaría en problemas que pueden potencialmente escalar discusiones con el
sindicato al cual pertenecen los empleados de la planta.
Los líderes de grupo se basan en la información que pueda proporcionar el área de recursos
humanos. Sin embargo, la información no sería controlada por esta área sino por un proveedor
externo.
48
2. Utilizar PeopleSoft Recursos Humanos para la Administración del Personal y
TRESS para realizar el Proceso de Nómina. Esta propuesta considera implementar el
ERP de PeopleSoft Recursos Humanos para tener la facilidad de integración con otros
sistemas utilizados por la compañía. Toda la información relacionada al manejo del personal se
manejaría en PeopleSoft Recursos Humanos y el personal de esta área sería el dueño de la
información.
Figura 3.B – PeopleSoft RH con Nómina de TRESS, Opción 2.
Mediante esta propuesta, se continuaría utilizando el sistema TRESS para el proceso de
nómina ya sea por medio de la renta mensual o bien, adquiriendo una licencia por el uso del
software. El módulo de cafetería de TRESS se mantendría activo y existirían interfases para
intercambiar información entre PeopleSoft Recursos Humanos y TRESS.
Ventajas. La información en los dos sistemas estaría en manos del área de Recursos Humanos,
la cual podría generar cualquier tipo de reporte en el momento en el que sea necesario.
49
La implementación de PeopleSoft Recursos Humanos se facilitaría al no implementar el
módulo de nómina, y el cálculo continuaría siendo realizado en el sistema TRESS.
Al Implementar el módulo de recursos humanos de PeopleSoft, se podría integrar dicho
módulo con varias aplicaciones de la compañía, como el control de costos y el análisis de
desempeño, puesto que las interfases a esos sistemas ya existen.
Desventajas. Se han identificado 6 puntos críticos de integración entre sistemas entre los que
destacan las interfases de personal y seguridad social. Dichos interfases necesitarían ser
desarrollados y probados rigurosamente.
El tener la misma información en dos sistemas que necesitan sincronizarse constantemente no
es considerado una buena práctica de sistemas de información. El soporte de sistemas se
duplicaría y el riesgo de falta de integridad en la base de datos es elevado.
Se necesitaría desarrollar una interfase para proporcionar la información contable de nómina al
área de finanzas, o bien, llevar a cabo el proceso actual en el cual tanto recursos humanos
como finanzas generan reportes que son actualizados manualmente para posteriormente
incorporarlos al ERP de Finanzas.
50
3. Implementar los módulos del ERP PeopleSoft Recursos Humanos y eliminar el uso
del sistema TRESS. A través de esta opción se pretende continuar con la alineación de
sistemas estándar utilizados por la empresa. Se implementarían todos los módulos necesarios
para cubrir las necesidades de la planta de Mexicali, además de que se consideraría desarrollar
nueva funcionalidad para ciertos procesos de negocio que en la actualidad PeopleSoft no
considera, por ser específicos de la empresa en cuestión.
Administración dePosiciones
Registro deAsistencia
Adminsitración deContratos
Adminsitración deBeneficios
Administración dePersonal
Control deEntrada/Salida
Módulo deCafetería
Proceso deNómina
Generación deReportes
Registrode Cafetería
Figura 3.C – PeopleSoft Recursos Humanos, implantación completa.
El registro de entradas y salidas en las demás plantas en Estados Unidos se controla a través de
la puerta de acceso a la planta. Al seleccionar esta opción, se deberá de hacer lo mismo con la
planta de Mexicali. El sistema de registro de seguridad y acceso a la planta pertenece al mismo
proveedor en todas las plantas, incluida la planta de Mexicali.
51
Ventajas. La funcionalidad a implementar se alinea a las prácticas de sistemas y la dirección a
largo plazo de las áreas de recursos humanos de todas las plantas que pertenecen a la empresa.
Existe una cantidad considerable de reportes desarrollados anteriormente por la empresa, que
pueden ser utilizados por el área de Recursos Humanos de la planta de Mexicali. Dichos
reportes fueron generados para cubrir las necesidades de otras plantas, pero pueden ser
utilizados para la planta de Mexicali puesto que las funciones y procesos son estándar para
todas las plantas de la compañía.
El área de sistemas de la compañía está especializada en PeopleSoft y cuenta con un área de
sistemas específica para PeopleSoft Recursos Humanos. Cualquier nueva adaptación puede ser
llevada a cabo y mantenida por esta área sin necesidad del pago a proveedores o consultores.
Debido a que la empresa adquirió el ERP PeopleSoft Recursos Humanos desde hace tiempo,
no necesita pagar una nueva licencia para utilizarlo para la planta de Mexicali. Únicamente se
pagaría el valor de la licencia para el módulo de Nómina para México, considerando que se
obtendrá un descuento por estar utilizando Nómina para Norte América actualmente.
La información se almacenaría en un sólo lugar, evitando así duplicidad de información y
proporcionando mejor manejo de la misma. Al utilizar una base de datos relacional como
Oracle, el desempeño de las aplicaciones es más efectivo y el control de acceso a la
información es más específico.
Del mismo modo, el personal ejecutivo tendrá la posibilidad de acceder a reportes de medición
de desempeño en tiempo real, utilizando los KPI ya existentes en el sistema y generando
información sobre el personal de la planta de Mexicali y sus correspondientes evaluaciones.
Desventajas. Debido al cambio de sistema, algunos procesos deberán ser reacomodados para
adaptarlos a prácticas estándar de administración de recursos humanos, lo cual provocará
resistencia por parte de los usuarios debido al choque cultural que puede ocurrir. El manejo y
administración del cambio tendrán que ser parte esencial en la implementación del ERP.
52
Debido al tamaño de la implantación, el entrenamiento a proporcionar deberá de considerar
módulos estándar entregados en el ERP, así como entrenamiento y talleres de práctica para las
adaptaciones realizadas al mismo.
Evaluación para el Módulo de Cafetería
El módulo de cafetería, el cual se encarga del control y administración de las comidas
proporcionadas en el comedor de la planta, no es un módulo que sea entregado por
PeopleSoft.
En el mercado, existen varios proveedores que pueden satisfacer las necesidades de este
módulo. Sin embargo, no todos poseen las características necesarias para llevar a cabo un
intercambio de datos en tiempo real con el fin de determinar el subsidio por concepto de
alimentos de cafetería cuando este aplique.
Sobre la base de los requerimientos preliminares, se presentan las siguientes opciones para
dicho módulo.
1. Mantener el módulo de Cafetería del sistema TRESS. El módulo de cafetería
continuaría siendo utilizado como se utiliza actualmente. El pago de la licencia por el uso del
sistema TRESS ya incluye este módulo y el hardware necesario ya está instalado en el comedor
de la planta.
Ventajas. Los usuarios no observarían cambio alguno en referencia al proceso que se sigue
actualmente. El registro y mantenimiento de la información de cafetería seguiría siendo el
mismo, así como el hardware y tarjetas de identificación que se utilizan.
Desventajas. El sistema TRESS no cuenta con las herramientas de conectividad necesaria para
intercambiar información con otros sistemas. Cualquier tipo de interfase deberá ser
desarrollada completamente. Además, se deberá adquirir el sistema TRESS por completo para
poder utilizar únicamente el módulo de cafetería.
53
2. Adquirir un sistema externo de cafetería que pueda intercambiar información con
PeopleSoft Recursos Humanos. Se realizó una búsqueda de proveedores los cuales cuentan
con herramientas para intercambiar información con sistemas externos. La mayoría de los
sistemas encontrados en el mercado son parte de un sistema de recursos humanos completo y
no se venden por separado. Por lo tanto, adquirir un sistema de cafetería en muchos casos
representa adquirir un sistema adicional de recursos humanos con un costo mayor a lo que la
planta de Mexicali considera invertir.
El sistema SC200 es un sistema local de recursos humanos con un módulo de cafetería en el
cual los módulos que no se utilizan son desactivados, por lo cual el costo de adquisición del
mismo es aceptable. Se solicitaron demostraciones del producto y se realizó un análisis del
funcionamiento de este sistema y su capacidad de interfase con sistemas externos.
Ventajas. El sistema SC200 es ejecutado en un servidor central que debe residir en la planta de
Mexicali y se puede acceder a él desde cada una de las estaciones o PC de las líneas de cafetería.
El sistema utiliza el programador de eventos de Microsoft Windows el cual invoca un
demonio1 el cual se puede conectar al ERP de PeopleSoft y extraer la información demográfica
y de tiempo extra que afecta al servicio de comedor. El proceso programado correría varias
veces al día para extraer la información y actualizar los registros que hayan cambiado.
Desventajas: La conexión que realiza este programa hacia la base de datos fuente es mediante
ODBC y los servidores de aplicación están en Kentucky, Estados Unidos. Además, este tipo
de conexión omitiría cualquier definición de seguridad en PeopleSoft. El extraer información
mediante esta tecnología no es viable.
1 De sus siglas en inglés, Disk And Execution Monitor, es un tipo de proceso informático que se ejecuta en segundo plano y
que no es controlado por el usuario.
54
La misma información estaría en dos ‘sistemas’ distintos y eso puede generar algunos errores
de sincronización o integridad de la información. Los líderes de grupo autorizan el tiempo
extra antes del horario de comida y el proceso de extracción de datos tendría que finalizar antes
de que los empleados comiencen a solicitar sus alimentos.
3. Desarrollar el módulo de cafetería en PeopleSoft como módulo adicional de
Recursos Humanos. Se ha propuesto diseñar el módulo de cafetería sobre la base de los
requerimientos de negocio para este proceso. La idea es crear un módulo de captura a través
de un lector de tarjetas de identificación que muestre en tiempo real los datos relacionados al
horario de trabajo del empleado, así como el tiempo extra ingresado por los líderes de grupo.
Ventajas. Al desarrollar el sistema en el ambiente PeopleSoft, la base de datos sería la misma y
se evitaría desarrollar interfases hacia sistemas externos. El intercambio de datos puede ser en
tiempo real y la información se almacenaría en un solo lugar.
El módulo de cafetería podría ser consultado desde cualquier PC mediante la captura de un
usuario y contraseña válidos, mismos que se asignarán a los empleados que necesiten consultar
esta información.
Desventajas: El desarrollo de un módulo de cafetería agregará costos por concepto de servicios
profesionales. Se podrán utilizar las mismas PC que se encuentran actualmente en la cafetería,
sin embargo, los lectores de tarjetas de identificación deberán adquirirse y se deberá validar que
funcionen correctamente con el ERP de PeopleSoft.
55
Evaluación de Costos
A continuación se describe el análisis realizado a los costos para cada una de las opciones
mencionadas. El módulo de cafetería se analiza de manera independiente puesto que los costos
asociados son exclusivos del módulo mismo y no tienen impacto en la implantación del ERP
de manera global.
Costos asociados al entregar el proceso de nómina a una compañía externa. El costo
final de implementar algunos módulos de PeopleSoft Recursos Humanos, considerando
también proveedores externos y servicios de soporte para ambas partes es de $173,000.00 por
cada año de servicio.
0
20000
40000
60000
80000
100000
120000
140000
Costos Asociados
Consultoría PeopleSoft
Anualidad Servicio de Nómina
Figura 3.D – Proceso de Nómina con compañía Externa
56
Costos asociados por utilizar PeopleSoft Recursos Humanos para la Administración
de Personal y TRESS para el proceso de Nómina. La determinación de este costo
considera el esfuerzo de conversión de datos, desarrollo de interfases, compra del sistema
TRESS y consultoría externa para ambos sistemas. Dicho costo equivale a 457,000.00 dólares.
0 20000 40000 60000 80000
100000 120000 140000 160000 180000
Costos Asociados
Conversión de Datos Desarrol lo de Interfases Adquisición de sistema TRESSConsultoría PeopleSoft Consultoría TRESS
Figura 3.E – Nómina TRESS y PeopleSoft Recursos Humanos
Una vez implementado el sistema, se necesitará contratar los servicios de soporte para el
sistema TRESS, los cuales se ubican en $7,000.00 dólares anuales promedio, dependiendo del
tipo de membresía de soporte.
Costos asociados al implementar PeopleSoft Recursos Humanos y eliminar el uso del
sistema TRESS. La determinación del costo para esta opción considera la conversión de
datos, desarrollo de interfase y adquisición de la licencia de PeopleSoft Nómina para México.
57
0
50000
100000
150000
200000
250000
300000
Costos Asociados
Conversión de Datos
Desarrollo de Interfases
Adquisición de sistema TRESS
Consultoría PeopleSoft
Figura 3.F – PeopleSoft Recursos Humanos y Nómina
Dicho costo equivale a $400,000.00 dólares. Cabe destacar que la inversión en consultoría se
ubicará en los $280,000.00 dólares. Sin embargo, se estima un retorno de inversión en 3.5 años
puesto que el soporte del producto será proporcionado por el área de sistemas, se elimina el
pago por renta de sistemas y la membresía de soporte de PeopleSoft es gratuita por 10 años
debido a que ambas empresas firmaron un convenio cuando fueron adquiridos todos los
módulos de PeopleSoft para las plantas de Estados Unidos de la compañía.
Costo asociado al mantener el módulo de cafetería del sistema TRESS. El costo del
módulo de cafetería está incluido en la cuota por compra del sistema TRESS, la cual asciende a
95,000.00 dólares. Además, se debe incluir el costo por desarrollo de la interfase el cual
equivale a 15,000.00 dólares
58
0100002000030000400005000060000700008000090000
100000
Costos Asociados
Adquisición del sistema TRESS
Desarrollo de Interfases
Figura 3.G Cafetería en Módulo de TRESS
Costo asociado al adquirir el sistema externo SC200 para el control de cafetería. El
costo de la instalación y configuración del sistema asciende a 20,000.00 dólares, el cual incluye
asesoría profesional para las interfases, configuración inicial y periféricos en el área de cafetería.
02000400060008000
100001200014000160001800020000
Costos Asociados
Instalación del Sistema
Soporte Anual
Consultoría PeopleSoft
Figura 3.H – Implantación del sistema SC200
59
Se deberán cubrir los costos de soporte al producto los cuales tienen un valor estimado de
1,500 dólares anuales y los costos asociados a la consultoría de PeopleSoft Recursos Humanos.
Costo asociado al desarrollar el módulo de cafetería en PeopleSoft Recursos Humanos.
El desarrollo de este módulo quedaría en manos del área de sistemas de la empresa en cuestión
con un costo estimado de 25,000.00 dólares por concepto de servicios profesionales. El
soporte del producto se proporcionará también por el área de sistemas sobre la base del
presupuesto general para el soporte de tecnologías de información con un costo asociado de
5,000.00 dólares anuales.
0
5000
10000
15000
20000
25000
Costos Asociados
Consultoría PeopleSoft
Soporte del Producto
Figura 3.I – Módulo de Cafetería en PeopleSoft
60
Decisión por parte del Equipo del Proyecto.
Gerentes de diferentes plantas de la empresa en cuestión, consultores de procesos de negocio y
especialistas sobre tecnologías de información atienden diferentes reuniones de demostración y
debaten sobre las opciones consideradas para esta implementación.
Se observa que existe una alta prioridad a mantener el estándar de sistemas de información en
todas las plantas de la empresa en cuestión.
$283,000.00
$567,000.00
$510,000.00
$219,400.00
$503,400.00
$446,400.00
$203,000.00
$487,000.00
$430,000.00
$173,000.00
$457,000.00
$400,000.00
$- $100,000.00 $200,000.00 $300,000.00 $400,000.00 $500,000.00 $600,000.00
Proceso de Nómina por CompañíaExterna
PeopleSoft Recursos Humanos conNómina TRESS
PeopleSoft Recursos Humanos yNómina
Figura 3.J – Evaluación General de Costos
En la gráfica anteriormente mostrada, se consideran los costos de implementación para
PeopleSoft y los costos de renta para utilizar una solución externa. Sin embargo, es importante
destacar que la última opción representa el costo anual, mientras que para las primeras dos
opciones, se prevé un presupuesto anual únicamente relacionado al soporte del producto.
61
A partir del análisis de opciones y costos, los presidentes de la planta de Mexicali y de la
compañía destacaron puntos importantes a considerar y emitieron su decisión sobre la
dirección que deberá seguir la planta de Mexicali para los procesos que involucran Recursos
Humanos y tecnologías de información:
1. Implementar los módulos del ERP PeopleSoft Recursos Humanos y
eliminar el uso del sistema TRESS
2. Desarrollar el módulo de cafetería en PeopleSoft como módulo adicional
de Recursos Humanos.
Sobre la base de esta decisión, se procedió a realizar el análisis y diseño detallado de los
requerimientos de negocio de las áreas involucradas.
Las propuestas fueron explicadas y revisadas sobre la base del esquema incluido en el
Apéndice F Opciones para la Implementación del Sistema de Recursos Humanos dentro de esta tesis, en
la cual se presentan las principales ventajas, desventajas, costos y riesgos asociados para cada
una de las opciones.
62
63
C a p í t u l o 4
DISEÑO DEL SISTEMA
A partir de la opción seleccionada por el comité ejecutivo, se procedió a realizar el análisis de
los requerimientos de negocio de manera detallada. Se revisó la funcionalidad proporcionada
por el ERP de PeopleSoft Recursos Humanos en donde se identificaron posibles cambios
necesarios al sistema, así como posibles adaptaciones que requieren nuevos desarrollos.
Análisis Fit-Gap de Requerimientos
El propósito del análisis Fit-Gap es asegurar que la propuesta de implementación de sistemas
cumpla con los requerimientos de negocio de la empresa y al mismo tiempo facilitar cambios
necesarios en procedimientos y uso de tecnologías de información para cumplir con las
mejores prácticas de negocio que puedan ser soportadas por las áreas involucradas en el
proyecto.
Este análisis facilitará la medición del esfuerzo necesario y servirá también para determinar el
alcance del proyecto. Del mismo modo, se identificarán los recursos necesarios para cumplir
exitosamente con las metas establecidas.
Una vez finalizado dicho análisis, se revisarán los requerimientos de manera exhaustiva para los
procesos de negocio que así lo requieran a manera de determinar las necesidades sobre
interfases, conversión, diseño a la medida, generación de reportes, seguridad de la información
tanto para determinar el nivel de desarrollo y costos asociados.
El Apéndice B adjunto a esta tesis contiene ejemplos generales sobre la información e
investigaciones realizadas para la implementación de este proyecto.
64
Planificación del Alcance del Proyecto
La definición y gestión del alcance del proyecto influyen sobre el éxito general del proyecto.
Cada proyecto exige un delicado equilibrio entre las herramientas, las fuentes de datos, las
metodologías, los procesos y los procedimientos y otros factores, con el fin de asegurar que el
esfuerzo dedicado a actividades para determinar el alcance sea acorde al tamaño, la
complejidad y la importancia del proyecto.
El plan de gestión del alcance del proyecto es una herramienta de planificación que describe
cómo el equipo definirá el alcance del proyecto, desarrollará el enunciado del alcance del
proyecto detallado, definirá y desarrollará la estructura de desglose de trabajo y verificará y
controlará el alcance definido para el proyecto.
La preparación de un enunciado del alcance del proyecto detallado es crítica para el éxito del
proyecto y se construye sobre la base de los principales productos entregables, asunciones y
restricciones que se documentan durante el inicio del proyecto en el enunciado preliminar del
alcance.
Durante la planificación, el alcance del proyecto se define y describe de manera más específica
porque se conoce más información acerca del proyecto.
Las necesidades, deseos y expectativas de los interesados se analizan y convierten en requisitos.
Las asunciones y restricciones se analizan para verificar si están completas y de ser necesario,
se agregan asunciones y restricciones adicionales.
Para el proyecto de implementación en la planta de Mexicali, se procedió a realizar el siguiente
análisis con el fin de determinar el alcance del proyecto de manera satisfactoria, considerando
asunciones y restricciones relacionadas con el mismo.
65
Definición del Alcance del proyecto
La definición del enunciado del alcance del proyecto describe el detalle de los productos
entregables del proyecto de implantación del sistema, así como los principales objetivos del
mismo.
El proyecto de implementación del Sistema PeopleSoft Recursos Humanos reducirá costos de
mantenimiento de sistemas, estandarizará procedimientos de la compañía, ofrecerá
herramientas integrables para la administración y control de los recursos humanos,
administración y pago de la nómina, así como el registro de asistencia, puntualidad y control de
cafetería.
Objetivo del Proyecto. Los objetivos del proyecto incluyen los criterios que pueden medir el
éxito del proyecto.
Los objetivos de este proyecto son los siguientes:
• Se reducirá el costo de mantenimiento de sistemas en un 50 % en 5 años.
• Se utilizará un solo sistema para la administración y control de los recursos humanos
de la empresa, mismo que seguirá los estándares de calidad definidos de la compañía.
• Se obtendrá la calidad, integridad y seguridad de la información de recursos humanos a
partir de la liberación del sistema a producción.
Descripción del Alcance del Proyecto. A continuación se procede a describir las
características del sistema para el cual este proyecto se ha creado.
Al tener un único sistema de recursos humanos el cual se encuentra integrado con otros
sistemas de la compañía, se pueden realizar con mayor agilidad todos aquellos procesos que
formen parte del estándar de actividades y procedimientos de la compañía en cuestión.
66
El sistema de recursos humanos para la planta de Mexicali será mantenido por el área de
tecnologías de información de la compañía y su implementación se basará en prácticas globales
de negocio, así como en requisitos específicos de la planta.
Requisitos del Proyecto. El sistema de recursos humanos a implementar deberá de cumplir
con los siguientes puntos:
1. El sistema deberá soportar la legislación y reglamentos que marcan las leyes y estatutos
mexicanos respecto a la generación y el pago de la nómina.
2. El sistema deberá acoplarse a ciertos requisitos definidos por el sindicato, mismos que
pueden ser actualizados cada año.
3. El sistema deberá de ser capaz de ser actualizable cuando sea necesario, ya sea por
algún requerimiento en la legislación fiscal o por mejoras al desempeño.
Límites del Proyecto. Esta implantación no pretende generar nuevos procesos de negocio
para la planta de Mexicali. El proyecto considera los estándares utilizados en la actualidad,
mismos que se adaptarán al ERP de PeopleSoft Recursos Humanos.
La implantación de este sistema considera los siguientes puntos:
- Administración de Datos del Personal
- Administración de Asistencia y Puntualidad
- Administración de Cafetería
- Proceso de Nómina
- Interfase contable y hacia los sistemas de evaluación de desempeño
67
Entregables del Proyecto. El conjunto de entregables del proyecto serán agrupados
dependiendo de la fase en la que se encuentre el proyecto. El entregable final del proyecto será
el sistema mismo en producción.
Entregables - Fase de Análisis
- Análisis Fit-Gap
- Estructura de Descomposición del Trabajo (EDT)
- Análisis de Esfuerzo de Desarrollo
Entregables - Fase de Diseño
- Análisis y diseño de la funcionalidad del sistema
- Análisis de Gestión de Tiempo del Proyecto
- Plan de Implantación
Entregables – Fase de Desarrollo
- Sistema PeopleSoft Recursos Humanos
- Documento de Pruebas unitarias de Desarrollo
Entregables - Fase de Pruebas
- Documentación sobre Pruebas aceptadas por el Usuario
Entregables – Fase de Liberación
- Plan de Liberación y Soporte del Sistema
Criterios de Aceptación de Entregables. Todos los Entregables del proyecto deberán ser
revisados y aprobados por el comité del proyecto, mismo que se compone de representantes
de opinión de las áreas afectadas: Recursos Humanos, Finanzas, Manufactura y Sistemas.
68
Restricciones del Proyecto. Este proyecto no pretende generar nuevos procesos de negocio
para la empresa. Los siguientes procesos no serán considerados dentro del proyecto puesto
que ninguno de ellos se lleva a cabo en la actualidad:
• Planificación de Salarios, Escalas y Grados Salariales.
• Control de Acciones Disciplinarias.
• Administración de Seguro de Gastos Médicos Mayores.
Asunciones del Proyecto. Se asume que para la implementación de este proyecto, se definirá
un organigrama general en el cual se asignen responsabilidades a cada uno de los actores en el
proyecto. Cada área deberá de proporcionar el tiempo y soporte necesario para completar las
tareas necesarias de desarrollo, pruebas y liberación.
Se asume también que el área de Sistemas tendrá listo el ambiente de bases de datos y
servidores necesario para llevar a cabo el análisis, diseño e implantación del sistema PeopleSoft
Recursos Humanos. Se asume también que los patrocinadores del proyecto y responsables
principales asumirán el cargo de supervisores para controlar y dirigir esta implementación
sobre la base del alcance del proyecto.
Riesgos. Habrá que tomar en cuenta que la revisión, diagnóstico y definición de los
entregables depende mucho de la descripción de los procesos de negocio que las áreas
involucradas proporcionen para el análisis de esta implementación.
Otro de los riesgos importantes para la implementación de este sistema es la legislación fiscal
de México. Actualmente, existen diversas propuestas de modificación al tratamiento de
impuestos, mismas que de ser aceptadas por la cámara de diputados y senadores del poder
legislativo del país, deberán ser implementadas por el área de sistemas.
69
Organigrama del Proyecto. Debido a la importancia gerencial anteriormente mencionada, se
ha propuesto el siguiente esquema, mismo que deberá estar conformado por personal
dedicado al menos 80% del tiempo a la implementación del producto.
Figura 4.A – Organigrama del Proyecto
Los roles y responsabilidades de cada uno de estos perfiles se detalla más adelante en esta tesis,
dentro del Plan de Implantación.
70
Arquitectura de Sistemas Propuesta
Sobre la base del análisis Fit-Gap, la revisión de los requerimientos de negocio y los estándares
de sistemas de información utilizados por la compañía, se ha realizado el siguiente esquema, el
cual pretende mostrar una idea a alto nivel sobre la arquitectura que será utilizada a través de la
implementación del Sistema de Recursos Humanos.
Figura 4.B – Arquitectura de Sistemas Propuesta
71
Flujo de Información. Las actividades involucradas con el sistema de recursos humanos
comienzan con el registro de entradas y salidas a partir de los accesos de seguridad. El sistema
de seguridad, el cual depende del proveedor, se comunicará con el sistema de recursos
humanos para que este último recabe la información necesaria. Los registros de entrada y
salida serán controlados y administrados dentro del módulo de tiempos y asistencia del sistema
de recursos humanos. Existirán pantallas de control para los líderes de grupo, las cuales
permitirán el registro de incidencias para los empleados que reporten a ellos. El conteo de las
horas regulares trabajadas, el tiempo extra, así como los días festivos y de descanso laborados
serán enviados al sistema de desempeño a través de una interfase.
El módulo de cafetería será construido con herramientas de PeopleSoft para que trabaje
dentro de la misma plataforma y ambiente, debido a los requerimientos de consulta inmediata
de tiempo extra autorizado. Dicho módulo de cafetería obtendrá información sobre registros
de comedor a través de dispositivos USB conectados a 4 terminales distintas ubicadas dentro
de la cafetería misma. Dichos dispositivos funcionarán al deslizar la tarjeta de identificación
utilizada por los empleados para acceder a la planta.
Tanto el módulo de Tiempos y Asistencia, así como el módulo de cafetería, enviarán toda la
información para ser procesada por el módulo de nómina a través de diferentes interfases. El
módulo de nómina utilizará reglas de cálculo que sean flexibles y actualizables, respetando los
criterios fiscales y de seguridad social.
El módulo de nómina ofrecerá la posibilidad de generar archivos de interfase para la
Declaración de Información Múltiple (DIM), el Sistema Único de Autodeterminación (SUA),
IMSS desde su empresa (IDSE), el archivo de depósito directo (Banco Banorte es el proveedor
de la compañía), así como la interfase para el sistema de contabilidad general y costos.
El usuario tendrá la posibilidad en cualquier momento, de generar consultas con el fin de
verificar la información. Sin embargo, todos los reportes que deben ser generados para
cumplir requisitos legales, serán desarrollados por los consultores y áreas de sistemas cuando
éstos no sean entregados dentro del ERP de Recursos Humanos de PeopleSoft.
72
Estructura de Descomposición del Trabajo.
En la administración de proyectos moderna, la herramienta más distintiva y fundamental es la
Estructura de Descomposición de Trabajo, o WBS por sus siglas en inglés.
Figura 4.C – Estructura de Descomposición de Trabajo
73
La imagen anterior muestra la estructura de descomposición del trabajo para esta implantación,
la cual está basada en el análisis de requerimientos y la definición del alcance del proyecto.
Prácticamente es la base para poder saber qué es lo que se requiere hacer y de ahí realizar los
planes de tiempo, costo, calidad, riesgo, adquisiciones, comunicaciones y recursos humanos, de
forma integral.
Funcionalidad Entregada por el Sistema de Recursos Humanos
Dentro de este apartado se han identificado los procesos de negocio más importantes los
cuales pueden ser definidos dentro del sistema tal cual son entregados, o bien, que requieren
únicamente de la definición correcta de ciertos parámetros para poder ser utilizados.
Parámetros Generales de Implementación
El funcionamiento adecuado del sistema PeopleSoft se basa principalmente sobre la correcta
definición de los parámetros de implementación y la secuencia de carga o definición de datos
en el sistema. A continuación se presenta un detalle de alto nivel sobre la configuración
requerida en el sistema PeopleSoft Recursos Humanos para llevar a cabo esta implementación.
ID de Definición – Para cada compañía se define un ID de definición el cual sirve para agrupar
todos y cada una de las definiciones de niveles de la compañía bajo un solo identificador. Por
lo tanto, el ID de definición para la planta de Mexicali se denominará MEXICALI.
Definición de Unidades de Negocio - Son unidades lógicas que son creadas para propósitos de
reporteo y que no tienen restricción alguna. Como parte de la lógica de negocio utilizada en
todas las plantas de la compañía, las unidades de negocio están relacionadas una a una con los
ID de definición. Por lo tanto, la unidad de negocio para la planta de Mexicali se definirá como
MEXICALI
Definición de Compañía – Al definir la compañía dentro del sistema, se incorporará información
general sobre la ubicación fiscal de la planta, así como información de seguridad social y otros
parámetros asociados a la nómina mexicana.
74
La compañía se definirá como TIJ debido a que el campo sólo acepta un identificador de tres
caracteres. También se asociará al ID de Definición MEXICALI.
Definición de Departamentos – Los departamentos son entidades de cierta unidad de negocio. Son
la estructura principal utilizada por varios módulos de recursos humanos, asistencia y nómina.
Los departamentos están vinculados a un ID de definición, a una compañía y a una localidad.
En este nivel también se puede definir el centro de costos asociado a cada departamento.
En la planta de Mexicali, la división de administración se conforma por cuatro áreas, las cuales
reportan a una misma persona. Algunos de los departamentos a definir para el área de
administración son los siguientes:
División Área Departamento
A Administración CA Administración Corporativa
C1000 Oficina Corporativa
C4000 Sistemas de Información
HR Recursos Humanos
H1000 Relaciones Laborales
H2000 Capacitación
Tabla 12 – Departamentos de Administración en la planta de Mexicali
La división de manufactura se subdivide en varias áreas las cuales están definidas dependiendo
de las actividades a realizar en la línea de producción.
La siguiente tabla presenta algunos departamentos a los cuales reportan los empleados del área
de manufactura.
División Área Departamento
M Manufactura DE Chasis M1100 Armado de Chasis
M1000 Administración General
AS Ensamblado M2100 Acabados
M2300 Alma/ Motor / Eje
M2500 Lateral / Final / Reparación
Tabla 13 – Departamentos de Manufactura en la planta de Mexicali
75
Cualquier modificación organizacional después de la implementación será actualizada y
mantenida por los usuarios del área de Recursos Humanos.
Códigos de Puesto. En PeopleSoft se definen los puestos en la empresa y se controla la
información de los mismos de manera independiente a las personas o al grupo de personas
asignadas a cierto puesto. Los puestos son un concepto diferente a las posiciones.
Clave Puesto Descripción
02 Presidente 06 Vicepresidente 14 Gerente 20 Especialista 22 Líder de Grupo 26 Asistente 32 Asociado de Ingeniería 36 Asociado
Tabla 14 – Códigos de Puesto de la planta de Mexicali
En la tabla anteriormente mostrada, se pueden observar algunos de los puestos utilizados en la
planta de Mexicali. La descripción de los puestos se utilizará para enviar información al
Instituto Mexicano del Seguro Social.
Parámetros de Nómina. Dentro de la configuración necesaria para llevar a acabo los
procesos de nómina, se necesitan definir todos aquellos parámetros que se encuentren
relacionados con impuestos y contribuciones sociales.
Los parámetros más importantes a definir para esta implementación se mencionan a
continuación.
Grupos de Pago. Son conjuntos de empleados que comparten características similares en cuanto
a la remuneración y beneficios. Para la planta de Mexicali se deben definir los siguientes
grupos:
76
Exentos. Son empleados que no necesitan registro de entrada y salida diaria y que sus tareas
se encuentran más enfocadas a la administración y control de la planta, así como sus recursos.
Los líderes de grupo que trabajan en la línea de producción también pertenecen a este grupo.
No Exentos. El registro de entrada y salida de estos empleados es tomado en cuenta para
determinar el pago por concepto de salario diario. Las tareas que estos empleados desempeñan
son exclusivamente administrativas.
Asociados. Estos son los empleados que trabajan exclusivamente en la línea de producción y
los cuales son pagados por las horas que trabajan mediante el registro de entrada y salida por
reloj checador.
Todos los grupos de pago de la planta trabajan con los mismos parámetros, con la única
diferencia en los días de aguinaldo que se pagan a los empleados Exentos. A continuación se
presenta una tabla que explica a detalle la configuración de los grupos de pago.
Factor día 30.4 Crédito al Salario Sí
Días Variabilidad Días Bimestre Séptimo Día Sí
Pago de Prima Vacacional
Al tomar Vacaciones Factor de Subsidio Sin Factor
Método de Impuestos Ajuste Fin de Mes
Cuotas IMSS pagadas por el patrón
No
Tabla 15 – Parámetros generales de Nómina
Los beneficios otorgados a los trabajadores dependen de los años que hayan prestado sus
servicios a la compañía.
Parámetros de Asistencia y Puntualidad. Estos parámetros están relacionados a la captura
del tiempo trabajado por los empleados, así como las incidencias presentadas por motivos de
ausentismo o tiempo extra.
Códigos de Tiempo (TRC). En el módulo de PeopleSoft Asistencia y Puntualidad se definen los
diferentes códigos que registrarán el tiempo. Dichos códigos se utilizan para identificar cómo
se desea realizar el pago a los empleados.
77
Algunos de los códigos para la planta de Mexicali. Son los siguientes:
FALTA. Ausentismo general de los empleados.
HOLID Día festivo no trabajado
MATER Incapacidad por maternidad
OVTP Tiempo extra autorizado
REGP Tiempo regular
TARDY Retardo
Los líderes de grupo incorporarán la información sobre las horas trabajadas de los empleados
utilizando los códigos de tiempo por día. Algunos de estos códigos se han definido en idioma
inglés puesto que éste es el estándar en todas las plantas de la compañía.
Funcionalidad Entregada para la Administración del Personal. El módulo de
Administración de Personal de PeopleSoft Recursos Humanos ofrece la posibilidad de
almacenar y controlar información sobre las diferentes fases por las que atraviesa un empleado.
Para el propósito de esta tesis, se analizará el panorama general de la estructura del sistema y la
funcionalidad que proporciona el mismo mediante los módulos que se pretenden implementar
para la planta de Mexicali.
Información Biográfica. En PeopleSoft, existen distintas maneras de incorporar información sobre
los empleados, dependiendo del estado laboral en que inicie su registro, o bien, dependiendo
del puesto que ocupen dentro de la organización. A pesar de que se utilizan distintos
componentes para añadir esta información, las páginas y las tablas que forman parte de dichos
componentes son las mismas.
El Concepto de Fecha Efectiva. Cuando se introduce información nueva relacionada con datos
existentes, como un traslado o un cambio de remuneración, es importante no perder ni
sobrescribir los datos almacenados en la base de datos. Para conservar el historial, se añade una
fila de datos identificada por la fecha en que la información se hará efectiva: esto se conoce
como fecha efectiva.
78
(fecha de hoy)
Filas del historial (< fila actual)
Fila actual (< actual)
Fila futura (> actual)
Figura 4.F – Fechas Efectivas
Al contratar, la fecha efectiva será la fecha en la que el empleado inicia la relación laboral con la
empresa y se asignará una combinación acción-motivo, la cual define el porqué de cada
movimiento registrado en el sistema.
Administración de Posiciones. El módulo de PeopleSoft Recursos Humanos proporciona
información detallada sobre los puestos que existen en la compañía. El módulo de posiciones
se encargará de recoger los valores por omisión de los puestos existentes para que el área de
Recursos Humanos realice el seguimiento de las asignaciones independientemente de los
empleados que las ocupan.
Con la administración y asignación de posiciones se pretende controlar el número de
empleados asignados por área, así como las vacantes disponibles y la rotación del personal
existente. Este control es parte del estándar utilizado por las demás plantas de la compañía.
El sistema aprovecha los datos por omisión que se han definido para la organización y los
datos de los puestos introducidos con anterioridad en las diversas tablas principales. Durante el
proceso de creación de nuevas posiciones, PeopleSoft Recursos Humanos inserta estos valores
por defecto en diversos campos de posición. Esto reduce el tiempo de introducción de datos y
mantiene la coherencia de la información. El sistema permitirá a los usuarios modificar los
valores por defecto siempre que sea necesario introducir excepciones en una posición
concreta.
Cuando algún empleado decida terminar la relación laboral con la empresa, la posición quedará
vacante y podrá ser utilizada siempre y cuando no haya sido congelada por presupuesto.
79
Funcionalidad Entregada para el Proceso de Nómina. El módulo PeopleSoft Nómina
proporciona al usuario la posibilidad de configurar su propio sistema de nómina, de forma que
pueda satisfacer los requisitos específicos de una forma global y al mismo tiempo atender las
necesidades de su organización. Se trata de un producto diseñado para que pueda ser utilizado
de una forma flexible en cualquier parte del mundo. Para la planta de Mexicali se configurará la
nómina global y se implementará la extensión de país México, la cual cuenta con reglas y
criterios específicos para cumplir con la legislación del país.
La extensión local se elabora a partir del motor global de nómina. En las extensiones locales se
incluyen:
• Reglas de carácter normativo y de uso habitual, como percepciones, deducciones, reglas de ausentismo, acumuladores, etc.
• Un aspecto de la aplicación diseñado en línea específicamente para el país. • Aplicaciones de autoservicio listas para utilizarse. • Reportes Legales.
Estructura de Procesos
Motor de Nómina
Locales
AplicaciónPrincipal
GBR
Francia
AlemaniaSuiza
Autoservicio
En Línea
Informes
Reglas de País
Extensiones
Figura 4.G – Estructura de Nómina Global
80
Nómina Global obtiene automáticamente de Recursos Humanos toda la información necesaria
como, por ejemplo, los datos personales necesarios para los procesos de nómina. Del mismo
modo, el módulo de nómina puede ser integrado con facilidad a los módulos PeopleSoft
Asistencia y Puntualidad y PeopleSoft Contabilidad.
Descripción General de Elementos de Nómina. El módulo de PeopleSoft Nómina Global especifica
toda la lógica de aplicación, como percepciones, deducciones, ausencias y acumuladores, en
forma de reglas de nómina y ausencias. Estas reglas pueden ser definidas y mantenidas por el
usuario a través de diferentes páginas y componentes.
Definición del Proceso de Nómina. El proceso Nómina en la planta de Mexicali se debe llevar a
cabo semanalmente. Dicho periodo de trabajo es pagado en el viernes inmediato posterior.
Definición de Procesos de Seguridad del Social. El proceso del IMSS es una pieza fundamental en el
proceso de la nómina debido a que sin tener el cálculo del SDI (Salario Diario Integrado) no se
puede procesar una nómina en forma correcta. El salario Integrado es la base fundamental
para realizar los cálculos de las cuotas al IMSS, SAR e INFONAVIT.
Dentro de la configuración entregada por PeopleSoft existen dos procesos que se tienen que
realizar para poder determinar el Salario Diario Integrado (SDI) del empleado. El SDI Fijo, el
cual consiste en sumarle al Salario Diario la parte proporcional de un día de trabajo de
aguinaldo, prima vacacional, o algún otro concepto a pagar al empleado de forma fija y el SDI
Variable, el cual incluye todos los conceptos adicionales al salario que varíen de un periodo a
otro.
Interfaces y Reportes. El sistema ofrece la posibilidad de generar avisos de notificación al IMSS y
proporciona la posibilidad de generar archivos planos para utilizarlos de interfase con el IDSE
y SUA. En la planta de Mexicali, la interfase IDSE (IMSS desde su empresa) se utiliza
frecuentemente para notificar al Instituto Mexicano del Seguro Social sobre cualquier
contratación, baja o cambio de salario ocurrido semana con semana.
81
Figura 4.L – IMSS desde su empresa (IDSE)
Del mismo modo, la planta de Mexicali necesita exportar la información de PeopleSoft hacia el
Sistema Único de Autodeterminación de Cuotas Obrero-Patronales (SUA).
Avisos Impresos IMSS. Este reporte imprime los diferentes avisos de Altas, Bajas y Modificaciones que se generaron para el IMSS en un determinado rango de tiempo.
Aviso EDI IMSS Este proceso genera un reporte y un archivo ASCII con el cual podremos reportar los movimientos por medio del EDI.
Aviso Dispositivo Magnético IMSS
Genera un reporte y un archivo para poder presentar los movimientos por medio de un dispositivo magnético.
Interfaz Movimientos SUA
Por medio de este proceso podremos generar un archivo para cargar la información de los movimientos generados en PeopleSoft al sistema SUA que proporciona el IMSS.
Excedentes Topes IMSS Reporte anual de los Excedentes de topes al IMSS.
Tabla 16 – Ejemplos de Reportes Necesarios para Seguridad Social
82
Definición de Impuestos Federales para México. Los impuestos federales en México tienen
tratamientos diferentes por las compañías y debido a esta situación PeopleSoft provee
diferentes métodos de impuestos, los cuales se utilizan para efectuar las retenciones a cuenta
del impuesto anual.
La planta de Mexicali utiliza el método de impuestos con ajuste periodo a periodo. En este
método los impuestos se van ajustando periodo a periodo, de acuerdo a la base gravada
acumulada hasta el momento del cálculo, incluyendo las percepciones del periodo actual. El
resultado se multiplica 30.4 (el cual se encuentra definido en los parámetros por Grupo de
Pago) con el fin de mensualizar la base del periodo.
Posteriormente se aplican las Tablas Mensuales de Impuestos 113, 114 y 115 para obtener los
impuestos correspondientes. Los montos resultantes serán divididos entre el mismo factor de
30.4 y el resultado se multiplica por el número de días trabajados en el periodo.
PeopleSoft entrega las tablas de impuestos pero es responsabilidad del usuario el
mantenimiento de las mismas. La siguiente lista proporciona un detalle de las tablas de
impuestos incorporadas en PeopleSoft Nómina Global.
Nombre de Elemento Descripción
FD BR TBL ART 113 Tabla Articulo113
FD BR TBL ART114 Tabla Articulo 114
FD BR CRE SAL 115 Tabla Crédito al Salario Art. 115
IE BR PCT ESTATAL Porcentaje Impuesto Estatal
AA BR FED ART 177 Tabla Articulo 177
AA BR FED ART 178 Tabla Articulo 178
AA BR FED ART 116 Tabla Crédito al Salario Art. 116
AA BR FED IMP 1991 Tabla Impuestos Método 1991
AA BR FED SUB 1991 Tabla Subsidio Método 1991
Tabla 17 – Elementos de Impuestos entregados por PeopleSoft
Definición de Tiempo Extra. De acuerdo a los acuerdos establecidos con el sindicato de la planta
de Mexicali, el tiempo extra es todo aquel tiempo laborado que excede las 9.6 horas diarias en
horario matutino, o bien, 8.4 horas en horario nocturno.
83
Al realizar la captura en cualquiera de los conceptos mencionados, el sistema deberá
determinar automáticamente el tiempo extra que se pagará como doble y que se pagará como
triple. Esto se realiza sobre la base de los parámetros definidos para tiempo extra.
Para la planta de Mexicali, los parámetros obedecen los siguientes criterios, mismos que van de
acuerdo a lo establecido tanto en la Ley Federal del Trabajo como en la Ley del Seguro Social y
reglamentos internos de la compañía:
• El tiempo extra es pagado doble si no excede de 9 horas a la semana.
• El tiempo extra es pagado doble si no excede de 9 horas al día.
• El tiempo extra es pagado doble si no excede de tres días (veces) a la semana.
• Para efectos de IMSS, el tiempo extra doble que no integra a la base de la variabilidad es igual a las tres primes horas de tiempo extra doble por día.
• Las horas en exceso de cualquiera de estos casos son pagadas como tiempo extra triple.
PeopleSoft cuenta con una página para capturar el tiempo extra por empleado, la cual obedece
a los parámetros establecidos con anterioridad. Sin embargo, debido a que la planta de
Mexicali utilizará el módulo de PeopleSoft Administración de Asistencia y Puntualidad, el
proceso de captura será distinto, ya que la cantidad de tiempo extra puede llegar a ser masiva y
deberá de obedecer algunos otros criterios de aprobación.
La interfase del módulo Administración de Asistencia y Puntualidad y el módulo de tiempo extra de
Nómina Global no es entregada por PeopleSoft y deberá construirse. Este tema analizará a
detalle dentro del apartado de Nuevas Funcionalidades a Desarrollar en esta tesis.
Administración de Préstamos. PeopleSoft proporciona diferentes herramientas para crear reglas
para múltiples tipos de préstamos. La Nómina Global para México libera reglas de cálculo para
los siguientes tipos de préstamos: Préstamos de la Compañía, INFONAVIT, FONACOT.
La planta de Mexicali ofrece un tipo de préstamo para el financiamiento de un vehículo.
Debido a que la configuración de este tipo de préstamo se necesita desarrollar completamente,
su configuración se analizará más adelante en esta tesis.
84
Creación de Finiquitos y Liquidaciones. Existen conceptos de nómina que deben ser pagados
exclusivamente cuando un empleado recibe un finiquito o una liquidación como parte del
término de la relación laboral con la empresa. Algunos de estos conceptos son establecidos por
la Ley Federal del Trabajo y algunos otros son establecidos por políticas de la planta.
Dichas políticas pueden variar dependiendo del motivo por la cual el empleado está siendo
separado de sus obligaciones con la compañía. Como parte del cumplimiento con la ley
laboral, la planta de Mexicali paga diferentes percepciones dependiendo del tipo de
terminación del cual se trate.
85
Funcionalidad Entregada Administración de Asistencia y Puntualidad. El módulo de
asistencia y puntualidad entregado por PeopleSoft puede adaptarse a los procesos de negocio
de la planta de Mexicali.
Figura 4.x – Administración de Asistencia y Puntualidad
Es posible definir grupos de trabajo orientados a las tareas que desempeñan, o bien, por
supervisor, línea de producción o departamento. El sistema incluye ciertas páginas que el
usuario puede utilizar de manera intuitiva para validar el tiempo trabajado por los empleados,
así como el registro de jornadas a ser asignadas para planificar la carga de trabajo de manera
adecuada.
86
Captura de Ausentismo. El enfoque que se utilizará para capturar las ausencias de los empleados
de la planta de Mexicali dependerá del motivo por el cual el empleado no se presente a trabajar.
Los líderes de grupo que controlan las diferentes líneas de producción, serán los encargados de
incorporar faltas, permisos y los retardos correspondientes del grupo de empleados que
supervisen. Los usuarios del área de Recursos Humanos serán los encargados de capturar las
incapacidades, vacaciones y suspensiones debido a que se requiere un control más eficaz para
este tipo de ausentismo.
Definición de Horarios de Trabajo. Los horarios asignados a los empleados de la planta son parte
esencial en el manejo de la fuerza de trabajo de la empresa. La planta de Mexicali tiene
horarios que rotan de turno matutino a nocturno en un intervalo de dos semanas. Dentro del
sistema se definirán los turnos que actualmente se utilizan en la planta y el usuario podrá
acceder a esta página si requiere crear nuevos o modificar los existentes.
Grupos de Trabajo. Cuando los empleados sean contratados e inicien actividades en la empresa,
serán asignados a grupos de trabajo. En el sistema, esta actividad se define como Registro de
Empleados con Tiempo a Reportar.
Los grupos de trabajo contienen los valores de omisión a utilizar cuando se contrata a un
empleado, como por ejemplo los códigos de reporte de tiempo, el calendario de días festivos,
la jornada laboral, etc.
Para el propósito de esta tesis, no se ha incluido la configuración completa del módulo. Se ha
descrito de manera general la utilización de las páginas y componentes entregados por
PeopleSoft y que son parte crítica del proceso de negocio de la planta.
87
Adaptaciones a la Funcionalidad Entregada por PeopleSoft
Toda solución de sistemas requiere de ciertas adaptaciones, mismas que necesitan de un
análisis y diseño a fondo para que su funcionalidad aporte mejoras al proceso.
A continuación se presenta el análisis funcional de las adecuaciones que se han propuesto
realizar para mantener el control de la información de recursos humanos en la planta de
Mexicali. En algunos casos se presentará el diseño técnico de la solución, dependiendo del
esfuerzo de desarrollo requerido.
Módulo de Recursos Humanos. La compañía utiliza prácticas de negocio estándar de
recursos humanos, las cuales se adaptan a este módulo en la mayoría de los casos.
Adaptación: Tipo de Pago GL en Datos del Puesto
Módulos Afectados: Administración de Personal, Control de Costos. Tiempo Estimado de desarrollo: 4 horas
Las diferentes plantas que pertenecen a la empresa y que se ubican en Estados Unidos, utilizan
PeopleSoft Nómina para Norteamérica. Cuando un empleado es contratado y este sistema es
seleccionado y asignado al empleado como el motor de nómina a utilizar, el sistema muestra
diferentes campos para la captura de datos relacionados con este proceso.
Uno de ellos es el Tipo de Pago GL, el cual tiene la función de proporcionar una
clasificación por tipo de costo del empleado con el fin de determinar los costos fijos y costos
variables que se requieren cuando se desea enviar esta información al sistema de control de
costos.
La interfase con el sistema de control de costos fue construida sobre la base de la función que
proporciona este campo, el cual fue utilizado para satisfacer las necesidades de negocio de
todas las plantas en Estados Unidos.
88
La planta de Mexicali al iniciar actividades, utilizó las mismas prácticas y procedimientos de
negocio, razón por la cual también necesita de este campo y demás funcionalidad relacionada
con el mismo.
Figura 4.af – Tipo de Pago GL
El campo Tipo de Pago GL no se encuentra disponible cuando se selecciona Nómina Global
como motor de nómina a nivel de empleado. La adaptación consistirá en modificar el código
que activa el campo cuando el sistema de nómina se selecciona con el fin de mostrarlo también
cuando se utilice la nómina global.
También se deberán revisar las validaciones que este campo realiza y los valores válidos a los
que debe de hacer referencia. El tipo de pago GL se valida contra los valores disponibles
incorporados en la tabla de Tipos de Pago GL, la cual es parte de las adaptaciones realizadas
anteriormente por la compañía.
Los valores de Tipo de Pago GL son definidos con base en el turno para cada departamento.
Debido a la cantidad de departamentos de la planta de Mexicali y al número de combinaciones
que pueden existir en base al turno seleccionado, la información sobre Tipos de Pago GL en
esta tabla será incorporada por un programa de conversión de datos que será analizado más
adelante en esta tesis.
89
Adaptación: Cálculo del Registro Federal de Contribuyentes (RFC)
Módulos Afectados: Administración de Personal, Seguridad Social
Tiempo Estimado de desarrollo: 24 horas
Cuando los empleados en la planta de Mexicali son contratados, se les solicita su Registro
Federal de Contribuyentes (RFC), la Cédula Única de Registro de Población (CURP) y una
hoja ‘rosa’ emitida por el Instituto Mexicano del Seguro Social con el fin de obtener el número
de seguridad social (NSS).
Todos estos datos deben ser incorporados al sistema. Sin embargo, la mayor parte de los
empleados de la línea de producción desconocen esta información, razón por la cual la
contratación puede retrasarse puesto que los datos de identidad en PeopleSoft son obligatorios
para poder guardar exitosamente un registro de contratación en el sistema.
Los problemas son mayores cuando se trata de contrataciones masivas en donde la planta
incorpora de 100 a 200 empleados en un mismo día. Los retrasos pueden afectar la
planificación que puede tener el entrenamiento para los nuevos ingresos.
Debido a esto, el usuario ha solicitado que el sistema calcule el Registro Federal de
Contribuyentes de manera automática para almacenar un valor por omisión dentro de la tabla
de identidad, aunque éste pueda ser actualizado posteriormente.
Al momento de seleccionar un Tipo de Identificación (National ID Type), el sistema deberá
evaluar lo que el usuario desea incorporar al sistema. Si el usuario selecciona el RFC de la lista
de opciones, el sistema determinará el RFC mediante el siguiente algoritmo:
- Si el país es México: - Extraer el año de la fecha de nacimiento, extraer el mes de la fecha de nacimiento, extraer el día de la fecha de nacimiento. - Extraer el apellido paterno del empleado, extraer el apellido materno del empelado, extraer el nombre del empleado. - Para los apellidos - Valida que el apellido no sea compuesto (eliminar las proposiciones Y, A, DE, LA, DEL, LAS. - Extraer la primera letra del apellido paterno y agregarla a la cadena del RFC. - Extraer la primera vocal del apellido paterno y agregarla a la cadena del RFC. - Extraer la primera letra del apellido materno y agregarla a la cadena del RFC. - Extraer la primera letra del nombre del empleado y agregarla a la cadena del RFC. - Agregar los dos últimos dígitos del año de nacimiento del empleado. - Agregar los dos dígitos del mes de nacimiento del empleado. - Agregar los dos dígitos del día de nacimiento del empleado.
90
Este programa proporcionará la clave del RFC sin la homoclave de validación, la cual se forma
sobre la base de tres dígitos que verifican que el RFC sea el correcto. Debido a que el cálculo
de la homoclave es propiedad de la Secretaría de Hacienda y Crédito Público, será
responsabilidad del usuario el actualizar el valor del registro federal del empleado cuando éste
sea confirmado.
Módulo de Nómina. Gran parte de las políticas de pago de la empresa tienen un impacto
directo en el módulo de nómina entregado por PeopleSoft. A través del análisis realizado se
puede observar que al modificar algunas páginas con el fin de proporcionar la funcionalidad
necesaria, se deberán de modificar también las reglas de nómina que estén relacionadas con el
proceso de negocio que se trate.
Adaptación: Días Adicionales en el Cálculo del Factor de SDI
Módulos Afectados: Nómina, Seguridad Social, Administración de Personal
Tiempo Estimado de desarrollo: 4 horas
El análisis realizado a los horarios de trabajo de los empleados de la planta indica que los
empleados trabajan únicamente de lunes a viernes las horas necesarias para satisfacer las 48 ó
42 horas requeridas conforme a lo especificado en la Ley Federal del Trabajo.
Esto significa que los empleados trabajan 9.6 u 8.4 horas diarias de tiempo regular,
dependiendo del turno al que estén asignados. Como parte de los acuerdos establecidos con el
sindicato, el Factor de SDI deber considerar los días de vacaciones como días de 9.6 u 8.4
horas. Es decir, las vacaciones para el Factor de SDI deben de considerar el .2 adicional al
cálculo.
El cálculo entregado por PeopleSoft tiene la siguiente lógica:
Factor de SDI = 1 + [(Días de Vacaciones + Porcentaje Prima Vacacional + Días de Aguinaldo) / 365]
91
La modificación consistirá en incorporar un campo para que el usuario capture los días
adicionales que desea considerar como parte del factor de SDI. El sistema mostrará esta
información independiente a los días de vacaciones que vaya a disfrutar el empleado.
Figura 4.ai – Días Adicionales para Factor de SDI
El código del cálculo del factor de SDI se modificará para seguir la siguiente lógica:
Total Vacaciones = Días de Vacaciones + Días Adicionales Factor de SDI = 1 + [(Total Vacaciones + Porcentaje Prima Vacacional + Días de Aguinaldo) / 365]
Este factor de SDI es el que el sistema utiliza cuando existe un alta o cambio de salario. El
factor de SDI depende del grupo de pago al cual se está incorporando un empleado. Los
parámetros para este cálculo cambian sobre la base del incremento en antigüedad, es decir, los
beneficios son mayores entre más tiempo trabaje el empleado en la compañía.
El código para el cálculo de este algoritmo en PeopleCode se encuentra incluido en el
Apéndice E, el cual contiene el Código Crítico a Desarrollar.
92
Adaptación: Calendario de Pago para Captura de Vacaciones
Módulos Afectados: Nómina, Seguridad Social, Administración de Personal, Ausentismo.
Tiempo Estimado de desarrollo: 40 horas
Dentro de la funcionalidad entregada por PeopleSoft, el empleado recibe el pago de las
vacaciones que anteriormente disfrutó. Es decir, el ausentismo es procesado primero para que
se pague en la nómina inmediata posterior al disfrute de vacaciones.
Figura 4.aj – Proceso de Vacaciones para la planta.
Sin embargo, las políticas de pago de la planta de Mexicali fueron negociadas con el fin de
beneficiar al empleado en la planificación y otorgamiento del pago por concepto de
vacaciones. Por esta razón, la funcionalidad para el pago de vacaciones debe de cumplir con
los siguientes requisitos:
93
a) El pago de vacaciones y el disfrute de vacaciones son independientes. Los empleados
pueden estar de vacaciones una semana y recibir el pago de la misma antes, después o
dentro de ese periodo.
b) El empleado puede solicitar el pago de sus vacaciones cuando lo decida, sin importar si
dichas vacaciones han sido disfrutadas o no.
c) Diferentes periodos de vacaciones pueden ser procesados en una misma nómina para
ser pagados en su totalidad. Es decir, el empleado puede pedir 2 días de una semana y
dos días de otra pero requiere que los cuatro días sean pagados en la nómina más
próxima.
La funcionalidad que entrega PeopleSoft podría ser configurada para utilizar activadores a nivel
calendario (Calendar Triggers). Sin embargo, esto representaría configuración adicional que el
usuario tendría que hacer para cada empelado que decida recibir el pago de vacaciones en una
nómina distinta a la que se está procesando.
Para resolver este problema, se propone la siguiente adaptación.
1. Campo de Calendario de Pago. Se agregará un nuevo campo dentro de la página de
ausentismo, el cual sólo se encuentre disponible cuando el tipo de ausentismo sea vacaciones.
Este campo mostrará como valores válidos todos aquellos calendarios de nómina que no se
hayan procesado aún, los cuales se encuentren disponibles para el empleado.
De esta manera, se puede indicar en el sistema las fechas en las cuales el empleado estará
ausente, pero también se incorporará la información sobre cuándo se deberá pagar el monto
por concepto de vacaciones.
2. Modificar la Regla de cálculo del pago de Vacaciones. PeopleSoft entrega dos reglas
de percepción para el proceso y pago de las vacaciones, las cuales cuentan con la siguiente
estructura:
94
- VAC DISFRUT (Vacaciones gozadas). Esta percepción se encarga de cuantificar los días de
vacaciones para efectos de ausentismo.
- VAC PAGADAS (Vacaciones a pagar). Esta percepción cuenta los días de ausentismo que
fueron procesados y determina el monto a pagar. Dichos días de ausentismo son calculados
en base a la fecha de inicio y fin de ausentismo registrada en el módulo de ausentismo por
empleado.
3. Desarrollar una interfase de componente del módulo de ausentismo a la página de
entrada positiva. Al guardar la información sobre vacaciones en la página de ausentismo, el
sistema tomará los días de vacaciones y el calendario de pago de este componente e insertará
dichos valores en la página de entrada positiva a nivel de empleado.
Figura 4.ak – Interrelación entre módulos de asistencia y nómina
La página de entrada positiva2 es el lugar utilizado para incorporar información sobre
percepciones y deducciones específicas a un empleado, las cuales pueden cambiar periodo a
periodo. Algunos otros módulos como asistencia y puntualidad, o la interfase con tiempo extra
utilizan esta página para que el proceso de nómina se realice adecuadamente.
2 Positive Input – Valores fijos que afectan el pago a nivel empleado
95
El código de esta interfase en PeopleCode se encuentra incluido en el Apéndice E, el cual
contiene el Código Crítico a Desarrollar.
Adaptación: Registro de Usuario en Ausentismo
Módulos Afectados: Nómina, Seguridad Social, Administración de Personal
Tiempo Estimado de desarrollo: 4 horas
Debido a que la información para el Seguro Social y las incidencias que se deben incorporar
son de importancia crítica, el usuario desea que la página de ausentismo almacene la
información sobre quién y cuándo se realizaron los registros o modificaciones al ausentismo.
Esto se requiere con el fin de analizar el proceso para determinar cargas de trabajo, roles,
responsabilidades futuras y mejoras al proceso actual.
Adaptación: Definición de Percepciones
Módulos Afectados: Nómina, Seguridad Social, Proceso de Nómina Tiempo Estimado de desarrollo: 32 días
Las percepciones generales que son establecidas en base a lo determinado por la Ley Federal
del Trabajo son entregadas y mantenidas por PeopleSoft. Las percepciones que fueron
negociadas con el sindicato, o bien, que se encuentran incluidas dentro de las políticas de la
empresa deberán ser configuradas para que sean incluidas en el pago de los empleados cuando
se necesite.
A continuación se presenta el diseño de las percepciones más importantes que serán
modificadas o creadas a partir de las políticas y procedimientos establecidos para la planta de
Mexicali. Será responsabilidad del usuario mantener actualizadas cada una de las definiciones
una vez implantado el sistema.
Sueldo. La percepción SUELDO ORD será modificada para que considere la lógica sobre los
horarios de 9.6 y 8.4 horas diarias.
96
- El número de horas programadas por día se multiplica por 5 y se divide entre los días del
periodo, lo cual para la nómina semanal es 7.
- El salario diario se divide entre el resultado anterior para determinar un importe por hora
trabajada.
- Este importe se multiplicará por las horas trabajadas para determinar el monto final por
concepto de sueldo.
Vales de Despensa. La planta de Mexicali realiza un procedimiento de cálculo para vales de
despensa de los empleados administrativos y otro procedimiento para los empleados de la línea
de producción. El cálculo depende del grupo de pago al que pertenezca el empleado, razón
por la cual se propone el siguiente diseño para esta percepción.
- Definir dos percepciones de vales de despensa, una que utiliza una cantidad fija y la otra
que se pagará por porcentaje. Estas dos maneras de pago son las que se encuentran
fundamentadas en los requisitos de negocio previamente analizados.
- Incorporar la percepción que utiliza la cantidad fija al grupo de elementos de empleados
No Exentos y Pagados por Hora.
- Incorporar la percepción que está basada en un porcentaje al grupo de elementos de
empleados Exentos.
- Ambas percepciones deberán contribuir a un solo acumulador de vales de despensa, el
cual tiene un periodo semanal.
La regla para el pago del concepto de vales de despensa por Cantidad Fija deberá seguir la
siguiente lógica:
Se suman los días trabajados, días de vacaciones, días festivos y permisos con goce de
sueldo.
97
Debido a que el monto por vales de despensa cambia dependiendo del salario mínimo,
deberá existir una banda (Bracket) la cual contenga la información sobre el monto
diario a pagar por el concepto de vales de despensa. El sistema accederá a este dato y
lo multiplicará por 7 para obtener el monto semanal por concepto de vales de
despensa.
Este último monto se dividirá por 5 para determinar el monto diario sobre la base de
las políticas de horario de la planta de Mexicali.
Este monto diario se multiplicará por la suma del primer punto para poder obtener así
el monto final por concepto de vales de despensa.
La regla para el pago del concepto de vales de despensa Por Porcentaje deberá seguir la
siguiente lógica:
El monto de vales de despensa es el resultado de multiplicar un monto diario por el
porcentaje de vales de despensa ofrecido por la planta. Dicho porcentaje puede o no
cambiar, dependiendo de las políticas de pago establecidas. Este porcentaje se
almacenará en una variable y será mantenido por el usuario.
El porcentaje se multiplica por el Salario Diario del trabajador y se multiplica por 7
para determinar el monto semanal de vales de despensa.
Cuando los vales de despensa se pagan por porcentaje, éstos tienen un tope salarial el
cual es el resultado de multiplicar el salario mínimo de la zona económica del empleado
por el número de días en el periodo, en este caso 7. El tope se calculará en base al
salario mínimo actual almacenado en la tabla de salarios mínimos que entrega el
sistema. Los salarios mínimos de todas las zonas son mantenidos por el usuario.
Si el monto de vales de despensa calculado en el paso 1 es menor al tope de vales de
despensa, dicho monto será el nuevo tope de vales de despensa.
98
El tope de vales de despensa se divide entre 5 para poder considerar las políticas de
trabajo y remuneración de la planta de Mexicali.
El resultado de la operación anterior se multiplica por la suma de los días trabajados,
las incapacidades, días festivos, permisos con goce de sueldo y vacaciones disfrutadas.
Si este resultado es mayor al tope de vales de despensa establecido, el resultado final
por concepto de vales de despensa será el tope. De lo contrario, el monto calculado
serán los vales a pagar.
Bono de Rotación. Este bono se paga a los empleados que trabajen una semana en horario
matutino y una semana en horario nocturno. Para que sea procesado correctamente, esta
percepción será configurada con un control de generación el cual validará que el empleado se
encuentre asignado a un horario de trabajo que presente rotación.
Si el resultado del control de generación es igual a 1, la percepción se procesará. Si el valor de
este elemento es cero, la percepción no será incluida dentro del cálculo. El control de
generación deberá incluir la siguiente lógica:
Si el Horario del Empleado es uno de los siguientes: Rotativo Azul Rotativo Verde Rotativo Admin. Azul Rotativo Admin. Verde Entonces el control de generación es igual a 1 De lo contrario, el control de generación es igual a 0
Una vez procesado el control de generación, la fórmula para el pago del bono de rotación
obedecerá la siguiente regla:
El monto por concepto de bono de rotación es un monto fijo pagado por día. Este
monto depende de lo establecido en las políticas de pago de la empresa, el cual será
almacenado en una banda de datos y mantenido por el usuario.
Dicho monto se multiplicará por siete para determinar el monto semanal a pagar.
99
Para incluir la lógica de los horarios de trabajo de la planta de Mexicali, el resultado
anterior se divide entre cinco para determinar el monto proporcional por día trabajado.
Este resultado se multiplicará por los días a pagar, los cuales son determinados a partir
del resultado de la suma de días trabajados, vacaciones, días festivos y permisos con
goce de sueldo.
El resultado final será el monto por concepto de Bono de Rotación.
Algunas otras percepciones deberán de ser configuradas de la misma manera en que se ha
propuesto definir las percepciones anteriormente mencionadas. Una vez finalizada la
configuración, será responsabilidad del usuario realizar las pruebas necesarias para determinar
si existen modificaciones a la lógica utilizada dentro de las fórmulas propuestas.
Las percepciones y deducciones de la planta de Mexicali pueden ser fácilmente configuradas
para ser utilizadas en PeopleSoft. La lista de percepciones y su descripción se ubica dentro del
capítulo de Definición de Requerimientos, en el apartado de Nómina.
Módulo de Asistencia y Puntualidad. La propuesta de sistemas sobre la utilización de este
módulo considera que la planta de Mexicali utilizará las prácticas que son estándar para todas
las plantas de la empresa a nivel global.
La funcionalidad que este módulo aporta para las plantas en Estados Unidos no cubre de
manera completa la funcionalidad requerida por la planta en México. Este punto es crítico ya
que modificar la funcionalidad en ciertas páginas y componentes desarrollados con
anterioridad, significa que todas las plantas utilizando el sistema deberán contribuir en pruebas
de aceptación para que las modificaciones realizadas no impacten los procesos de negocio de
las demás unidades de negocio.
En México, algunos de los procesos son distintos debido a que algunos beneficios y
requerimientos están sujetos a diferentes variables, como pueden ser las condiciones generales
de trabajo, políticas de compensación e incluso la Ley Federal del Trabajo para nuestro país.
100
Sobre la base de la información recabada en el análisis de requerimientos, las adaptaciones al
módulo de asistencia y puntualidad más importantes se detallan a continuación.
Adaptación: Modificación a la página de Disponibilidad ATW
Módulos Afectados: Administración de Asistencia y Puntualidad Tiempo Estimado de Desarrollo: 80 horas
Se realizó un estudio de campo a partir del cual se concluyó que por lo general, el personal de
la línea de producción en las plantas de Estados Unidos llega de 10 a 15 minutos antes del
inicio del turno al cual están asignados dentro del horario de trabajo. Los líderes de las líneas
de producción rara vez capturan un retardo como parte del tiempo a reportar para los
empleados que supervisan.
En México, existe un mayor número de empleados que no siempre llegan temprano a la planta.
Incluso, la planta de Mexicali ofrece el premio de asistencia y puntualidad como parte de los
beneficios a los empleados que lleguen a tiempo para iniciar labores.
Los líderes de grupo en las líneas de producción deben de tener el registro de entrada y salida
en pantalla. Esto es de gran ayuda para determinar quién llegó temprano y quien perderá el
bono de asistencia y puntualidad.
Hay líderes de producción que supervisan hasta 40 personas en un solo turno, razón por la
cual se sugiere se adapte la página de disponibilidad ATW para reflejar el registro de entrada y
de salida de los empleados. Para que esta funcionalidad trabaje correctamente, se sugiere la
siguiente adaptación.
1. Interfase entre el Sistema de Seguridad y PeopleSoft. Como se ha mencionado con
anterioridad, la entrada principal que funciona como acceso de seguridad a la planta se utilizará
también para almacenar los registros de entrada y salida de los empleados.
101
El sistema de seguridad, desarrollado sobre la plataforma Microsoft SQL Server cuenta con
esta funcionalidad. Sin embargo, la información sobre dichos registros debe estar disponible en
PeopleSoft.
La plataforma de base de datos de PeopleSoft es Oracle 9i, razón por la cual se utilizará una
vista dinámica para acceder a la información en la tabla que contiene los datos sobre el registro
de entradas y salidas en el sistema de seguridad.
Figura 4.al – Conectividad al Sistema Externo de Seguridad
La vista dinámica en Oracle es una referencia directa a la tabla en Microsoft SQL Server del
sistema de seguridad. Significa que PeopleSoft estará utilizando información en tiempo real
para que ésta pueda ser visualizada.
102
La página de disponibilidad ATW mostrará el registro de entrada y salida de los empleados con
el detalle sobre el estatus de asistencia que obedece a la siguiente lógica.
Color / Letra Estatus
Verde (O) El empleado se encuentra en la fábrica.
Rojo (A) El empleado no se encuentra en la fábrica.
Amarillo (T) El empleado llegó tarde a la fábrica.
Tabla 18 – Estatus disponibles en la página de disponibilidad
La vista dinámica también podrá ser consultada por el usuario directamente, con el fin de
obtener información para reportes. La planta de Mexicali utilizará la impresión de esta página
como comprobante del tiempo trabajado por los empleados cuando sea necesario.
Figura 4.am – Adecuaciones a la página de disponibilidad del personal
Con el fin de proporcionar mejoras en el desempeño del sistema, los registros de entrada y
salida históricos serán replicados a una tabla en la base de datos utilizada por PeopleSoft.
103
La página de disponibilidad ATW podrá ser utilizada por los líderes de grupo para determinar
qué empleados tienen retardo, cuáles son los motivos y ejercer acciones disciplinarias o
capturar modificaciones cuando sea el caso.
Las modificaciones a la página de disponibilidad ATW, así como los programas para crear la
vista dinámica de la interfase se encuentran dentro del Apéndice E, el cual contiene el Código
Crítico a Desarrollar.
104
Nuevos Desarrollos para el Sistema de Recursos Humanos
En la actualidad, las grandes compañías de software ofrecen sistemas capaces de cubrir la
mayoría de los requerimientos pero también proporcionan dentro de su producto, un conjunto
de herramientas con el fin de proporcionar un producto capaz de permitir que todas las
aplicaciones puedan ser desarrolladas y mantenidas dentro de una misma plataforma.
PeopleSoft ofrece el conjunto de herramientas PeopleTools, las cuales se propone utilizar
para los nuevos desarrollos e interfases.
Renovación de Contratos Incremento Semanal de Sueldo por Aniversario Interfase entre Nómina Global y Asistencia/Puntualidad Módulo de Cafetería Información de Ausentismo para Líderes de Grupo
La funcionalidad anteriormente mencionada fue definida como parte crítica de los
requerimientos analizados. Posterior al análisis de requerimientos, se llevaron a cabo
entrevistas con usuarios y supervisores de área, los cuales aportaron ideas sobre la
funcionalidad que deberán de tener dichos módulos.
Módulo: Renovación de Contratos Módulos Afectados: Administración de Personal Tiempo Estimado de Desarrollo: 80 horas
En Estados Unidos, el personal que es contratado por las diferentes plantas en este país, es
puesto a prueba por 60 días, para posteriormente evaluar su desempeño. Cuando este periodo
se cumple, los empleados pueden ser dados de baja, o bien, ser contratados permanentemente.
Además, cuando la información de los empleados en Estados Unidos es incorporada al
sistema, las plantas no tienen la necesidad de administrar los contratos puesto que el periodo
de prueba es fijo por 60 días y la administración y evaluación del personal depende del líder de
grupo.
105
En México, actualmente las leyes se encuentran formuladas con el fin de proteger tanto a
empleados como patrones mediante la firma de contratos en papel. Un contrato firmado es
un documento crítico para presentar una demanda en la Junta de Conciliación y Arbitraje
PeopleSoft 8.8 fue desarrollado sobre la base de las prácticas de negocio de empresas europeas
y americanas. Por lo tanto, PeopleSoft no proporciona una manera simple de administrar e
imprimir contrato alguno, razón por la cual, este módulo será desarrollado completamente.
En la planta de Mexicali, los empleados pagados por hora, ya sea que trabajen en la línea de
producción o que sean auxiliares administrativos son contratados por un periodo de 30 días, el
cual se repite 3 veces. En cada periodo, el empleado es evaluado por el líder de grupo y por el
personal administrativo del departamento de relaciones laborales.
Una vez finalizados los tres periodos de prueba, el empleado puede ser finiquitado o bien,
contratado permanentemente. La administración del número de contrato asignado, así como
las fechas de inicio y fin de cada uno de éstos es pieza clave para controlar adecuadamente esta
información.
Cabe destacar como requerimiento importante, que la contratación y renovación de contratos
en la planta de Mexicali es por lo general masiva. Es decir, se contratan de 50 a 100 empleados
el mismo día debido a la rotación de personal y el incremento de actividades en el último año.
La contratación masiva o la renovación masiva de contratos no se utiliza en ninguna de las
plantas en Estados Unidos.
Tomando como base la funcionalidad entregada en el sistema, se propone construir las
adaptaciones alrededor de la misma, teniendo como fin el proporcionar al usuario de
herramientas flexibles para la administración de la información de contratos del personal.
106
Configuración. Se incorporarán en el sistema dos tipos de contratos los cuales seguirán la
siguiente configuración.
Nombre Tipo de Contrato Características
30X30X30 Temporal - Contrato Temporal. - Tiene una duración de 30 días
PERM Indefinido - Contrato Indefinido - No tiene fecha de vencimiento
Tabla 19 – Tipos de Contratos
Flujo de Actividades Propuesto para Contrataciones. Cuando se trate de una contratación individual, el
usuario asignará un número de contrato en el registro de datos del puesto. Al guardar la
información, el sistema creará un renglón en la tabla de contratos, en donde el usuario definirá
qué tipo de contrato asignar al empleado, así como los detalles del mismo. Esta funcionalidad
es entregada por PeopleSoft.
Cuando se trate de asignar contrato a más de un empleado, el usuario accederá a la página de
contrataciones masivas, la cual será desarrollada. En esta página el usuario capturará una fecha
de inicio y fecha fin de periodo y presionará el botón “Obtener Contratos”. Estos parámetros
se utilizarán para buscar los contratos temporales que se encuentren finalizando dentro del
periodo definido.
El sistema mostrará una lista de empleados cuyo contrato vence dentro del periodo
especificado. Dependerá del usuario el decidir renovar el contrato o asignar un contrato
permanente. Para asignar un nuevo contrato temporal, el usuario activará la casilla de
verificación “Aprobado” e incorporará los detalles del nuevo contrato. También podrá dar
“clic” en “Seleccionar todos” en caso de que todos los contratos estén aprobados.
Para este escenario, el sistema evaluará a los empleados con contrato temporal y asignará un
nuevo contrato temporal si el número de contratos por empleado no excede de tres. De ser
así, el sistema asignará el contrato indeterminado.
107
Figura 4.ap – Propuesta de Renovación de Contratos
El usuario también podrá utilizar el botón “Asignar Contrato Regular” lo cual asignará
contrato indefinido para todos los empleados mostrados en la lista.
Una vez revisados los detalles sobre las asignaciones de contratos, el usuario presionará el
botón de “Ejecutar”, el cual utilizará el Gestor de Procesos de PeopleSoft para iniciar el
programa que actualizará la información en la tabla de contratos e incorporará un registro en la
tabla de Datos del Puesto a través de una interfase de componente.
El módulo deberá de contar también con un reporte que podrá ser generado antes de ejecutar
el proceso, para ser autorizado por el personal de relaciones laborales, líderes de grupo y
supervisores de recursos humanos.
108
El código para este módulo se encuentra dentro del Apéndice E de esta tesis, en el cual se ha
incluido la lógica del programa a desarrollar para actualizar la tabla de contratos y el registro de
datos del puesto.
Es importante destacar que la incorporación de los datos iniciales de los empleados para esta
implementación se llevará a cabo mediante programas de conversión de datos, los cuales
considerarán la información de contratos en la fecha que se realice dicha conversión. La
conversión de datos y la definición de los programas asociados a esta tarea serán analizadas
más adelante en esta tesis.
Para llevar a cabo la impresión de contratos, se desarrollarán dos reportes utilizando el paquete
“Crystal Reports”, mismos que funcionarán utilizando ‘consultas’ creadas con la herramienta
PeopleSoft Query.
Figura 4.aq – Generación de informes con Crystal Reports
Desde Crystal Reports, el usuario podrá acceder al Gestor de Consultas para crear o ejecutar
un informe. Aunque realmente se carece de acceso a la base de datos en la sesión activa,
Crystal Reports permite la conexión y reconoce el acceso de seguridad del usuario. Con este
método se accede a todas las funciones de generación de informes de la herramienta.
109
Una vez generados los reportes, se incorporarán al gestor de procesos de PeopleSoft para que
puedan ser utilizados directamente desde PeopleSoft. Deberá existir una plantilla para
contrato temporal y una para contrato indefinido, puesto que estos dos tipos de contratos
contienen cláusulas definidas de manera distinta.
Módulo: Incremento Semanal de Sueldo por Aniversario
Módulos Afectados: Administración de Personal, Proceso de Nómina Tiempo Estimado de desarrollo: 80 horas
En la planta de Mexicali, existen diferentes motivos por los cuales se incrementa el sueldo de
los empleados. El más común es el resultado del desempeño o la asignación de una nueva
posición. Este tipo de cambio de salario diario se realiza directamente en el registro de datos
del puesto, el cual modifica tablas asociadas a dicho cambio, como la tabla del salario diario
integrado.
Por otro lado, existen negociaciones a nivel sindical relacionadas al incremento de sueldo,
mismas que ocurren dos veces al año. Los empleados que estén asignados a un determinado
código de puesto, o bien, que pertenezcan a cierto departamento, tendrán un incremento anual
que depende de lo establecido en la negociación sindical.
Este último proceso puede realizarse a través del proceso “actualización masiva” entregado
por PeopleSoft el cual incluso puede utilizar un grupo de empleados definido en base a ciertos
criterios establecidos por el usuario.
Sin embargo, la planta de Mexicali incrementa los sueldos de los empleados de una manera
adicional: con base en el puesto, se incrementan los salarios de los empleados dependiendo de
la antigüedad en meses que los empleados tengan como tiempo laborado en la planta.
110
La revisión de estos incrementos de salario se debe realizar cada semana debido a que la
nómina es realizada con dicha periodicidad. Además, este incremento debe afectar la tabla de
datos del salario diario integrado.
La planta de Mexicali no maneja ningún plan o escala de salarios al día de hoy. El módulo de
Planificación de Salarios de PeopleSoft no formó del alcance del proyecto. Además, este
módulo se basa en el desempeño de los empleados, el cual es independiente a la antigüedad de
los empleados en la compañía.
A continuación se detallan las especificaciones funcionales y técnicas de este módulo, el cual
deberá adaptarse a los registros y funcionalidad entregada por PeopleSoft para el control de
datos legales y administrativos.
Configuración. La configuración de este tipo de incrementos se llevará a cabo dentro de una
nueva página a ser desarrollada. Se deberá definir una matriz de incrementos salariales que
dependa de los meses trabajados en la compañía, la cual será definida por compañía y por
código de puesto.
Meses de Antigüedad Incremento
3 9 pesos
6 10 pesos
12 19 pesos
18 29 pesos
24 25 pesos
30 9 pesos
36 9 pesos
Tabla 20 – Incrementos por aniversario
En la tabla de acción-motivo entregada por PeopleSoft se definirá el motivo “SEN” como
incremento de antigüedad, el cual generará un cambio de salario dentro de la tabla de datos del
salario diario integrado cuando el registro de datos del puesto almacene un renglón con la
combinación acción motivo anteriormente mencionada.
111
Flujo de Actividades Propuesto para Incrementos por Aniversario. Se proporcionará al usuario una
página mediante la cual se genere una lista de empleados que son elegibles a recibir un
incremento. Esta lista se genera con el fin de proporcionar al usuario una manera de revisar
los incrementos sin procesarlos de manera inmediata. En algunos casos los incrementos no
deben de aplicarse debido a que un empleado se encuentre en incapacidad, o bien, porque se
haya decidido finalizar la relación laboral con el mismo.
Figura 4.aq – Incrementos Masivos de Salario por Antigüedad
El usuario incorporará los datos sobre compañía y código de puesto. También capturará el
número de meses cumplidos, el cual se utilizará como filtro para mostrar a los empleados en la
lista de incrementos. El campo de fecha será utilizado como ‘fecha fin’ del periodo semanal.
El sistema mostrará cualquier empleado con aniversario entre la fecha de final y la fecha inicial
del periodo de nómina inmediato anterior, que pertenezca a la compañía y código de puesto
112
capturados, cuyo aniversario en número de meses sea el mismo al indicado en los parámetros.
El usuario presionará el botón “Obtener Empleados” para que el sistema genere la lista de
empleados elegibles.
Se incorporará el campo “Fecha de Acción” dentro de esta página con el fin de proporcionar
al usuario mayor flexibilidad en cuanto a la fecha con la que se desea registrar este movimiento.
Una vez revisada y autorizada la lista de incrementos, la cual se podrá exportar a Microsoft
Excel para recabar firmas y demás documentos de verificación, el usuario ejecutará el
programa de incrementos al hacer Clic en el botón de “Ejecutar”. Este programa se encargará
de incorporar un nuevo renglón en la tabla de datos del puesto para cada empleado, activando
así un cambio en la tabla del salario diario integrado.
Figura 4.ar – Flujo de Actividades para Incrementos Masivos de Salario
El programa que actualiza los datos del puesto utilizará una interfase de componente, la cual se
encuentra incluida dentro del Apéndice E como parte del código crítico en esta tesis.
113
Módulo: Interfase entre los módulos Nómina Global y Asistencia/Puntualidad
Módulos Afectados:
Administración de Personal, Proceso de Nómina, Administración de Asistencia y Puntualidad
Tiempo Estimado de desarrollo: 120 horas
PeopleSoft Nómina Global para México proporciona las páginas de tiempo extra y ausentismo
para ser utilizadas como mecanismo de proceso para el pago del tiempo extra o el registro de
ausencias de los empleados.
Para la versión que actualmente se propone implementar, el sistema no cuenta con páginas y
procesos orientados a la captura masiva de este tipo de incidencias. Tanto en la página de
tiempo extra como la página de ausentismo, la captura se realiza manualmente y por empleado.
En la planta de Mexicali, el tiempo extra es autorizado y capturado cuando los empleados de
línea de producción deben finalizar determinada tarea. En la mayoría de los casos, el tiempo
extra es asignado por el director de producción y para todos los empleados de la planta. Esto
significa realizar entradas de tiempo extra para 600 u 800 empleados en un mismo día.
Las disposiciones de la Ley Federal del Trabajo se encuentran consideradas en la página de
tiempo extra entregada en la extensión de nómina para México, pero dicha funcionalidad no
está ‘conectada’ al módulo de asistencia y puntualidad. Razón por la cual se propone construir
una interfase capaz de interpretar la información de tiempo extra capturada en el módulo de
asistencia y puntualidad para incorporarla a la página de tiempo extra del lado de nómina
global con el fin de procesarla adecuadamente.
En el caso del registro de ausentismo, las faltas y retardos se pueden procesar sobre la base de
la información capturada en el módulo de asistencia y puntualidad. Sin embargo, los reportes
legales para el seguro social, así como la configuración de reglas para aguinaldo y vacaciones, se
encuentran relacionados con el módulo de ausentismo.
114
El módulo de ausentismo también deberá sincronizarse con el módulo de asistencia y
puntualidad a través de una interfase de componente. A continuación se proporciona un
detalle sobre la estructura de procesos a considerar para la propuesta de sistemas sobre esta
interfase.
Configuración. Los parámetros de tiempo extra serán iguales para todos los grupos de pago
definidos. Dichos parámetros corresponden a las políticas de pago y de descuentos legales que
la compañía sigue como parte del reglamento interno de trabajo.
Configuración Definición
Máximo de veces por semana en que se paga el tiempo extra como doble 3
Máximo de horas a la semana en que se paga el tiempo extra como doble 9
Máximo de horas en el día en que se paga el tiempo extra como doble 9
Horas de tiempo extra doble no integrable por día 3
Tipo de pago al exceder cualquiera de estos límites Triple
Tabla 21 – Parámetros de Tiempo Extra
Roles y Responsabilidades. Los líderes de grupo en la línea de producción serán los encargados de
registrar el tiempo regular y el tempo extra de los empleados que les reporten.
Además, debido a que tienen el control sobre la disponibilidad laboral de aquellos empleados
que supervisan, serán capaces de registrar todas aquellas faltas, retardos o permisos con goce o
sin goce de sueldo.
Las vacaciones son solicitadas por el empleado y aprobadas por el líder de grupo. El área de
recursos humanos debe de aprobar dicho periodo vacacional, razón por la cual este tipo de
ausentismo será incorporado por recursos humanos en el sistema.
Flujo Propuesto para la Interfase. La arquitectura que se propone desarrollar para esta interfase se
encuentra enfocada a los procesos de negocio que actualmente se utilizan en la planta de
Mexicali.
115
Figura 4.as – Flujo de Actividades para la Interfase entre los módulos de Asistencia y Nómina.
En el diagrama anterior se ubican los puntos sobre los cuales tendrá lugar la interfase. Cada
registro de tiempo modificado en el módulo de asistencia y puntualidad se considerará para ser
enviado al módulo de tiempo extra o ausentismo, dependiendo del código de tiempo de que se
trate. Por otro lado, las vacaciones o incapacidades que el usuario de recursos humanos
capture serán enviadas al módulo de asistencia y puntualidad utilizando un proceso entregado
por PeopleSoft, la cual se propone sea programada para ejecutarse todos los días a media
noche.
El código de esta interfase se ha incluido dentro del Apéndice E, en el cual se incluyen los
programas para el manejo de las ausencias, así como el manejo del tiempo extra.
Módulo: Módulo de Cafetería
Módulos Afectados: Administración de Personal, Proceso de Nómina.
Tiempo Estimado de desarrollo: 120 horas
116
Debido a los tiempos de producción y manufactura, la planta ha establecido tiempos fijos de
descanso para que los empleados consuman alimentos en base al turno al cual se encuentren
asignados. El tiempo de almuerzo dura 30 minutos.
Las diferentes áreas de manufactura toman este tiempo de almuerzo escalonadamente. Es
decir, el primer grupo empieza a las 11:00 de la mañana, el siguiente a las 11:30, etc. Debe de
existir una gran coordinación en la cafetería para que no existan retrasos al servir los alimentos
o al registrar los consumos.
Por otra parte, dichos consumos deben de ser registrados correctamente ya que el primer
almuerzo por día para cada empleado es subsidiado por la compañía. El empleado pagará
únicamente 10.11 pesos por el primer consumo diario en la cafetería y la empresa pagará el
resto al proveedor. Cualquier consumo adicional que el empleado realice en el mismo día será
pagado totalmente y en efectivo por el empleado.
Además, el empleado que tenga tiempo extra autorizado por más de cuatro horas tendrá una
consumo gratuito por día. Si llegase a tener un consumo adicional en el mismo día, éste será
subsidiado.
Los proveedores que proporcionan los alimentos necesitan de un sistema rápido que
identifique a los empleados para evitar que éstos utilicen credenciales de otras personas y que
además proporcione la información necesaria sobre el tipo de consumo, ya sea subsidiado,
pagado en efectivo, o gratuito.
Para cubrir los requerimientos de este módulo, se propone desarrollar el módulo de cafetería
en PeopleSoft, el cual utilizará diferentes tecnologías de información para satisfacer
adecuadamente los procesos de negocio.
117
Configuración Física en el Comedor de la Planta. Las cuatro líneas de cafetería se equiparán con
estaciones de trabajo, cada una con lectores de proximidad para utilizar las mismas credenciales
que se utilizan para acceder a la planta en los accesos de seguridad. Dichas estaciones de
trabajo serán utilizadas por los proveedores para validar la información sobre empleado que
está solicitando el almuerzo, datos asociados al turno, estatus, etc.
Arquitectura de Sistemas. La información de las credenciales se incorporará a partir del sistema de
seguridad mediante la replicación de la tabla de datos del personal en la base de datos fuente
hacia la tabla de Identidad/Diversidad en PeopleSoft. Este proceso involucra la creación de
vistas dinámicas en Oracle apuntando al sistema de seguridad para poder extraer la
información necesaria para llevar a cabo este proceso.
Figura 4.at – Arquitectura propuesta para Cafetería
Es importante destacar que debido a la configuración de la seguridad de la información,
PeopleSoft cierra la sesión de trabajo si se presentan 20 minutos de inactividad. La página para
la captura de los consumos mediante credencial siempre debe de estar disponible para los
proveedores usuarios del módulo, ya que cualquier persona puede acudir a la cafetería en el
momento que lo desee, sin importar si se encuentra en hora de almuerzo o no.
118
Debido a esto, se propone configurar un servidor Web exclusivamente dedicado a la cafetería
en el cual no exista tiempo límite de sesión. Dicho servidor Web utilizará el mismo servidor de
aplicación y la misma base de datos que utilizan los demás módulos.
La figura 4.at proporciona un diagrama de sistemas sobre la arquitectura propuesta para
satisfacer estas necesidades, en donde se puede observar el Servidor Web B siendo utilizado
exclusivamente por el módulo de cafetería y el servidor A que se utiliza de manera
independiente.
Configuración. Para incorporar los consumos subsidiados al módulo de nómina, se propone
utilizar la funcionalidad de entrada positiva. En esta página se deberá de almacenar la cantidad
total de consumos por semana que se hayan registrado para cada empleado. Para esto, se
definirán los siguientes elementos de nómina.
Nombre Tipo de
Elemento Descripción
GN VR DES COMIDA Variable Almacena el valor subsidiado a descontar en nómina por cada consumo. Es mantenido por el usuario
DESC COMIDAS Deducción Es el resultado de multiplicar GN VR DES COMIDA por el número de consumos que el empleado tuvo en el periodo.
Tabla 22 – Elementos para la deducción por concepto de consumo en cafetería
A continuación se proporciona un detalle sobre las páginas y componentes para la captura de
datos, consulta e intercambio de información entre módulos.
Captura de Cafetería. Esta página utilizará lectores de proximidad conectados al puerto USB3 a
las estaciones de trabajo de cafetería. Dicha página deberá mostrar la información de turno,
horario de trabajo y consumos por día de los empleados para los proveedores.
Deberá incluir la fotografía del empleado e incluirá la lógica necesaria para realizar las
validaciones sobre el número de consumos por día, así como el tiempo extra autorizado.
3 Universal Serial Bus – es el puerto comúnmente utilizado para el intercambio de información entre computadoras y
periféricos.
119
También deberá mostrar en pantalla cuando el consumo pueda realizarse, o bien, cuando por
algún motivo el empleado no tenga derecho al consumo subsidiado y la razón por la cual el
sistema haya mostrado dicha negación.
Registro Manual de Consumos. En algunos casos, el área de Recursos Humanos necesita hacer
modificaciones al número de consumos registrados ya sea por error o por condiciones externas
a la lógica del sistema. La página de modificaciones deberá también de proporcionar la
habilidad de incorporar consumos que no se hayan registrado, o bien, eliminar consumos por
acuerdos establecidos con los jefes de área.
Proceso de Consumos. Se proporcionará al usuario de un programa capaz de totalizar el número de
comidas registradas durante la semana e incorporarlas en la página de entrada positiva a través
de una interfase de componente. Esta página utilizará como parámetros la fecha de inicio del
periodo, fecha final, así como el calendario de pago al cual se pretende incorporar esta
información.
Del mismo modo y a través de esta página, el sistema deberá de ser capaz de revertir la
información anteriormente enviada.
Reportes de Cafetería Los usuarios del área de Recursos Humanos necesitan de un reporte que
proporcione el total de consumos durante el periodo, así como los consumos por cada línea de
cafetería para poder conciliar esta información con el proveedor. Se propone desarrollar dos
reportes SQR4 que lleven a cabo esta tarea, los cuales tomarán la información de las tablas
principales que almacenan la información sobre consumos.
El Apéndice E incluye el código de esta aplicación, en donde se proporciona información
sobre las principales tareas de este módulo. La lista de reportes que se utilizarán por parte de
los usuarios de la planta se detalla más adelante en esta tesis.
4 SQR. (Structured Query Report) es un lenguaje de programación que utiliza sentencias SQL para la generación de reportes
dinámicos.
120
Módulo: Información de Ausentismo para Líderes de Grupo
Módulos Afectados: Administración de Asistencia y Puntualidad Tiempo Estimado de desarrollo: 80 horas
Los líderes de grupo son los principales encargados de revisar y asignar vacaciones a los
empleados que les reporten. Antes de aprobar un periodo vacacional del empleado, deberán
analizar la programación del trabajo pendiente a realizar dentro del periodo de vacaciones que
el empleado solicite. Además, deben de confirmar que efectivamente el empleado cuenta con
un balance de vacaciones disponible a utilizar antes de asignarlo.
PeopleSoft entrega algunas páginas que se pueden utilizar para consultar el saldo de
vacaciones. Sin embargo, la funcionalidad no se encuentra desarrollada para mostrar de manera
general todo tipo de ausentismo y los detalles sobre el cálculo de los saldos de vacaciones. Por
esta razón se propone desarrollar dos páginas adicionales que se integrarán al componente de
Tiempo por Empleado para líderes de grupo, discutido anteriormente.
Configuración y Desarrollos. El cálculo regular de la nómina determinará si un empleado ha
cumplido aniversario a través del elemento de derecho de ausencia VAC ANIV. Este elemento
utiliza la formula VA FM ES ANIV para determinar el resultado a través de la lógica que se
presenta en el siguiente diagrama.
121
Determina el Próximo día de Aniversario del Empleado
¿El Aniversario se encuentra entre la fecha
de inicio y fin de Periodo?
Continúa el Proceso de Nómina
Calcula la Nueva Antiguedad
Agrega los días de vacaciones al elemento de
derecho de ausencias
Agrega los días de vacaciones al elemento de
Saldo de Vacaciones
SÍ
NO
Figura 4.ax – Determinación de Vacaciones a través de la antigüedad del empleado
Para los procesos de negocio de la planta de Mexicali, es indispensable calcular el saldo
proporcional del año en curso. Dicho monto proporcional es calculado sobre la base de los
días trabajados después de la fecha de aniversario.
Figura 4.az – Saldo Proporcional de Vacaciones
122
Para cubrir este requerimiento, se definirá el elemento de ausencia VAC PROP, el cual
obedecerá la siguiente formula: GP TEMP001 NUM = Días entre la última fecha de aniversario y la próxima fecha de aniversario. VAC PROP = (GP TEMP001 NUM / 365) * (Días de Vacaciones conforme a la antigüedad actual del empleado) El sistema tomará la antigüedad del empleado con base a los parámetros por grupo de pago
definidos para el goce de las vacaciones.
El saldo proporcional de vacaciones no puede ser disfrutado por el empleado sino hasta que se
cumple el año de aniversario. Sin embargo, en casos especiales se asignan vacaciones con saldo
negativo, a cargo del saldo proporcional. Este caso es común al final del año cuando existe un
cierre de la planta.
Como se menciona dentro de las políticas de la planta, las vacaciones pueden ser pagadas por
adelantado sin que todavía se disfruten. Debido a que el control de las vacaciones disfrutadas
es independiente de las vacaciones pagadas, estas últimas deberán de incluirse dentro del
cálculo final del saldo disponible de vacaciones que se mostrará a los líderes de grupo, de
manera que se pueda observar un panorama general sobre el total de vacaciones por empleado.
Saldo de Vacaciones Primer año 2 días
Saldo de Vacaciones Segundo año 10 días
Saldo de Vacaciones 12 días
Vacaciones Pagadas por
Adelantado 5 días
Saldo Actual Disponible 7 días
Monto Proporcional 3.17 días
Total Devengado 10.17 días
123
En la figura anterior se puede observar un ejemplo de un cálculo de vacaciones para un
empleado de la planta. Una vez que se procese el periodo de vacaciones correspondientes a las
pagadas por adelantado, estas vacaciones formarán parte del resultado calculado en los
acumuladores.
Figura 4.ba – Propuesta para Componente de Saldo de Vacaciones
Dentro de esta página se mostrará también el detalle sobre las vacaciones anteriormente
disfrutadas, así como las programadas en semanas posteriores a la fecha de la última nómina
procesada.
124
Además de los detalles sobre las vacaciones, los líderes de grupo necesitan revisar el historial
de ausentismo de los empleados. Para cubrir este requerimiento, se pretende proporcionar a
los líderes de grupo una página que basada en el año calendario muestre la suma de los montos
para cada uno de los diferentes tipos: Vacaciones, Faltas, Incapacidades, Permisos y Retrasos.
Los totales mostrados en esta página dependerán del último periodo de nómina que se haya
procesado.
Se incluye dentro del Apéndice E el código a desarrollar para las páginas de saldo de
vacaciones e historial de ausentismo que serán utilizadas por los líderes de grupo.
125
Conversión de Datos
El esfuerzo de conversión de datos está basado en la información necesaria para utilizar el
sistema, así como en la información legal requerida a mantener como parte del historial de la
planta a lo largo de su función.
En México, es obligación del patrón mantener el historial de la mayor parte de la información
de sistemas por 5 años, debido a las auditorías que se puedan requerir. En el caso de la
información de los empleados, todo tipo de información del puesto es utilizada para
determinar la antigüedad, gratificaciones y demás compensaciones cuando se realice un
finiquito o liquidación. También es de vital importancia mantener un adecuado historial de
ausentismo, ya sea para efectos del seguro social, o bien, para determinar correctamente el
balance de vacaciones.
Propuesta de Conversión de Datos. El sistema actualmente utilizado por la planta cuenta con la
posibilidad de realizar informes que funcionan mediante consultas SQL a la base de datos, los
cuales pueden ser generados con el formato que se requiera. El enfoque sobre conversión de
datos utilizará esta funcionalidad para extraer la información en archivos planos para después
ser procesados mediante programas de conversión en PeopleSoft.
Estos programas de conversión utilizarán interfases de componente o carga por procesos en
lote, dependiendo de las validaciones que se necesiten realizar. Los archivos planos generados
deberán de basarse en las plantillas predefinidas para cada tabla o componente, la cuales
estarán relacionadas a los datos requeridos por cada módulo que se trate.
La siguiente lista proporciona el orden y especificaciones que se deberán de considerar para
cada uno de los módulos que forman parte del esfuerzo de conversión de datos. Dicho orden
está basado en la funcionalidad requerida por PeopleSoft para que el sistema funcione
correctamente.
126
Ingresos. Esta plantilla se utilizará para extraer la información de contratación del empleado.
El programa de carga tomará los datos requeridos por PeopleSoft a partir del archivo plano
generado por el sistema actual y generará la contratación de todos los empleados en la lista.
Datos del Puesto. Una vez que se hayan contratado los empleados, se utilizará el historial de
los empleados generado a partir del sistema actual y se incorporará a partir del programa de
carga. La información extraída estará basada en la arquitectura de las tablas en PeopleSoft, así
como en la configuración de valores de selección disponibles.
Estas dos primeras fases se realizan separadas puesto que las validaciones a nivel componente
son distintas dependiendo de la actividad que se quiera realizar, ya sea contratación o
actualización de datos del puesto.
Registros de Identidad. Este programa de carga pretende incorporar por empleado, la
CURP (Clave Única de Registro de Población) y el NSS (Número de Seguridad Social). Estos
identificadores son validados por el sistema al momento de su captura. Sin embargo, algunas
claves de identificación no son correctas pero son válidas puesto que se han utilizado por el
empleado a lo largo del tiempo. Se utilizará una carga directa a la tabla de Identidad del
Empleado para realizar esta tarea.
Dependientes y Beneficiarios. Se generará un archivo plano a partir del sistema actual con la
información sobre padre, madre e hijos por empleado. Los dos primeros son requeridos para
generar los avisos de notificación al Instituto Mexicano del Seguro Social. El sistema toma la
información de la tabla a la cual se incorporará la información de los dependientes.
Cuentas para Depósito Bancario. Todos los empleados de la planta deben de tener una
cuenta asociada a su registro de empleo para poder realizar el depósito directo del pago
semanal de la nómina. A partir del sistema actual se generará un archivo que contenga la
información bancaria por empleado para ser incorporada a PeopleSoft, en donde también se
deberá definir la opción ‘Depósito Directo’ para cada cuenta en el sistema dentro del
componente de Elección de Tipo de Pago.
127
Tipos de Pago GL. Esta clasificación es utilizada cuando se contrata a un empleado o se
modifica el departamento al cual reporta. Como se mencionó anteriormente dentro de las
adaptaciones al sistema, el tipo de pago GL depende del ID de departamento y del turno al
cual el empleado se encuentre asignado. Sin embargo, el sistema debe de presentar una lista de
valores válidos para que el usuario seleccione el adecuado.
Se realizará un programa de carga directa a la tabla de Tipos de Pago GL a partir de la
definición que el usuario haya realizado en un archivo separado por comas. Esta definición
considera los centros de costos (ID de departamento) y los correspondientes turnos.
Gestión de Posiciones. Los usuarios de recursos humanos, apoyados por la gerencia de
desarrollo organizacional generarán un archivo en Excel dentro del cual se definirán las
posiciones a utilizar, así como el número de plazas disponibles para cada posición en la planta
de Mexicali.
La información de este archivo se incorporará al componente de Gestión de Posiciones para
que éstas sean utilizadas posteriormente.
Asignación de Posiciones. El área de Recursos Humanos generará un archivo Excel en el
cual asignará una posición a todos los empleados. Se desarrollará un programa que extraiga la
información de este archivo e incorpore un nuevo registro en el componente de Datos del
Puesto en donde se asigne la posición con fecha efectiva igual al día en que el sistema estará en
producción.
Tabla de Salario Diario Integrado. Aunque cada registro en el componente de datos del
puesto que tiene que ver con altas, cambios de salario y bajas del empleado afecta la tabla de
datos de Salario Diario Integrado, en algunos casos se han realizado modificaciones manuales a
este historial. Por esta razón y porque esta información tiene un ámbito legal, se generará un
archivo plano con la información del salario diario integrado del sistema actual y se incorporará
directamente en PeopleSoft.
128
Créditos INFONAVIT. Alrededor de 200 empleados de la planta de Mexicali tienen
asociado un crédito INFONAVIT como parte del descuento semanal. Debido a que la
información sobre préstamos debe ser procesada para incorporar los descuentos como parte
del proceso de nómina, se generará un archivo plano con la información sobre estos créditos y
se utilizará un programa de carga para procesar la información.
Historial de Ausentismo. El historial de todo tipo de ausentismo debe ser registrado de
acuerdo a como haya quedado procesado en el sistema anterior.
Se propone extraer dicha información y generar un listado único de ausentismo ordenado por
empleado y fecha de ausentismo para que esta información sea procesada dentro de
PeopleSoft.
Saldos de Vacaciones. Para determinar el balance de vacaciones de manera correcta, se
desarrollará un programa específico para esta tarea el cual considerará las vacaciones
incorporadas a través de la conversión de datos de ausentismo.
Este programa calculará el saldo por año de antigüedad para cada uno de los empleados sobre
la base de las vacaciones disponibles y las vacaciones tomadas.
El propósito de este programa es inicializar los acumulados de derecho de vacaciones,
vacaciones disfrutadas, ajustes y el saldo disponible. Estos mismos acumuladores son los que
se actualizan posteriormente durante el proceso de nómina y ausentismo y que sirven para las
consultas llevadas a cabo por los líderes de grupo y usuarios de recursos humanos.
Dicho programa considerará a todos los empleados de la planta, independientemente de si se
encuentren activos en el sistema o no y determinará el saldo de vacaciones sobre la base de la
siguiente lógica.
129
Figura 4.bc – Proceso de Carga para Saldos de Vacaciones
Acumulados de Nómina. La información sobre nóminas procesadas en el sistema actual
deberá incorporarse a PeopleSoft para poder mantener el historial sobre el cálculo de
percepciones y deducciones de los empleados. Se generarán archivos planos donde se extraiga
la información sobre los montos acumulados para cada concepto en cada periodo para
incorporarlos a acumuladores de PeopleSoft. Los archivos planos deberán de seguir una
plantilla donde se vinculan los acumulados del sistema actual con los acumuladores en
PeopleSoft.
130
Administración de Contratos. Se generará un archivo plano sobre el historial de los
contratos asignados a los empleados y se desarrollará un programa de carga capaz de leer este
archivo para incorporar la información a PeopleSoft en la tabla de contratos y actualizar la
información necesaria dentro del componente de datos del puesto.
Propuesta de Sistemas para los programas de Carga de Datos. A partir del análisis y
diseño realizados se propone el uso de las diferentes herramientas de tecnologías de
información en PeopleSoft para incorporar la información al sistema.
Herramientas a Utilizar Plantilla Interfase de
Componente Script PL/SQL
SQR Formato de Archivo
Motor de Aplicación
Ingresos X X X
Datos del Puesto X X X
Registro de Identidad X X
Dependientes X X
Cuentas Bancarias X X X
Tipos de Pago GL X
Posiciones X X X
Asignación de Posiciones X X X
Salario Diario Integrado X X
Créditos INFONAVIT X X X
Historial de Ausentismo X
Saldos de Vacaciones X X X
Acumulados de Nómina X
Administración de Contratos X X
Tabla 23 – Propuesta de Sistemas para conversión de datos
Dentro de esta tesis se han incorporado algunos prototipos incluidos dentro del Apéndice C
sobre los programas de conversión, así como las plantillas a utilizar para extraer la información
del sistema actual.
131
Generación de Reportes
Los reportes que utilizan las áreas de Recursos Humanos, Finanzas, así como el área de
Manufactura a través de los líderes de grupo, son utilizados para verificar la información y en
algunos casos aprobar cambios mediante la firma de los mismos. Muchas de las consultas
realizadas son personalizadas y pueden variar dependiendo de la información que se requiere
extraer.
Para satisfacer todas las necesidades relacionadas a los reportes del sistema, se propone el uso
de las siguientes herramientas, las cuales se utilizarán dependiendo de la información que el
usuario necesite.
Query. Se utiliza cuando el usuario requiere extraer información precisa mediante
representaciones visuales de la base de datos, sin necesidad de escribir sentencias SQL5. Este
tipo de informes pueden ser simples o complejos, dependiendo de las necesidades del usuario
y pueden ser ejecutados las veces que sea necesario. Una vez ejecutado el informe puede
exportarse a Excel, Crystal Reports o a un archivo de texto.
SQR. Es un lenguaje de programación que se utiliza para acceder y manipular datos y generar
reportes con requerimientos específicos. SQR tiene varias ventajas, entre las cuales destacan la
flexibilidad de portabilidad entre plataformas y sistemas de bases de datos relacionales y el
soporte de sentencias SQL para el manejo de la información.
Es también un lenguaje de cuarta generación, lo cual significa que se encuentra más cercano a
los lenguajes humanos y por lo tanto su programación es más intuitiva. Con este lenguaje se
pueden desarrollar reportes que generen listados, cartas, e incluso reportes con formato
HTML o formato Adobe PDF.
5 SQL – (Structured Query Language )– Lenguaje Estructurado de la Base de Datos.
132
Crystal Reports. Como se mencionó anteriormente, este programa trabaja en conjunto con
PeopleSoft Query. Este último se utiliza para extraer los datos necesarios de la base de datos,
para después proporcionar la información a Crystal Reports y dar el formato deseado al
reporte. Este tipo de reportes son muy útiles cuando se desea generar cartas, invitaciones o
reportes de muestreo gráfico.
Se han analizado los reportes críticos para las áreas involucradas y se propone el uso de las
herramientas mencionadas. También se ha considerado utilizar algunos reportes que son
entregados por el sistema, ya que muchos de ellos son de carácter legal y su formato no
cambia, además de que son mantenidos por PeopleSoft para futuras actualizaciones.
Definición de Reportes Reporte Reporte
SQR PeopleSoft
Query Reporte Crystal
¿Entregado por PeopleSoft?
Administración de Personal
Contrataciones X
Terminaciones X
Carta de Recomendación X X
Carta de Incremento de Salario X X
Solicitud de Credencial de Identificación X X
Resumen de Experiencia Profesional X X
Resumen del Empleado X X
Control de Vacantes y Puestos X
Reporte de Dependientes X
Reporte de Cuentas Bancarias X
Proceso de Nómina
Notificaciones al IMSS X X
Interfase a IDSE X X
Interfase a SUA X X
Reporte de SDI Variable X X
Reporte de Total de SDI X
Reporte de INFONAVIT X X
Pago de Vacaciones X
Vales de Despensa X X
Recibo de Nómina X X
Resultados de Nómina X X
133
Definición de Reportes Reporte Reporte
SQR PeopleSoft
Query Reporte Crystal
¿Entregado por PeopleSoft?
Administración de Asistencia y Puntualidad
Historial de Ausentismo X X
Ausentismo por Centro de Costos (Departamento) X
Datos del Puesto X X
Reporte de Pre-Nómina X
Reporte de Tiempo Extra X X
Historial de Vacaciones X X
Cafetería
Consumos Diarios y totales Semanales X
Consumos por línea de Cafetería X
Evaluación de Desempeño / Costos
Interfase a Sistema de Costos X
Interfase a Sistema de Desempeño X
Tabla 24 – Propuesta de sistemas para desarrollo y configuración de reportes
A continuación se presentan los tiempos estimados de desarrollo de reportes para cada uno de
los módulos del sistema.
Administración de Personal. Se proporcionará ayuda a los usuarios para la construcción de
informes en la herramienta Query. El formato en Crystal Reports será desarrollado y
mantenido por el usuario. El tiempo estimado para completar esta tarea es de 80 horas.
Administración de Asistencia y Puntualidad. El informe a desarrollar con la herramienta
query se estima en 4 horas. Se desarrollará un SQR para el reporte de prenómina, el cual se
prevé completar en un tiempo estimado de 60 horas.
Proceso de Nómina. Los dos informes a generar en Query se desarrollarán para el usuario.
El tiempo estimado para completar esta tarea es de 16 horas. La mayoría de los reportes de
nómina son de caracteres legales y entregados por PeopleSoft.
134
Cafetería. Se utilizará SQR para los reportes de cafetería para los cuales se han considerado 32
horas para su desarrollo.
Evaluación de Desempeño / Costos. La interfase del sistema de evaluación de desempeño
se basa en la información utilizada en el módulo de asistencia y puntualidad. Debido a que las
demás plantas utilizan esta interfase, este desarrollo no se considerará puesto que ya se
encuentra en producción.
La interfase al sistema de costos existe actualmente pero está enfocada hacia el módulo de
Nómina de Norte América. Por lo tanto, se requiere generar un programa que utilice el
módulo de nómina global para satisfacer los requisitos de intercambio de información para la
planta de Mexicali. El tiempo estimado para este desarrollo mediante SQR es de 40 horas.
Dentro del Apéndice D se ha incorporado el código crítico de algunos reportes críticos que
forman parte de los procesos de negocio de la planta.
135
C a p í t u l o 5
PLAN DE IMPLANTACIÓN
Fases de la Implantación.
El ciclo de vida de un proyecto inicia a partir del análisis de diferentes opciones y estrategias
enfocadas a resolver uno o varios problemas. Una vez seleccionada la opción de sistemas, se
requiere de un efectivo plan de implantación en el cual se pueda liberar exitosamente la
solución de sistemas en toda la organización sobre la base del presupuesto y el tiempo. Para
completar esta tarea, el equipo del proyecto deberá tener las herramientas y el apoyo necesario
para poder lograr las metas económicas, así como los tiempos del proyecto en cada uno de los
componentes asociados al ciclo de vida del mismo. A continuación se detallan cada una de las
fases que tendrán lugar para la implantación del sistema de recursos humanos.
Análisis deRequerimientos
Diseño delSistema
PruebasUnitarias
de Desarrollo
Pruebas deAceptación
Por el UsuarioLiberación
Desarrollo y Configuracióndel Sistema
Figura 5.A – Fases de la Implantación
Análisis de Requerimientos. Se realizará la investigación de requerimientos de la planta de
Mexicali a través de entrevistas a los usuarios finales, así como a personal ejecutivo y de
coordinación de las diferentes áreas involucradas con el proyecto.
Entregable del Análisis de Requerimientos. Al final de esta fase, se deberá tener un listado sobre los
requerimientos por proceso de negocio, el cual haya sido revisado y aprobado por el equipo
del proyecto.
136
Diseño del Sistema. Se definirá la estructura de descomposición de trabajo y se generarán los
documentos necesarios para cada uno de los bloques que constituyen dicha estructura. Cada
uno de los documentos de diseño estará basado en las entrevistas, documentos Fit-Gap y
requerimientos generados en la fase anterior del proyecto. En los documentos de diseño se
debe detallar el porqué y el cómo para cada uno de los cambios y configuraciones a realizar en
el sistema.
Entregable del Diseño de Sistemas. El equipo del proyecto revisará y aprobará todos los
documentos de diseño del sistema, en el cual se presentarán las opciones seleccionadas para
cubrir los requerimientos de negocio. Se convocará a los usuarios finales y al equipo del
proyecto a varias juntas para la corrección y aclaración de dudas sobre el contenido de los
mismos hasta que todas las partes hayan acordado sobre la funcionalidad a desarrollar y
configurar.
Desarrollo del Sistema. Dentro de esta fase, el equipo de sistemas deberá llevar a cabo la
configuración y el desarrollo de los diseños aprobados por el equipo del proyecto. Se utilizará
un ambiente de base de datos de desarrollo independiente al ambiente de producción.
Entregable de Desarrollo. Este entregable es el sistema a utilizar por la planta de Mexicali. El líder
del proyecto deberá de llevar un control adecuado sobre el estatus de desarrollo y
configuración de cada uno de los módulos a través de la conciliación del proyecto contra la
estructura de descomposición de trabajo.
Pruebas Unitarias de Desarrollo. El equipo de sistemas deberá validar que la funcionalidad
desarrollada y la configuración trabajan correctamente. La documentación sobre las pruebas
unitarias de desarrollo marcará el final de esta fase, la cual deberá validarse por el líder del
proyecto.
137
Entregable de Pruebas Unitarias de Desarrollo. Cada desarrollador o experto funcional presentará un
conjunto de pruebas realizadas para cada uno de los módulos y procesos. No se pretende
realizar una prueba completa del sistema, sin embargo se deberá considerar que la
funcionalidad más importante y los casos de prueba más frecuentes se procesen exitosamente.
Una vez finalizada esta fase, ya no pueden existir cambios al alcance del proyecto o solicitudes
de nueva funcionalidad en el sistema. En este caso, dichas solicitudes quedarán pendientes
para futuras mejoras.
Pruebas de Aceptación por el Usuario. En esta fase, corresponde al usuario final probar el
sistema completamente. El usuario generará una serie de casos de prueba sobre la base de las
actividades del día a día, relacionadas con cada uno de los módulos y procesos a liberar en el
nuevo sistema.
Entregable de Pruebas de Aceptación por el Usuario. Se proporcionará al usuario con una plantilla
para casos de prueba la cual contiene el siguiente formato.
Nombre del Usuario e Información de Contacto El nombre de la persona que realiza la prueba
Proceso de Negocio Proceso de Negocio relacionado a la prueba
Descripción de la Prueba Descripción general de la prueba a realizar
Resultados Esperados Descripción específica de los resultados esperados
Resultados Obtenidos Resultados obtenidos de la prueba
Tabla 25 – Plantilla para entrega de pruebas de validación
Todos los documentos de pruebas se almacenarán en un fólder compartido denominado “Fase
de Pruebas”, accesible para todos los miembros del equipo del proyecto. De esta manera los
desarrolladores revisarán y corregirán los errores que en la fase de pruebas hayan sido
encontrados. Cuando un documento de pruebas esté completo, el líder del proyecto moverá
dicho documento a un fólder denominado “Pruebas Finalizadas”.
138
Aunque el sistema pueda seguir con algunos errores, el equipo del proyecto a través de juntas
semanales decidirá el grado de riesgo y lo crítico que puedan tener los errores encontrados.
Se pretende obtener al menos el 90% de la validación de casos de prueba aprobados, en donde
el porcentaje restante no sea de carácter crítico o urgente.
Se propone utilizar un sistema de control y registro de problemas en el cual se asocie a los
casos de prueba para su mantenimiento. La empresa utiliza un sistema desarrollado “en casa”
en Visual Basic el cual ofrece la funcionalidad necesaria para generar listados que contengan el
estatus de cada uno de los problemas encontrados.
Liberación. En esta fase se pretenden iniciar actividades con el nuevo sistema y la
funcionalidad desarrollada y probada.
Entregables de Liberación. El sistema en producción es como tal un entregable de esta fase. Sin
embargo, se deben llevar a cabo diferentes tareas para obtener validación y aprobación por
parte de las áreas involucradas.
Plan de Liberación del Sistema (Cutover Plan). El área de sistemas, así como el líder del proyecto
deberán de generar un documento en el que se definan todas y cada una de las actividades a
seguir en el momento de liberar este sistema en el ambiente de producción. Este documento
contiene los programas, manejo de datos y procesos necesarios a llevar a cabo para dejar listo
el sistema para su utilización por parte de los usuarios. Deberá presentar ordenadamente todas
las actividades a realizar, así como el grupo o persona responsable y la fecha y hora en la cual la
actividad tendrá lugar. De esta manera se puede planificar cuándo estará el sistema disponible.
Plan de Pruebas Para Producción. Será responsabilidad del usuario y líderes funcionales y del
proyecto el generar un documento específico para realizar pruebas unitarias una vez que el
sistema se encuentre en producción. No será necesario realizar pruebas completas como en la
fase anterior; sin embargo, los usuarios serán los responsables de verificar que la información
exista y sea correcta después de la conversión de datos, la configuración sea la adecuada y que
la funcionalidad se encuentre disponible.
139
También será posible ejecutar algunos procesos preliminares que representen un grado crítico
de riesgo. Todas las verificaciones y pruebas deberán incluirse en este documento.
Se propone incorporar al equipo de validación a varios usuarios de diferentes plantas de la
compañía, con el fin de validar que la información y procesos que actualmente existen sigan
funcionando de manera adecuada.
Al finalizar las pruebas incluídas en este documento, los representantes de las áreas, así como el
equipo del proyecto deberán decidir si el sistema está listo para ser utilizado. Obteniendo el
voto afirmativo de todas las áreas, la fase de liberación estará completa y el sistema listo para
ser utilizado.
Plan de Recuperación (Backout Plan). En caso de que se presenten problemas al momento de
implantar el sistema en el ambiente de producción, el equipo del proyecto debe de estar listo
para realizar diferentes actividades para dejar el sistema como estaba antes de haber migrado
programas y demás adaptaciones realizadas. Este documento deberá contener todas las tareas a
realizar y con el orden necesario, así como el área o persona responsable y el tiempo estimado
en el cual se complete cada actividad.
Por lo general, para la implantación de un sistema de esta magnitud se necesitan alrededor de
16 horas, sobre la base de la opinión de los expertos. Se pretende iniciar labores por parte del
equipo del proyecto y área de sistemas a las siete de la mañana para tener el sistema listo para
pruebas alrededor de las tres de la tarde. El usuario tendrá una ventana de trabajo de
aproximadamente cuatro horas y se tomará la decisión sobre el sistema a las ocho de la noche.
Estos tiempos darán espacio para ejecutar el plan de recuperación en caso de que sea
necesario.
140
Roles y Responsabilidades
La responsabilidad que cada área tiene en el proyecto se encuentra vinculada a los procesos de
negocio que lleven a cabo, lo cual se considera para cada fase del proyecto. Por esta razón, se
propone el siguiente esquema, el cual deberá de seguir la misma lógica para efectos de
seguridad a nivel sistema en el acceso a cada componente del mismo.
Usuario de Recursos Humanos. Se encarga de toda la parte del manejo de capital humano, el
desempeño de los empleados, así como de la definición y mantenimiento de la información de
la compañía.
Usuario de Nómina. Asignado a todas las tareas relacionadas al proceso de nómina, así como
interfases de tipo legal y registros de asistencia.
Usuario de Finanzas. Valida los impuestos calculados en nómina, así como las contribuciones
sociales. Se encarga de generar y revisar la información utilizada para la contabilidad, así como
la administración de costos y depósitos bancarios.
Líder de Grupo. Se encarga de capturar y validar la información sobre el tiempo trabajado y
asistencia de los empleados.
Coordinador de Sistemas. Cuenta con la posibilidad de acceder a todos los módulos del sistema
únicamente para realizar revisiones y validaciones sobre la funcionalidad. En el ambiente de
producción, el modo de acceso es de sólo lectura para todas las páginas y vínculos
correspondientes. También se encarga de realizar pruebas unitarias en el ambiente de
desarrollo.
Desarrollador. Tiene acceso a todos los módulos y páginas del sistema en el ambiente de
desarrollo. Tiene acceso limitado dentro de la fase de pruebas de aceptación por parte del
usuario y no tiene acceso al ambiente de producción. También realizará pruebas unitarias de
desarrollo.
141
Administrador del Sistema. Cuenta con acceso a todos los módulos del sistema durante todas las
fases y para todos los ambientes a utilizar. Este rol puede ser utilizado en caso de emergencia
por parte del área de sistemas cuando se necesite.
La definición de estos roles se encuentran vinculados con las propuestas del acto Sarbanes-
Oxley (SOX). La SOX nació como respuesta a una serie de escándalos corporativos que
afectaron a empresas estadounidenses a finales del 2001, producto de quiebras, fraudes y otros
manejos administrativos no apropiados, que mermaron la confianza de los inversionistas
respecto de la información financiera emitida por las empresas.
Transición Hacia Nuevos Sistemas
Una transición y un cambio son diferentes. El cambio es situacional: la mudanza hacia una
nueva casa, el retiro de un socio fundador, la reorganización de los roles del equipo, la revisión
del plan de pensiones.
Una transición toca un tema más complicado que la mayor parte de las ocasiones se compone
de tres etapas:
1. Dejar ir las actividades anteriores y la identidad que se tenía con el sistema anterior.
2. Atravesar un tiempo en el que el sistema anterior ya no existe y el nuevo sistema no se
encuentra operando en su totalidad.
3. Salir de la transición hacia un nuevo principio. Aquí es cuando la gente desarrolla una
nueva identidad y experimenta un nuevo sentir sobre el propósito que tiene el nuevo
sistema.
Si no se proporciona la ayuda y soporte necesario a los usuarios y equipo del proyecto durante
estas tres fases, el mejor de los entrenamientos que se pueda adquirir no será satisfactorio,
además de que se pueden generar severos problemas durante la salida a producción. Por esta
razón, se propone en esta implementación el considerar los siguientes puntos para preparar a la
gente para la transición hacia un nuevo sistema:
142
1. Investigar con exactitud cómo cambiarán las conductas de los individuos para que el personal trabaje correctamente.
2. Analizar qué usuario perderá funciones con la implantación del nuevo sistema. 3. Hacer entender de la mejor manera posible a los usuarios sobre el problema o
problemas que se solucionarán con la implantación del nuevo sistema. 4. Hablar de la transición y los detalles que ocurrirán con la implantación. 5. Tener juntas regulares con usuarios y equipo del proyecto.
Administración del Proyecto
Como parte de los requerimientos de sistemas y de procesos de trabajo para el adecuado
control y liberación del proyecto, se han analizado cada una de las actividades y requisitos
específicos que deberán de estar presentes para que la implantación de este sistema resulte
exitosa.
Figura 5.B – Ambiente de bases de datos propuesto
Gestión de Ambientes de Bases de Datos. Deberán existir diferentes ambientes los cuales
se utilizarán dependiendo de las actividades y usuarios involucrados. La figura anterior
proporciona una representación gráfica de la propuesta mencionada a continuación.
143
El ambiente de desarrollo es específico para iniciar y finalizar desarrollos por parte del equipo del
proyecto y el área de sistemas. También se utilizará como ambiente inicial para la corrección
de errores. Esta base de datos es una copia original de la base de datos de producción en la que
se activan los módulos a implantar y donde se realicen nuevos desarrollos. En este ambiente
se realizarán las pruebas unitarias de desarrollo.
Se propone actualizar esta base de datos al menos tres veces durante el proyecto: al inicio del
proyecto, antes de las pruebas por el usuario y una vez finalizado el proyecto. Pueden existir
más actualizaciones, dependiendo de las necesidades que se presenten.
El ambiente de pruebas será utilizado únicamente para la fase de pruebas de validación por parte
del usuario. No se podrán efectuar cambios a desarrollo directamente. En caso de que esto se
requiera, dicho cambio deberá realizarse en la base de datos de desarrollo para ser migrado a
este ambiente con autorización previa del área de sistemas y el líder del proyecto.
En cuanto a la configuración del sistema, ésta podrá ser modificada directamente pero sólo por
los responsables del proyecto, los cuales deberán de tener un estricto control sobre lo que se
está modificando para después aplicarlo en el ambiente de desarrollo.
La configuración y los desarrollos, así como la información incorporada por conversión de
datos serán migrados a producción a partir de este ambiente.
El ambiente de producción es el que actualmente es utilizado por las demás plantas de la compañía.
No requiere actualizaciones más que el mantenimiento rutinario para el desempeño del sistema
en general.
144
Capacitación. El entrenamiento que se proporcione a los usuarios es requisito básico para la
implantación exitosa de este sistema. Debido a que cierta funcionalidad es nueva, o bien, se
utilizará de manera específica para la planta de Mexicali, se propone realizar sesiones de
capacitación impartidas por el área de sistemas para los usuarios finales y de esta manera
complementar el entrenamiento.
Tiempos Estimados de Implantación. El tiempo estimado de finalización del proyecto
puede variar dependiendo del número y disponibilidad de los recursos involucrados. El equipo
del proyecto deberá de revisar y aprobar la siguiente propuesta sobre tiempos, en la cual se
consideran todas las fases del proyecto.
Figura 5.C – Plan del Proyecto
Se realizarán juntas semanales en las que se revise el estatus del proyecto, se mencionen
problemas y se presenten soluciones a corto y largo plazo. La información sobre el proyecto
debe ser comunicada a todos los niveles de la compañía, donde se incluya un reporte ejecutivo
para poder tomar decisiones oportunas para llegar al objetivo final: la implantación del sistema
de recursos humanos.
145
HALLAZGOS Y CONCLUSIONES
Descripción de los Hallazgos
A través de la consolidación de esta tesis se pudo observar que la implantación de un sistema
tipo ERP para las actividades y procesos de recursos humanos es una tarea complicada que
requiere de orden y administración de las tareas y los recursos asociados a la liberación del
sistema. Aunque resulte sencillo implantar algunos módulos que son entregados por
PeopleSoft, cabe destacar que el éxito dependerá de saber cómo utilizarlos y determinar su
impacto a los procesos de negocio de una empresa.
Uno de los hallazgos principales resultó del análisis realizado a las interfases entre diferentes
módulos del sistema. La versión a implantar cuenta con la funcionalidad relacionada al
intercambio de datos entre los módulos de asistencia y nómina. Sin embargo, para cumplir con
requerimientos específicos de la nómina de México, el sistema está limitado para los procesos
masivos de tiempo extra y ausentismo. Se requiere desarrollar un código que conecte
adecuadamente estos dos módulos y la integridad de la información se ve en riesgo debido a
que la información se captura en un lugar distinto al que se utiliza cuando es procesada.
Para satisfacer el criterio de aprobación en la interfase de tiempo extra, las pruebas de
aceptación por el usuario deberán de contener una gran cantidad de diferentes escenarios en
los que se involucre no sólo tiempo extra, sino también días festivos y días de descanso
trabajados, tiempos proporcionales y turnos rotativos que generen un campo en el salario por
hora de los empleados de la planta.
Por su parte, las pruebas para la interfase de ausentismo deberán contener casos relacionados a
incapacidades, retardos, permisos con goce de sueldo por hora y por día, en donde se incluyan
modificaciones y eliminaciones de ausencias que afecten el pago de nómina, así como el
cálculo de impuestos y contribuciones sociales.
146
Por otro lado, uno de los tópicos importantes fueron el cálculo de impuestos y determinación
de cuotas obrero patronal. PeopleSoft proporciona los elementos de cálculo necesarios para
determinar los importes federales de acuerdo a las principales prácticas del país.
Sin embargo, la forma en que la ley está escrita genera un “área gris” la cual recae en el
entendimiento de los auditores y personal de finanzas. Debido a esto, los usuarios solicitan
cambios a los elementos de cálculo de impuestos para cumplir con la legislación que ellos
demandan cumplir, lo cual puede generar retrasos y un incremento considerable al soporte que
el área de sistemas proporcionará una vez que el ERP se encuentre en producción.
El hallazgo de mayor magnitud está relacionado al choque cultural que ocurre al implementar
un nuevo sistema. Se pudo observar a través del análisis de requerimientos que los usuarios
solicitaban que el nuevo sistema hiciera exactamente las mismas tareas que el sistema anterior,
sin importar el porqué de este tipo de requerimientos.
Cuando se implantó el sistema anterior, los usuarios y gerentes de área adecuaron muchos de
los procesos y actividades a la manera en la cual el sistema hacía una u otra tarea.
Al comparar algunas de las opciones que presentaba PeopleSoft, la principal demanda de los
usuarios era generar un conjunto de componentes que brindaran la misma funcionalidad que el
sistema anterior tenía. De aquí que el manejo del cambio obtenga una principal función sobre
la implantación.
Hay que preparar a los usuarios y supervisores para el cambio, a través de un liderazgo y
comunicación que proporcione una adecuada visión de las metas en el corto, mediano y largo
plazo.
147
Conclusiones
El manejo del cambio presenta una gran complejidad cuando se implementa un
sistema global. Cuando un grupo de personas de un país tratan de entender no sólo las
actividades relacionadas al sistema, sino la cultura de un país distinto, el manejo del cambio se
vuelve más complejo, así como la comunicación para el entendimiento del equipo del
proyecto. Para los empleados del área de sistemas ubicada en Estados Unidos es difícil
entender el porqué de una u otra decisión en nuestro país: ¿Por qué existe el premio de
puntualidad si los empleados deben de llegar siempre puntuales? , ¿Porqué tenemos que hacer
algo distinto para el cálculo de impuestos?, ¿Porqué tenemos que usar códigos de puesto en
español?, etc.
El tener tantas preguntas y dudas sobre las decisiones que el área de Recursos Humanos toma
en México se vuelve mucho más compleja cuando otra variable se introduce en esta ecuación:
el lenguaje. Se concluye que hay una barrera sumamente importante cuando se trata de hablar,
escribir y leer términos en español para el personal americano y viceversa. Se observa que el
entendimiento sobre los procesos de negocio no es completo, aunque una de las partes sea
bilingüe.
La funcionalidad de un sistema a la medida desarrollado para un país, no siempre será
la adecuada para cualquier otro país, aunque se trate de un manejo estándar de
recursos humanos. Esta compañía tiene más de 20,000 empleados trabajando en Estados
Unidos y en México. Todos los sistemas y módulos para las diferentes tareas y actividades son
administradas en PeopleSoft. Un cambio a uno de los módulos puede generar un cambio a
toda la cadena de suministro.
Por esta razón, la actualización a nuevas versiones ocurre de manera muy lenta y en fases. La
versión que se utilizaría para esta implantación no es la versión más actual del ERP; sin
embargo, no se puede implantar otra, puesto que la arquitectura de sistemas y demás módulos
del producto se encuentran funcionando en la versión a implantar.
148
Cuando el sistema se encuentre en producción, es probable que muchas de las tareas puedan
realizarse de manera más fácil con algún otro sistema o incluso con la nueva versión del
producto.
Es indispensable contar con el apoyo y patrocinio de los dueños del proyecto. Las
partes involucradas deben de mostrar interés por más complejo que resulte la comprensión e
implantación del nuevo sistema, para de esta manera tomar decisiones oportunas y efectivas
durante los ciclos de la implantación.
El manejo del cambio debe de ocurrir en todos los niveles de la compañía, el cual también
debe de ser incluido en el momento de formar el equipo del proyecto. Será muy complicado
llevar a cabo una implantación a través de líderes y coordinadores del proyecto que se tengan
dudas sobre sustituir el sistema que han utilizado por mucho tiempo.
La implantación de este sistema no puede tener éxito si no se mantiene una estrecha
coordinación directa con la empresa que proporciona el ERP de recursos humanos.
PeopleSoft mantiene requerimientos fiscales y estatales en el sistema. Ambas partes deberán de
trabajar para determinar mejores prácticas de negocio, en donde la empresa analizada en esta
tesis debe de estar abierta al cambio y a modificar algunos de los procesos de negocio para
enfocarlos en tareas que se puedan resolver mediante el sistema que se propone implantar.
El soporte a las áreas de Recursos Humanos debe ser efectivo y a tiempo. El área de
Sistemas se ubica en Estados Unidos y trabaja con el horario Estándar del Este (EST). La
planta de Mexicali se encuentra trabajando con horario Estándar del Pacífico, lo que representa
una diferencia de tres horas. En muchas ocasiones el soporte a la planta no es suficiente y se
debe de valorar el abrir algunas plazas directamente en la planta, con el fin de obtener el
entendimiento necesario sobre las actividades que ocurren, así como para proporcionar el
soporte a las tareas diarias.
149
El implantar un sistema de recursos humanos que se adecue a los estándares de toda
la compañía resulta favorable para los costos de mantenimiento. Mediante la
capacitación interna, los nuevos usuarios podrán adquirir conocimiento sobre la utilización del
sistema de manera más rápida y mejor documentada.
La implantación del sistema de recursos humanos para la planta de Mexicali facilita la
implantación de sistemas para nuevas planta en nuestro país. La empresa ha
considerado iniciar operaciones en alguna nueva localidad en México. En lo referente a
sistemas, bastará con definir y configurar una nueva entidad de negocio para que pueda ser
mantenida y administrada en PeopleSoft, sin la necesidad de adquirir nuevo hardware y
software, a menos que el desempeño de los servidores lo necesite. Los procesos y prácticas
utilizadas en PeopleSoft se utilizarán para la nueva planta, en donde los empleados que
proporcionen adiestramiento al nuevo personal serán los usuarios de la planta de Mexicali.
Cabe destacar que la compañía utiliza una metodología denominada de mejora continua, en la
cual se pretende ubicar oportunidades para realizar actividades y procesos de mejor manera en
el sistema. Esta forma de trabajo proporciona el soporte necesario para estabilizar y mejorar la
implantación de sistemas.
Es indispensable contar con un proceso de mejora continua en cualquier
implementación de sistemas. En un mundo de recursos escasos y múltiples necesidades, se
hace imperioso el uso óptimo de los mismos. Como bien se define la economía, como la
administración de los escasos recursos para la satisfacción de un número infinito de
necesidades, es menester lograr dentro de ese marco el aprovechamiento pleno de todos y cada
uno de esos limitados recursos.
Dentro de la compleja evolución de las actividades de manufactura no sólo han tenido lugar el
desarrollo de los sistemas productivos, sino que además se han ido ampliando como base de
sustentación las actividades administrativas.
150
Por tal motivo es imperioso establecer un sistema de mejora continua que permita mediante un
método disciplinado que comprenda a todos (directivos y trabajadores) y mediante el uso de
análisis de tiempos y tareas, planificación, uso de los recursos informáticos, sistemas de
diagnósticos, reestructuración organizativa, trabajo en equipo, investigación de operaciones y
sistemas de calidad entre otros, lograr incrementar la calidad, la productividad y la velocidad de
respuesta para de esa forma reducir progresiva y sistemáticamente el desperdicio producido
por las labores administrativas, las cuales en su gran mayoría están comprendidas entre las
actividades de apoyo sin valor agregado y aquellas que no generan valor alguno. Las de apoyo
deben reducirse y las otras ser eliminadas.
Para llevar a cabo este mejoramiento, la compañía utiliza uno de sus más importantes procesos
denominados Kaizen. Este es un sistema japonés que permite mediante su aplicación una
mejora progresiva en los procesos, mediante la mejora en la calidad, los costos y los tiempos de
entrega. Su filosofía hace hincapié en la necesidad de llevar a cabo continuas mejoras que
permitan más altos niveles de satisfacción en los usuarios y mayores niveles de rentabilidad.
La definición de un estándar es la mejor manera de realizar el trabajo y es una meta
clave para esta implantación. Si un estándar significa la mejor manera, o bien, actividades
encaminadas a las mejores prácticas de negocio, de aquí se deriva que el empleado debe
adherirse al mismo estándar de la misma manera todo el tiempo.
Si los empleados no siguen estándares en un trabajo repetitivo, el resultado puede variar,
llevando a fluctuaciones en la calidad. La gerencia debe especificar con claridad los estándares
para los empleados, como la única manera de garantizar la satisfacción del las áreas de
Recursos Humanos, Finanzas y Manufactura.
Por último, se concluye en esta tesis que en todos los proyectos, en las diferentes áreas de la
Ingeniería, la implantación de un sistema de recursos humanos a través de un ERP tendrá
éxito, si desde el principio se define la visión del objetivo final, transmitiendo dicha visión a
todos los miembros del equipo, mediante el mantenimiento del curso durante las diferentes
etapas del proyecto.
151
BIBLIOGRAFÍA
Sistema de Información para la Toma de Decisiones. Daniel Cohen. McGraw -Hill. Segunda
Edición, México 1998.
Kaizen. La Clave de la Ventaja Competitiva Japonesa. Masaaki Imai. CECSA, México 1999.
Cómo Implementar el Kaizen en el Sitio de Trabajo. Masaaki Imai. Mc Graw Hill, México
1998.
Sistemas Administrativos. Fernando Magdalena. Ediciones Macchi. Segunda Edición, México
1992.
Enterprise Systems Integration. Judith M. Myerson. AUERBACH, Estados Unidos 2004.
Ley Federal del Trabajo. Andrés Botas Hernández. Ediciones Luciana – Undécima Edición,
México 2004.
Ley del Impuesto sobre la Renta. Germán Caballero. Ediciones Luciana – Décima Edición,
México 2005.
Essential Guide to PeopleSoft Development and Customization. Tony Delia, Prakash
Shankaran. Editorial MANNING – Primera Edición, Estados Unidos 2001
Understanding PeopleSoft 8. Lynn Anderson, Cap Gemini Ernst & Young U.S. LLC –
Primera Edición, Estados Unidos 2001
Ley del Seguro Social. Honorable Congreso de la Unión. Editorial Porrúa – sexagésima
primera edición, México 2003.
Ley del INFONAVIT Andrés Botas Hernández. Ediciones Luciana – Undécima Edición,
México 2004.
Guía Práctica para la Selección e Implantación de ERP Empresariales. Luís Muñiz. Editorial
Gestión, España 2000.
Fundamentos de Administración Financiera. Eugene F Brigham, Scott Besley, Editorial
Mc Graw-Hill, México 2001
Administración de Sistemas de Información. Effy Oz, Editorial Thompson Learning,
México 2001.
152
Beginning XML and JavaScript, Hunter, Watt, Rafter, Ducket, Patterson, Editorial Wrox,
Tercera Edición, Canadá 2004.
Administración. Robbins y Coulter, Editorial Prentice Hall, Octava Edición, México 2005.
Guía de los Fundamentos de la Dirección de Proyectos, Editorial PMI Global Standard,
Tercera Edición, Estados Unidos 2004.
Guide to the Sarbanes-Oxley Act, Scott Green, Editorial Wiley & Sons Inc., Estados
Unidos 2004.
Concepts in Enterprise Resource Planning, Brady, Monk y Wagner, Editorial Thompson
Learning, Canadá 2001
Managing Change and Transition, Harvard Business School Publishing Corporation,
Estados Unidos 2003.
PeopleSoft for the Oracle DBA, David Kurtz, Editorial Apress, Estados Unidos 2002.
Essentials of Payroll: Management and Accounting, Steven M. Bragg, Editorial Wiley &
Sons Inc Canadá 2003.
153
GLOSARIO
APPLICATION SERVER. Es un
servidor que realiza las tareas de
procesamiento entre el cliente y el servidor
de base de datos.
ATW. Available to Work. Se refiere a la
disponibilidad del trabajado para laborar en
la planta.
APPLICATION ENGINE. Es un motor
de aplicación que utiliza uno o varios
programas para ejecutar tareas en base a
sentencias SQL o a través de PeopleCode.
COMPONENT INTERFACE. La
interfase de componente es una herramienta
que realiza las validaciones necesarias de
cierto componente a partir de un programa
independiente ya sea interno o externo.
CURP. Es la cédula única de registro de
población. Se utiliza como identificador de
los empleados.
DEMONIO. Es un programa que se
encuentra activo todo el tiempo esperando
una respuesta del sistema para ejecutar una o
varias tareas.
DIM. Dispositivo de Información
Múltiple. Se utiliza para presentar las
declaraciones de impuestos al Sistema de
Administración Tributaria.
EXENTO. Es el importe o contribución
que no forma parte de un cálculo de
impuestos. Se determina mediante reglas
establecidas dentro del la LISR.
FONACOT. Es el Fondo de Fomento y
Garantía para el Consumo de los
Trabajadores.
GRAVADO. Es el importe o
contribución que forma parte de
determinado cálculo de impuestos.
IDSE. IMSS desde su empresa. Es la
aplicación utilizada por todas las
compañías en México para transferir
información al Instituto Mexicano del
Seguro Social.
IMSS. Instituto Mexicano del Seguro
Social.
INFONAVIT. Instituto Nacional para el
Fomento de la Vivienda del Trabajador.
154
INTEGRABLE. Es el monto que se utiliza
para formar una base de cálculo para la
contribución de las cuotas obrero-patronales
definidas por el IMSS.
ISR. Impuesto Sobre la Renta.
JAVASCRIPT. Es un lenguaje interpretado,
es decir, que no requiere compilación,
utilizado principalmente en páginas web.
LISR. Ley del Impuesto sobre la Renta.
MICROSOFT EXCEL. Es una hoja de
cálculo desarrollada y distribuida por
Microsoft, utilizada normalmente en tareas
financieras.
PEOPLECODE. Lenguaje de
programación en PeopleSoft que se utiliza a
manera de script para completar tareas de
validación o procesamiento de datos
PL/SQL. Es un lenguaje procedimental el
cual amplía la funcionalidad de SQL,
añadiendo estructuras habituales en otros
lenguajes de programación.
SHCP. Secretaría de Hacienda y Crédito
Público.
SUA. Es el Sistema Único de
Autodeterminación de cuotas obrero-
patronales. Se utiliza por las empresas
para determinar el pago por concepto de
seguridad social.
SQR. Structured Query Report.
Lenguaje de programación que se utiliza
para generar reportes y realizar procesos
por lote.
TRC. Time Reporting Code. Es el
identificador utilizado para clasificar el
tiempo que se reporta a nivel empleado.
WTA. Work Time Allocation. Se utiliza
para clasificar por tipo de trabajo que se
realiza en las líneas de producción para
efectos de control de costos.
WBS. Work Breakdown Structure. Es la
estructura de descomposición de trabajo
que se utiliza para definir los entregables
de un proyecto de una manera más
específica y entendible para las partes
involucradas en un proyecto.
XML. Extensible Markup Language Es
un metalenguaje extensible de etiquetas
desarrollado por el World Wide Web
Consortium (W3C).
i
APENDICE ‘A’ – ENTREVISTAS Y CUESTIONARIOS
ENTREVISTA REALIZADA A OTRA EMPRESA QUE UTILIZA PEOPLESOFT ACTUALMENTE.
1. ¿Qué módulos utiliza de PeopleSoft?
Utilizamos todo el ERP de recursos humanos, así como el ERP de finanzas. Utilizamos la nómina global y el módulo de asistencia y puntualidad.
2. ¿Cuántos empleados son administrados con PeopleSoft?
Utilizamos el sistema para nuestras 5 plantas alrededor del país, en las cuales se paga la nómina en el mismo cálculo. Somos un total de 15,000 empleados
3. ¿Existe funcionalidad adicional desarrollada?
Configuramos algunos elementos de nómina y desarrollamos algunas páginas para la captura masiva de algunos conceptos. También desarrollamos un módulo de autoservicio para empleados.
4. ¿Cuales son los principales problemas que enfrentó durante en la implantación?
La gente no estaba acostumbrada al uso del sistema y generó muchos retrasos cuando salimos a producción. También tuvimos problemas con la interfase entre los módulos de asistencia y nómina. Es importante estar al día con las actualizaciones al sistema que libera PeopleSoft.
5. ¿Se paga el tiempo a partir de un reloj checador?
Sí. Utilizamos el sistema Kronos que registra el ingreso y salida de los empleados. Esta interfase existe hacia PeopleSoft y la utilizamos tal cual es entregada.
6. ¿Cómo se maneja el tiempo extra en su empresa?
No se acostumbra pagar tiempo extra salvo en algunas ocasiones en las que un cierto grupo de empleados necesita ser compensado. El área de compensaciones captura el tiempo extra en la página entregada en el módulo de PeopleSoft Nómina Global.
7. ¿Cuántas personas utilizan el sistema?
Somos alrededor de 200 usuarios incluyendo el departamento de sistemas. Sin embargo, todos los empleados pueden consultar su información sobre el pago de nómina en los kioscos de autoservicio
8. ¿Cuánto tiempo tomó la implantación?
Nos tomó un poco más de año y medio debido a que decidimos llevar a cabo una actualización de la versión 8.3 a la versión 8.8 cuando estábamos en la fase de desarrollo.
A
ii
Posteriormente tuvimos algunos problemas con la capacitación debido al cambio de versión.
9. Desde su punto de vista ¿Qué es lo más importante a considerar para llevar a cabo implantación de este tipo?
El preparar al personal para el cambio del sistema es la base para lograr la meta puesto que tienen que estar dispuestos a cambiar rutinas que están basadas en el sistema que actualmente se encuentran utilizando. También es importante validar la información que haya sido migrada del sistema anterior puesto que es muy importante para los requerimientos legales y fiscales del país.
10. ¿Por qué seleccionó PeopleSoft?
Evaluamos varios sistemas de recursos humanos pero las otras opciones no ofrecían la flexibilidad necesaria para realizar adecuaciones al proceso, además de que el costo era mucho más elevado puesto que cobran por usuario
Cuestionario sobre funciones específicas de los usuarios del sistema realizado a los
supervisores de las áreas involucradas
1. De la gente bajo su supervisión ¿Cuántas personas van a utilizar el sistema aproximadamente?
Recursos Humanos: 5 personas, incluyendo recursos humanos y compensaciones.
Finanzas: 2 personas
Manufactura: 36 líderes de grupo y 4 supervisores de producción.
2. Dentro del grupo que usted supervisa, ¿Existen diferentes roles o actividades que cada persona realiza?
Recursos Humanos:
3 personas se encargan de administrar la información de los empleados y de la compañía. 2 personas son las encargadas de administrar la asistencia, puntualidad y el proceso de la nómina.
Finanzas:
1 persona se encarga de validar los impuestos y contribuciones sociales que se generan a partir de la nómina. 1 persona se encarga de realizar todas las actividades referentes a los depósitos bancarios que vienen de la nómina.
Manufactura: 36 líderes de grupo administran el tiempo trabajado de los empleados 4 supervisores se encargan de definir el tiempo extra de los empleados. También pueden hacerlo los líderes de grupo.
A
iii
3. ¿Existen personas ajenas al área que pudiesen llegar a utilizar el sistema? ¿Cuáles son las actividades que realizan?
Recursos Humanos: 2 personas de la gerencia de relaciones laborales pueden utilizar el sistema para verificar cualquier tipo de información laboral.
Finanzas: Los auditores de la empresa deben tener acceso a revisar cualquier cálculo e información del sistema.
Manufactura: Nadie más tiene acceso a las actividades de líderes de grupo y supervisores de producción.
4. Describa las tres actividades más importantes que espera que el sistema realice adecuadamente.
Recursos Humanos: 1. Control de la información de empleados. 2. Proceso de tiempo trabajado adecuado. 3. Que la nómina se calcule correctamente.
Finanzas: 1. Depósito directo correcto y oportuno. 2. Interfase con contabilidad general. 3. Que la nómina se calcule correctamente.
Manufactura: 1. Que permita registrar el tiempo fácilmente. 2. Que se puedan realizar modificaciones al tiempo registrado. 3. Que se pague el tiempo correctamente.
5. ¿Está considerando modificar algún proceso de negocio con la implantación del sistema?
Recursos Humanos: Sólo adecuarme a la manera que trabaja el sistema pero sin modificar procesos.
Finanzas: La interfase al sistema de contabilidad dejará de ser manual y se realizará de manera directa.
Manufactura: Los líderes de grupo capturarán incidencias.
6. Actualmente, ¿Cuánto tiempo toma completar el proceso más crítico dentro del proceso de negocios principal en su área, relacionado a recursos humanos?
Recursos Humanos: La nómina tiene una duración de un día desde el momento de validar el tiempo hasta su pago.
Finanzas: La interfase a contabilidad toma 2 días debido a que se realiza manualmente.
Manufactura: El control de permisos y vacaciones por medio de papel y firma hace que este proceso tome en algunas ocasiones 2 días.
7. ¿Cuál es su opinión acerca de la implantación del nuevo sistema de recursos humanos?
Recursos Humanos: Adecuado por cumplir con el estándar pero se puede hacer todo con el sistema anterior.
Finanzas: Necesario puesto que algunas tareas serán más sencillas de realizar y es lo que la compañía utiliza.
Manufactura: Los líderes de grupo tendrán más carga de trabajo pero es su responsabilidad.
A
iv
i
APENDICE ‘B’ – ANALISIS FIT-GAP DEL PROYECTO
• Fit Funcionalidad disponible en PeopleSoft HCM 8.8 SP1.
(Cierta configuración del sistema puede ser requerida). ∆ Gap Funcionalidad a desarrollar o bien, cierta adaptación necesita ser realizada.
X No considerado Fuera del alcance del proyecto.
1 PeopleSoft Comparativo contra la funcionalidad entregada en PeopleSoft
2 Compañía Comparativo contra la funcionalidad ya desarrollada por el área de sistemas de la compañía
Administración de Datos del Personal
Req #
Macro Proceso Requerimiento Comentarios 1 2 Información Clave Opciones preliminares
BR001 Administración de Datos del Personal
Posibilidad de asignar un número de empleado de manera automática
• •
BR003 Administración de Datos del Personal
Posibilidad de almacenar la fecha en formato DIA/MES/Año • •
La fecha se almacena con el formato de la base de datos y se muestra al usuario como él lo requiera.
BR004 Administración de Datos del Personal
Posibilidad de almacenar Nombre, Apellido Paterno y Materno • •
BR005 Administración de Datos del Personal
Posibilidad de almacenar Nacionalidad • •
No existe el campo 'Nacionalidad' en PeopleSoft. Se utiliza la página de Ciudadanía para efectos de reportes al IMSS
BR006 Administración de Datos del Personal
Posibilidad de almacenar género del empleado • •
BR007 Administración de Datos del Personal
Posibilidad de almacenar fecha de nacimiento
• •
B
ii
Req #
Macro Proceso Requerimiento Comentarios 1 2 Información Clave Opciones preliminares
BR008 Administración de Datos del Personal
Posibilidad de almacenar Fechas de Inicio de Contrato • •
BR009 Administración de Datos del Personal
Posibilidad de almacenar el RFC del empleado • •
BR010 Administración de Datos del Personal
Posibilidad de calcular la homoclave del RFC del empleado ∆ ∆
PeopleSoft provee de un campo para el RFC pero no cuenta con la rutina para su cálculo ya que dicho cálculo es propiedad del Sistema de Administración Tributaria (SAT)
Opción 1: El usuario puede obtener el RFC del empleado acudiendo a las oficinas del Sistema de Administración Tributaria. Opción 2: Desarrollar el algoritmo y código necesarios para realizar el cálculo del RFC de manera automática.
BR011 Administración de Datos del Personal
Posibilidad de controlar si un empleado está casado con otro empleado de la compañía
∆ •
PeopleSoft no entrega este campo para el control de dicha información. Sin embargo, la empresa lo incorporó para las demás plantas que utilizan PeopleSoft actualmente y podrá ser utilizado por la planta de Mexicali
BR012 Administración de Datos del Personal
Posibilidad de almacenar el número de seguridad social • •
BR013 Administración de Datos del Personal
Posibilidad de almacenar la clínica asignada al empleado por parte del Seguro Social
• •
BR014 Administración de Datos del Personal
Posibilidad de almacenar la CURP del empleado • •
BR015 Administración de Datos del Personal
Posibilidad de almacenar el lugar de nacimiento del empleado • •
BR016 Administración de Datos del Personal
Posibilidad de almacenar datos sobre pasaporte y visa del empleado
• •
BR017 Administración de Datos del Personal
Posibilidad de almacenar el estatus marital del empleado • •
BR018 Administración de Datos del Personal
Posibilidad de almacenar la información referente a los padres del empleado
• •
B
iii
Req #
Macro Proceso Requerimiento Comentarios 1 2 Información Clave Opciones preliminares
BR019 Administración de Datos del Personal
Posibilidad de almacenar los medios de transporte utilizados por el empleado para acudir a la planta
X X Se requiere saber si un empleado utiliza el servicio de transporte de la compañía.
Se puede utilizar la página de Información Adicional/Comentarios para almacenar esta información.
BR021 Administración de Datos del Personal
Posibilidad de almacenar el domicilio del empleado en formato de México: Calle, Número, Código Postal, Ciudad, Estado
• •
BR022 Administración de Datos del Personal
Posibilidad de almacenar teléfonos del empleado • •
BR023 Administración de Datos del Personal
Posibilidad de almacenar la fecha en la que el empleado arribó a la ciudad
Actualmente utilizado para determinar la posibilidad que tiene un empleado para obtener un préstamo por parte del gobierno
X X
El derecho a un préstamo lo decide el Instituto Nacional para el Fomento a la Vivienda (INFONAVIT), no la compañía. Por esta razón, este requerimiento queda fuera del alcance.
BR024 Administración de Datos del Personal
Posibilidad de almacenar el historial educativo del empleado
Desde secundaria, preparatoria, etc. • •
BR025 Administración de Datos del Personal
Posibilidad de almacenar experiencia profesional del empleado
Utilizado para la planificación de sucesiones
• •
BR026 Administración de Datos del Personal
Posibilidad de almacenar habilidades del empleado
Utilizado para la planificación de sucesiones
• •
BR027 Administración de Datos del Personal
Posibilidad de administrar fecha de ingreso y/o re-ingreso si existe alguna para todos los empleados
Utilizado para definir el pago de algunos beneficios.
• •
BR028 Administración de Datos del Personal
Posibilidad de administrar la antigüedad de los empleados
Puede variar dependiendo si es contratación o re-ingreso
• •
BR029 Administración de Datos del Personal
Posibilidad de administrar códigos de puesto • •
BR030 Administración de Datos del Personal
Posibilidad de incorporar puestos en el idioma español
Se necesita utilizar el idioma español para efectos de generación de reportes para el IMSS
• •
B
iv
• Fit Funcionalidad disponible en PeopleSoft HCM 8.8 SP1.
(Cierta configuración del sistema puede ser requerida). ∆ Gap Funcionalidad a desarrollar o bien, cierta adaptación necesita ser realizada.
X No considerado Fuera del alcance del proyecto.
1 PeopleSoft Comparativo contra la funcionalidad entregada en PeopleSoft
2 Compañía Comparativo contra la funcionalidad ya desarrollada por el área de sistemas de la compañía
Administración de Asistencia y Puntualidad
Req # Macro Proceso Requerimiento Comentarios 1 2 Información Clave Opciones preliminares
BR108 Administración de Asistencia y Puntualidad
Posibilidad de asignar turnos a nivel empleado • •
BR109 Administración de Asistencia y Puntualidad
Posibilidad de asignar turnos a nivel grupo de empleados
• •
BR110 Administración de Asistencia y Puntualidad
Posibilidad de definir empleados que necesiten registrarse en relojes checadores y empleados que no lo necesiten
• •
BR111 Administración de Asistencia y Puntualidad
Posibilidad de controlar y administrar tiempo extra antes de ser aprobado
El tiempo extra se puede registrar con estatus "Esperando Aprobación" antes de ser procesado
• • Se utilizará el módulo desarrollado por la compañía
BR112 Administración de Asistencia y Puntualidad
Posibilidad de soportar asignaciones de tiempo trabajado a diferentes centros de costo
La compañía utiliza un campo denominado "Asignación de tiempo trabajado" (WTA)
• • La planta de Mexicali pretende adaptarse a los estándares de medición de desempeño de la compañía
B
v
Req # Macro Proceso Requerimiento Comentarios 1 2 Información Clave Opciones preliminares
BR113 Administración de Asistencia y Puntualidad
Posibilidad de soportar turnos rotativos • • Algunos empleados trabajan dos semanas
en la mañana y dos semanas en la noche
BR114 Administración de Asistencia y Puntualidad
Posibilidad de administrar turnos matutino, vespertino y nocturno conforme a la Ley Federal del Trabajo
• •
BR115 Administración de Asistencia y Puntualidad
Posibilidad de actualizar el turno asignado a un empleado por semana
• • Por excepción, alguno empleados deben de cambiar de turno una sola semana
BR116 Administración de Asistencia y Puntualidad
Posibilidad de soportar horarios de trabajo • •
BR123 Administración de Asistencia y Puntualidad
Posibilidad de controlar el tiempo extra en base al tiempo trabajado en el día
• • Se necesita comparar el tiempo trabajado en el día y el exceso será considerado tiempo extra para ser aprobado
BR124 Administración de Asistencia y Puntualidad
Posibilidad de administrar el registro de entrada y salida de los empleados
• •
BR125 Administración de Asistencia y Puntualidad
Posibilidad de proporcionar información sobre asistencia diaria a los Lideres de Grupo en las líneas de producción
• •
BR126 Administración de Asistencia y Puntualidad
Posibilidad de incorporar tiempo extra de manera manual
• •
BR128 Administración de Asistencia y Puntualidad
Los líderes de grupo deben tener la posibilidad de autorizar vacaciones a disfrutar por parte de los empleados
Los Líderes de Grupo y Supervisores de área aprueban las vacaciones
∆ •
PeopleSoft Tiempos y Tareas proporciona la posibilidad de autorización de horas trabajadas. Las configuraciones a la medida realizadas al sistema permiten un fácil manejo de la información a los líderes de grupo
Opción 1: Se pretende adaptar la funcionalidad existente en el módulo desarrollado por la compañía
B
vi
Req # Macro Proceso Requerimiento Comentarios 1 2 Información Clave Opciones preliminares
BR129 Administración de Asistencia y Puntualidad
Posibilidad de controlar la asistencia del personal que no necesita registrarse en los relojes checadores
• •
BR130 Administración de Asistencia y Puntualidad
Posibilidad para los líderes de grupo de llevar acabo ajustes de horas al tiempo trabajado de los empleados.
• • Las configuraciones a la medida desarrolladas por la compañía pueden cubrir este requerimiento
BR131 Administración de Asistencia y Puntualidad
Posibilidad de generar un reporte preliminar de tiempo trabajado para ser aprobado por cada uno de los líderes de grupo
∆ ∆Dependiendo de los Requerimientos de este reporte, este reporte deberá ser desarrollado o bien, modificado para cubrir todos los requerimientos asociados
Opción 1: Modificar el reporte entregado por PeopleSoft agregando los campos necesarios. Opción 2: Desarrollar un nuevo reporte, similar al que se utiliza en la actualidad
BR134 Administración de Asistencia y Puntualidad
Posibilidad de captura manual de horas trabajadas de los empleados
• •
BR135 Administración de Asistencia y Puntualidad
Posibilidad de captura de tiempo trabajado en semanas anteriores para ser procesado
• • Ajustes Retroactivos es soportado por PeopleSoft
BR136 Administración de Asistencia y Puntualidad
Posibilidad de utilizar la credencial de acceso a la planta como la credencial de registro en relojes checadores
Actualmente se utilizan dos tarjetas distintas • •
PeopleSoft obtendrá la información sobre el registro de entrada y salida independientemente del hardware que se utilice para hacerlo
Opción 1: Deberá ser necesario acceder a la base de datos de los sistemas de seguridad de la planta y compartir información con PeopleSoft
BR138 Administración de Asistencia y Puntualidad
Posibilidad de manejar Días festivos, los cuales pueden tener diferente fecha cada año
• • El calendario de días festivos en PeopleSoft se define por año
B
vii
• Fit Funcionalidad disponible en PeopleSoft HCM 8.8 SP1.
(Cierta configuración del sistema puede ser requerida). ∆ Gap Funcionalidad a desarrollar o bien, cierta adaptación necesita ser realizada.
X No considerado Fuera del alcance del proyecto.
1 PeopleSoft Comparativo contra la funcionalidad entregada en PeopleSoft
2 Compañía Comparativo contra la funcionalidad ya desarrollada por el área de sistemas de la compañía
Proceso de Nómina
Req # Macro Proceso Requerimiento Comentarios 1 2 Información Clave Opciones preliminares
BR034 Nómina / Recursos Humanos
Posibilidad de clasificar empleados por Grupo de Pago
Agrupación actual para nómina en la planta de Mexicali
•
BR035 Nómina Posibilidad de calcular el salario promedio de los empleados •
BR036 Nómina
Posibilidad de controlar los préstamos INFONAVIT de los empleados que obtengan un crédito por parte del gobierno
•
BR037 Nómina Posibilidad de generar Archivo de depósito directo •
BR042 Nómina Posibilidad de compensar empleados en base al turno trabajado
∆ Se configurarán los elementos de nómina necesarios para este cálculo
BR044 Nómina Posibilidad de intercambiar información con el sistema de manejo de costos
El sistema de Costos utiliza acumulados semanales
∆ La interfase para la nómina de Norte América ya fue desarrollada por la compañía
Se revisará la interfase existente y se realizarán los cambios necesarios para nómina global
BR047 Nómina / Recursos Humanos
Posibilidad de manejar el peso mexicano como moneda base
•
B
viii
Req # Macro Proceso Requerimiento Comentarios 1 2 Información Clave Opciones preliminares
BR048 Nómina Posibilidad de controlar Préstamos FONACOT
FONACOT es el Fondo de Fomento y Garantía para el Consumo de los Trabajadores
•
BR050 Nómina
Posibilidad de definir diferentes parámetros sobre impuestos y seguro social para cada grupo de pago
•
BR053 Nómina Posibilidad de calcular y almacenar el Factor de SDI •
BR054 Nómina Posibilidad de calcular y almacenar el Salario Diario Integrado de los empleados
•
BR055 Nómina Posibilidad de Calcular SDI Fijo •
BR056 Nómina Posibilidad de Calcular SDI Variable •
BR057A Nómina Posibilidad de generar el Reparto de Utilidades de la empresa
•
BR057B Nómina Posibilidad de calcular Aguinaldo •
BR067 Nómina Posibilidad de generar pagos por concepto de finiquito y/o liquidación
•
BR072 Nómina Posibilidad de generar un cálculo preliminar de nómina •
BR073 Nómina Posibilidad de incorporar deducciones por concepto de alimentos a la nómina a procesar
∆ Se evaluarán diferentes opciones para cafetería
Se configurarán las deducciones correspondientes
BR089 Nómina Posibilidad de generar cheques de pago por adelantado •
BR090 Nómina Posibilidad de manejar Pensión Alimenticia •
BR091 Nómina Posibilidad de definir diferentes planes de vacaciones
•
B
ix
Req # Macro Proceso Requerimiento Comentarios 1 2 Información Clave Opciones preliminares
BR092 Nómina Posibilidad de definir diferentes acumuladores para efectos de cálculo de SDI Variable
•
BR117 Nómina
Posibilidad de asignar percepciones en moneda extranjera para ser pagadas en moneda nacional
•
BR118 Nómina Posibilidad de aplicar diferentes bonos dentro del pago de la nómina
Existen diferentes bonos que se pagan dependiendo del turno y asistencia de empleados, así como bonos especiales.
∆
Se desarrollarán reglas de negocio a través de elementos de Nómina Global
BR119 Nómina
Posibilidad de prorratear algunos beneficios como vacaciones, prima vacacional, prima dominical, etc.
•
BR120 Nómina Posibilidad de deducir cuotas sindicales en el cheque semanal de los empleados
•
BR121 Nómina Posibilidad de generar devengos de vacaciones, así como mantener el saldo a la fecha
Se requiere controlar el balance de vacaciones de los empleados
•
BR170 Nómina Posibilidad de administrar múltiples planes de beneficios •
BR171 Nómina
Posibilidad de incorporar días de vacaciones, días de aguinaldo, etc. dentro de los planes de beneficios
•
BR172 Nómina Posibilidad de incorporar planes de beneficios almacenando el histórico por fecha
•
BR175 Nómina Posibilidad de calcular la parte fija del SDI a partir del factor de integración
•
B
x
APENDICE ‘C’ – CONVERSIÓN DE DATOS
Tipo Tipo de dato dentro de la definición de tablas.
¿Requerido? Es cuando el campo en la tabla no puede estar vacío.
Formato Preestablecido por motivo de conversión de datos.
Tabla de Valores Prompt Proporciona los campos llave de otra tabla como valores de selección.
XLAT Los valores de selección se encuentran definidos a nivel campo.
Plantilla de Conversión para la Definición de Posiciones
Nombre del Campo Tipo ¿Requerido? Longitud Formato Tabla de Valores Valor por Omisión Comentarios
POSITION_NBR Char Sí 8 EFFDT Date Sí 10 MMDDYYYY %date EFF_STATUS Char Sí 1 XLAT A
ACTION_REASON Char No 3 Prompt NEW ACTN_REASON_TBL
POSN_STATUS Char Sí 1 XLAT A STATUS_DT Date No 10 MMDDYYYY %date Fecha de aprobación de la posición. KEY_POSITION Char Sí 1 Sí/No N BUSINESS_UNIT Char Sí 5 Prompt MXL Tabla BUS_UNIT_TBL_HR. JOBCODE Char No 6 Prompt Tabla JOBCODE_TBL. REG_TEMP Char Sí 1 XLAT R FULL_PART_TIME Char Sí 1 XLAT F SHIFT Char Sí 1 XLAT N UNION_CD Char No 3 Prompt UNION_TBL, not defined. DESCR Char No 30 Título de la posición DESCRSHORT Char No 10 Descripción Corta
C
xi
Nombre del Campo Tipo ¿Requerido? Longitud Formato Tabla de Valores Valor por Omisión Comentarios
REG_REGION Char Sí 5 Prompt MEX Vista REG_STANDARD_VW DEPTID Char No 10 Prompt Tabla DEPT_TBL COMPANY Char Sí 3 Prompt MXL Tabla COMPANY_TBL. LOCATION Char No 10 Prompt Tabla LOCATION_TBL. REPORTS_TO Char No 8 Prompt Tabla POSITION_DATA. REPORT_DOTTED_LINE Char No 8 Prompt Tabla POSITION_DATA. SUPV_LVL_ID Char No 8 Prompt Tabla SUPVSR_LVL_TBL SAL_ADMIN_PLAN Char No 4 Prompt Tabla SAL_PLAN_TBL. GRADE Char No 3 Prompt Tabla SAL_GRADE_TBL. STEP Nbr No 2 Prompt Tabla SAL_STEP_TBL. STD_HOURS Nbr No 4.2 STD_HRS_FREQUENCY Char No 5 Prompt Tabla STDHRS_FREQ_VW FLSA_STATUS Char No 1 XLAT N
JOB_PROFILE_ID Char No 8 Prompt Tabla JOB_PROFILE_TBL
MAX_HEAD_COUNT Nbr No 4 1 UPDATE_INCUMBENTS Char No 1 Sí/No N BUDGETED_POSN Char No 1 Sí/No Y CONFIDENTIAL_POSN Char No 1 Sí/No N JOB_SHARE Char No 1 Sí/No N
C
xii
Tipo Tipo de dato dentro de la definición de tablas.
¿Requerido? Es cuando el campo en la tabla no puede estar vacío.
Formato Preestablecido por motivo de conversión de datos.
Tabla de Valores Prompt Proporciona los campos llave de otra tabla como valores de selección.
XLAT Los valores de selección se encuentran definidos a nivel campo.
Plantilla de Conversión para la Definición créditos INFONAVIT
Nombre del Campo Tipo ¿Requerido? Longitud Formato Tabla de Valores Valor por Omisión Comentarios
EMPLID Char Sí 11 Mayúsculas
EMPL_RCD Num Sí 3 0
PIN_NUM Num Sí 8 GP_PIN Obtén el valor de número de PIN del siguiente código : CRED INFONAV MEX
GPMX_LOAN_NUM Num Sí 18 Número de Préstamo
GPMX_DATE Date Sí 10 MMDDYYYY Fecha inicio de Descuento
GPMX_PAY_TYPE Char Sí 4 XLAT
GPMX_TOTAL_AMT Sign No 10 999999999
PAYMENT_AMOUNT Num No 12.6 Si es que es monto
GPMX_X_MIN_WAGES Num No 3.4 Si es que es por veces Salario Mínimo
GPMX_INFONAVIT_PCT Num No 2.1 Si es que es porcentaje
C
i
APENDICE ‘D’ – EJEMPLOS DE REPORTES
REPORTE DE PRE-NÓMINA. Este reporte es el que se utiliza por líderes de grupo y personal de recursos humanos para revisar y aprobar el tiempo trabajado por
los empleados. Los parámetros que recibe este reporte son la fecha del periodo y el ID de grupo de determinada línea de
producción o centro de costo.
D
ii
Código Principal
BEGIN-PROCEDURE get-emplid Begin-select rpt.emplid &id rpt.empl_status &emplstatus move &id to $id move &emplstatus to $empl_status put $id into emplid_array(#emplcount) do get_empl_name Print $id (+1,1,5) Print $emplname (,7,43) do print-qty
do print-totalqty do print-tardy-qty print ' ' (+1,1,5) print ' ' (,7,43) do print-ovt-qty do print-total-ovtqty do print-hol-qty do print-total-holqty from ps_tm_emplid_temp rpt group by rpt.emplid,rpt.empl_status end-select END-PROCEDURE get-emplid
BEGIN-PROCEDURE print-ovt-qty let #d = 0 while #d <= #emplcount get $id from emplid_array(#d) let #e = 0 while #e <= (#durcount - 1) get $dur from dur_array(#e) if $rpt_select = 'P' do get_gp_ovt ($dur,$id,$gpovt_flag) if $gpovt_flag = 'YES' do get_rh_ovt_qty ($dur,$id,#rh_ovt_qty) if #rh_ovt_qty = 0 do get_ovt_qty ($rpt_select,$dur,$id,#ovtqty)
end-if else do get_ovt_qty ($rpt_select,$dur,$id,#ovtqty) end-if else do get_ovt_qty ($rpt_select,$dur,$id,#ovtqty) end-if add 1 to #e end-while add 1 to #d end-while END-PROCEDURE print-ovt-qty
D
iii
REPORTE DE CONSUMOS EN CAFETERÍA. Este reporte se utiliza para corroborar con el proveedor sobre el importe de consumos que la planta de Mexicali pagará
mensualmente. Los parámetros que recibe son la fecha de inicio y fecha fin del periodo a reportar.
D
iv
Código Principal
begin-procedure Process_Detail show 'From Date = ' $From_Date show 'To Date = ' $To_Date let $Prev_Effdt = '' let $Prev_Reloj = '' let #Grand_Count = 0 let #Date_Count = 0 let #Reloj_Count = 0 let #Line_Count = 0 let #Consumos_Count = 0 let #Grand_Consumos_Count = 0 begin-select cafe.EFFDT (+1,1) on-break print=never level=1 after=DateTotals cafe.TM_BC_CAFE_LINENBR ( ,1) on-break print=never level=2 after=LineTotals ! Reloj cafe.EMPLID cafe.TM_TIME_MEAL_TAKEN cafe.DAY_OF_WEEK cafe.TM_MEAL_TYPE ! Tipo cafe.TM_MEAL_STATUS cafe.TM_BC_SOURCE_TYPE cafe.ELIGIBILITY_STATUS cafe.DESCR50 cafe.TM_BC_MEALS_ACTUAL ! Consumos cafe.TM_BC_MEALS_ALLOW let $Emplid = &cafe.EMPLID
let $Effdt = &cafe.EFFDT let $Tipo = &cafe.TM_MEAL_TYPE ! let #Consumos = &cafe.TM_BC_MEALS_ACTUAL let #Consumos = 1 let $Reloj = &cafe.TM_BC_CAFE_LINENBR let $Meal_Source = &cafe.TM_BC_SOURCE_TYPE do Get-Name if $Prev_Effdt <> $Effdt print 'Fecha del Consumo:' (+2, 1) print $Effdt ( ,+1) let $Prev_Effdt = $Effdt let $Prev_Reloj = '' end-if do Print-Report FROM PS_TM_BC_CAFE_TBL cafe WHERE cafe.EFFDT between $From_Date and $To_Date order by cafe.EFFDT, cafe.TM_BC_CAFE_LINENBR, cafe.EMPLID end-select do Print-Grand-Totals end-procedure Process_Detail
D
v
APENDICE ‘E’ – CÓDIGO CRÍTICO
Adaptación: Cálculo del Registro Federal de Contribuyentes (RFC) Function GetValidNameMex(&Name1) Returns string; Local array of string &Articles; Local boolean &ContinueSearch = True; &Articles = CreateArray("Y ", "A ", "DE ", "LA ", "DEL ", "LAS "); &FieldLength = Len(&Name1); &StartPos = 1; While &ContinueSearch = True &Letters = Substring(&Name1, &StartPos, 2); If (&Letters = &Articles [1]) Or (&Letters = &Articles [2]) Then &StartPos = &StartPos + 2; &ContinueSearch = True; Else &Letters = Substring(&Name1, &StartPos, 3); If (&Letters = &Articles [3]) Or (&Letters = &Articles [4]) Then &StartPos = &StartPos + 3; &ContinueSearch = True; Else &Letters = Substring(&Name1, &StartPos, 4); If (&Letters = &Articles [5]) Or (&Letters = &Articles [6]) Then &StartPos = &StartPos + 4; &ContinueSearch = True; Else &ContinueSearch = False; End-If; End-If; End-If; End-While; &LastNameSize = &FieldLength - &StartPos + 1; &Name2 = Substring(&Name1, &StartPos, &LastNameSize); Return &Name2; End-Function; Function BuildRFC(&Year, &Month, &Day, &FirstName, &LastName, &SLastName) Returns string; &F_Name = GetValidNameMex(&LastName);
&M_Name = GetValidNameMex(&SLastName); &RFCon = ""; &RFC = Substring(&F_Name, 1, 1); &Pos1 = 2; &i = 1; Repeat &Vowel = Substring(&F_Name, &Pos1, 1); &Pos1 = &Pos1 + 1; &CodeVal = Code(&Vowel); Until (&CodeVal = 65) Or (&CodeVal = 69) Or (&CodeVal = 73) Or (&CodeVal = 79) Or (&CodeVal = 85); &RFC = &RFC | &Vowel; &RFC2 = Substring(&M_Name, 1, 1); &RFC = &RFC | &RFC2; &Nam = Substring(&FirstName, 1, 1); &RFC = &RFC | &Nam; &Yr = Substring(&Year, 3, 2); &RFC = &RFC | &Yr | &Month | &Day; Return &RFC; End-Function;
E
vi
Adaptación: Días Adicionales en el Cálculo del Factor de SDI &TotalVacation = GPMX_SDI_FACTOR.GPMX_VAC_DAYS + GPMX_SDI_FACTOR.TL_ADDITIONAL_DAYS; If (All(GPMX_SDI_FACTOR.GPMX_VAC_DAYS) And All(GPMX_SDI_FACTOR.GPMX_VAC_PREMIUM)) Or All(GPMX_SDI_FACTOR.GPMX_XMAS_DAYS) Then
GPMX_SDI_FACTOR.GPMX_SDI_FACTOR = 1 + (((&TotalVacation * GPMX_SDI_FACTOR.GPMX_VAC_PREMIUM / 100) + GPMX_SDI_FACTOR.GPMX_XMAS_DAYS) / 365); Else GPMX_SDI_FACTOR.GPMX_SDI_FACTOR = 1;
End-If;
Adaptación: Calendario de Pago para Captura de Vacaciones Declare Function GetPinNumber PeopleCode TL_GP_ABS_CAL.PIN_TAKE_NUM FieldFormula; Local ApiObject &Session; Local ApiObject &GPMX_PI; Local ApiObject &GP_PI_MNL_DATACol; Local ApiObject &GP_PI_MNL_DATAItm; Local ApiObject &GP_PI_MNL_SOVRCol; Local ApiObject &GP_PI_MNL_SOVRItm; Local ApiObject &PSMessages; Local string &ErrorText, &ErrorType; Local number &ErrorCount; Local boolean &Error; Local Row &row; Local ApiObject &ROW_SOVR; Function VacationDaysInAdvance() /* Iniicializa Variables */ &Error = False; &row = GetRow(); &ENTRY_TYPE_ERNS = "ER0"; &PIN_VAC = GetPinNumber("VAC PAGADAS MEX"); /* Obten Sesión Interfase de Componente */ &Session = %Session; &GPMX_PI = &Session.GetCompIntfc(CompIntfc.GPMX_PI); If &GPMX_PI = Null Then CheckErrorCodes(); Error (MsgGet(17240, 5, "")); Else /* Define Propiedades Estandar de Interfase */ &GPMX_PI.InteractiveMode = False; &GPMX_PI.GetHistoryItems = True; SQLExec("SELECT A.GP_PAYGROUP FROM PS_JOB A WHERE A.EMPLID = :1 AND A.EMPL_RCD = :2 AND A.EFFDT=(SELECT MAX(B.EFFDT) FROM PS_JOB B WHERE A.EMPLID=B.EMPLID AND A.EMPL_RCD=B.EMPL_RCD)", TL_GP_ABS_CAL.EMPLID, TL_GP_ABS_CAL.EMPL_RCD, &GP_PAYGROUP); /* Obtén las llaves del Componente */
&GPMX_PI.GP_PAYGROUP = &GP_PAYGROUP; &GPMX_PI.CAL_ID = TL_GP_ABS_CAL.CAL_ID; &GPMX_PI.EMPLID = TL_GP_ABS_CAL.EMPLID; &GPMX_PI.EMPL_RCD = TL_GP_ABS_CAL.EMPL_RCD; SQLExec("SELECT EMPLID FROM PS_GP_PI_MNL_DATA WHERE GP_PAYGROUP = :1 AND CAL_ID = :2 AND EMPLID = :3 AND EMPL_RCD = :4", &GP_PAYGROUP, TL_GP_ABS_CAL.CAL_ID, TL_GP_ABS_CAL.EMPLID, TL_GP_ABS_CAL.EMPL_RCD, &EMPLID); If None(&EMPLID) Then /* Si No Existe el empleado, Inserta las llaves */ &GPMX_PI.GP_PAYGROUP = &GP_PAYGROUP; &GPMX_PI.CAL_ID = TL_GP_ABS_CAL.CAL_ID; &GPMX_PI.EMPLID = TL_GP_ABS_CAL.EMPLID; &GPMX_PI.EMPL_RCD = TL_GP_ABS_CAL.EMPL_RCD; If Not &GPMX_PI.Create() Then CheckErrorCodes(); /* Si no fue posible insertar, genera un error*/ &Error = True; Error (MsgGet(17240, 6, "")); End-If; Else If Not &GPMX_PI.GET() Then CheckErrorCodes(); /* Si no fue posible actualizar, genera un error*/ &Error = True; Error (MsgGet(17240, 6, "")); End-If; End-If;
E
vii
If Not &Error Then &GP_PI_MNL_DATACol = &GPMX_PI.GP_PI_MNL_DATA; /******Inserta en Entrada Positiva********************************/ If &row.IsNew And Not &row.IsDeleted And All(TL_GP_ABS_CAL.CAL_ID) Then If &GP_PI_MNL_DATACol.count > 1 Or All(&EMPLID) Then &GP_PI_MNL_DATAItm = &GP_PI_MNL_DATACol.InsertItem(1); Else &GP_PI_MNL_DATAItm = &GP_PI_MNL_DATACol.Item(1); End-If; If All(TL_GP_ABS_CAL.CAL_ID) Then &GP_PI_MNL_DATAItm.ENTRY_TYPE_ID = &ENTRY_TYPE_ERNS; &GP_PI_MNL_DATAItm.PIN_NUM = &PIN_VAC; If All(GP_ABS_EVENT.DURATION_ABS) Then &GP_PI_MNL_DATAItm.GP_UNIT = GP_ABS_EVENT.DURATION_ABS; &GP_PI_MNL_DATAItm.ABS_BGN_DT = GP_ABS_EVENT.BGN_DT; &GP_PI_MNL_DATAItm.ABS_END_DT = GP_ABS_EVENT.END_DT; End-If; If Not &GPMX_PI.Save() Then CheckErrorCodes(); /* Si no puedes guardar los cambios, genera un error*/ Error (MsgGet(17240, 7, "")); End-If; &GP_PI_MNL_DATAItm = &GP_PI_MNL_DATACol.InsertItem(&GP_PI_MNL_DATACol.Count); End-If; End-If; /* Elimina de Entrada Positiva******************************/ If &row.IsDeleted Then &GP_PI_MNL_DATACol = &GPMX_PI.GP_PI_MNL_DATA; &COUNT = &GP_PI_MNL_DATACol.Count; &j = 1; For &i = 1 To &COUNT &GP_PI_MNL_DATAItm = &GP_PI_MNL_DATACol.Item(&j); &GP_PI_MNL_SOVRCol = &GP_PI_MNL_DATAItm.GP_PI_MNL_SOVR; &GP_PI_MNL_SOVRItm = &GP_PI_MNL_SOVRCol.Item(1); If All(TL_GP_ABS_CAL.CAL_ID) And &GP_PI_MNL_DATAItm.PIN_NUM = &PIN_VAC And
&GP_PI_MNL_DATAItm.ABS_BGN_DT = GP_ABS_EVENT.BGN_DT And &GP_PI_MNL_DATAItm.ABS_END_DT = GP_ABS_EVENT.END_DT Then &GP_PI_MNL_DATACol.DeleteItem(&j); Else &j = &j + 1; End-If; End-For; If Not &GPMX_PI.Save() Then CheckErrorCodes(); /*Si no puedes guardar los cambios, genera un error*/ Error (MsgGet(17240, 7, "")); End-If; End-If; End-If; End-If; End-Function; Programa Principal: &row2 = GetRow(); If &row2.IsNew Or &row2.IsDeleted Or &row2.IsChanged Then &PIN_TAKE = GetPinNumber("VAC DISFRUTE MEX"); If GP_ABS_EVENT.PIN_TAKE_NUM = &PIN_TAKE Then VacationDaysInAdvance(); End-If; End-If;
E
viii
Adaptación: Modificación a la página de Disponibilidad ATW
Declare Function WeekRefresh_MXL PeopleCode TL_DERIV_ATW.DAY_OFWEEK FieldFormula; Declare Function Get_TL_List_MXL PeopleCode TL_DERIV_ATW.DEPTID FieldFormula; Declare Function Get_MXL_Employee_Punch PeopleCode TL_DERIV_ATW.DAY_OFWEEK FieldFormula; Declare Function Get_MXL_Employee_Availability PeopleCode TL_DERIV_ATW.DAY_OFWEEK FieldFormula; Declare Function Display_MXL_Colors PeopleCode TL_DERIV_ATW.DAY_OFWEEK FieldFormula; Declare Function Get_MXL_Previous_Day_Punch PeopleCode TL_DERIV_ATW.DAY_OFWEEK FieldFormula; Global date &atw_date, &TL_Punch_Date, &EndDt; Global string &deptid, &emplid, &searchid, &TL_bu_unit; Local Rowset &ATW_CNT_ROWSET; Local Grid &Grid; Local GridColumn &GRIDCOLUMN; Global string &label1, &label2, &label3, &label4, &label5, &category, &SCROLLNAME, &RECORDNAME; Global number &loop, &NUM1, &NUM2; Local SQL &sql; &searchid = TL_SUMSRCHMXL.GROUP_ID; SQLExec("SELECT A.BUSINESS_UNIT FROM PS_JOB A WHERE A.EFFDT = (SELECT MAX(A_ED.EFFDT) FROM pS_JOB A_ED WHERE A.EMPLID = A_ED.EMPLID AND A.EMPL_RCD = A_ED.EMPL_RCD AND A.EFFDT <= %DATEIN(:2))AND A.EFFSEQ = (SELECT MAX(A_ES.EFFSEQ) FROM pS_JOB A_ES WHERE A.EMPLID = A_ES.EMPLID AND A.EMPL_RCD = A_ES.EMPL_RCD AND A.EFFDT = A_ES.EFFDT) AND A.DEPTID =:1 OR A.EMPLID = :1", &searchid, TL_SUMSRCHMXL.START_DT, &getbu); TL_DERIV_ATW.GROUP_ID = &searchid; TL_DERIV_ATW.BUSINESS_UNIT = &getbu; &deptid = &searchid; &atw_date = TL_SUMSRCHMXL.START_DT; TL_DERIV_ATW.DATE_POSTED = Date(&atw_date); &srchdt = TL_DERIV_ATW.DATE_POSTED; &srchdt = Date(&srchdt); &day1 = &srchdt; &day2 = AddToDate(&srchdt, 0, 0, 1);&day3 = AddToDate(&srchdt, 0, 0, 2);&day4 = AddToDate(&srchdt, 0, 0, 3); &day5 = AddToDate(&srchdt, 0, 0, 4);
Get_Employee_List_MXL(); WeekRefresh_MXL(); Get_Employee_Availability(); Get_Employee_Punch(); /*Toma los registros de entrada y salida*/ Display_Colors(); Function Get_Employee_Punch(); &srchgrp = TL_DERIV_ATW.GROUP_ID; &srchdate = TL_DERIV_ATW.DATE_POSTED; ¤t_sysdatetime = %Datetime; &srchdate = Date(&srchdate); &day1 = &srchdate; &day2 = AddToDate(&srchdate, 0, 0, 1); &day3 = AddToDate(&srchdate, 0, 0, 2); &day4 = AddToDate(&srchdate, 0, 0, 3); &day5 = AddToDate(&srchdate, 0, 0, 4); &NewDateTime = DateTimeToTimeZone(¤t_sysdatetime, "EST", "PST"); &TL_gl_atw = GetRowset(Record.TL_GL_ATW); &empl_rows = &TL_gl_atw.ActiveRowCount; For &empl_loop = 1 To &empl_rows &emplid = &TL_gl_atw(&empl_loop).TL_GL_ATW.EMPLID.Value; End-For; &check_in_date = AddToDate(&today_date, 0, 0, - 1); &check_in_date = &check_in_date | " " | &chktime; &check_out_date = &today_date; &check_out_date = &check_out_date | " " | &chktime; &select_punch = "SELECT a.emplid, %dateout(a.punchtime), %TimeOut(a.punchtime),a.descr FROM TL_vw_lenal_punch_in@compass a WHERE a.punchtime >= :1 AND a.emplid in ( " | &empl_list | " ) UNION sELECT a.emplid, %dateout(a.punchtime), %TimeOut(a.punchtime),a.descr FROM TL_vw_lenal_punch_out@compass a WHERE a.punchtime >= :1 AND a.emplid in (" | &empl_list | " ) "; &select_punch_sql = CreateSQL(&select_punch, &check_in_date, &empl_list); While &select_punch_sql.Fetch(&in_emplid, &in_out_date, &in_out_time, &punch_descr) &empl_done = "N"; &punch_emplid = &TL_gl_atw(&time_loop).TL_GL_ATW.EMPLID.Value; &punch_deptid = &TL_gl_atw(&time_loop).TL_GL_ATW.DEPTID.Value; If &punch_emplid = &in_emplid Then &empl_done = "Y"; SQLExec("SELECT ship_type_id,%dateout(dur) FROM PS_WF_SCH_HRS where dur = %datein(:1) and emplid =:2", &Pacific_Date, &punch_emplid, &today_shift, &shift_date);
E
ix
Módulo: Asignación de Contratos
El formato de los contratos será generado en Crystal Reports como se muestra en la siguiente imagen.
El siguiente código Será utilizado para generar las renovaciones masivas de contratos.
E
x
Declare Function Check_Contract_Numeric PeopleCode FUNCLIB_HR.CONTRACT_NUM FieldFormula; Local File &Log; Local ApiObject &oSession, &oCiJobData; Local ApiObject &oCollJobCollection, &oCollJob; Function Get_Next_Contract_Num(&EMPLID) Returns string; &NEXT_CONTRACT_NUM = 0; SQLExec("Select max(CONTRACT_NUM) from PS_CONTRACT_DATA where EMPLID=:1", &EMPLID, &CONTRACT_NUM); Check_Contract_Numeric(&CONTRACT_NUM, &IND_ALPHA); If &IND_ALPHA = 0 Then &PRIOR_CONTRACT_NUM = &CONTRACT_NUM; If All(&CONTRACT_NUM) Then &NEXT_CONTRACT_NUM = &CONTRACT_NUM + 1; Else &NEXT_CONTRACT_NUM = "0001"; End-If; &NEXT_CONTRACT_NUM = Rept("0", &LENGTH - Len(&NEXT_CONTRACT_NUM)) | &NEXT_CONTRACT_NUM; Return &NEXT_CONTRACT_NUM; End-If; End-Function; Programa Principal: &LENGTH = 4; &EMPLID = TL_JOB_AET.EMPLID; &EFFDT = TL_JOB_AET.TL_CONTR_BEG_DT; ®_REGION = "MEX"; &IND_ALPHA = 0; SQLExec("Select EMPL_RCD, EFFSEQ from PS_JOB where EMPLID=:1 AND EFFDT=(SELECT MAX(JOB.EFFDT) FROM PS_JOB JOB WHERE EMPLID=JOB.EMPLID AND EMPL_RCD=JOB.EMPL_RCD)", &EMPLID, &EMPL_RCD, &EFFSEQ); TL_JOB_AET.EMPL_RCD = &EMPL_RCD;TL_JOB_AET.EFFSEQ = &EFFSEQ;TL_JOB_AET.ACTION = "DTA"; TL_JOB_AET.ACTION_REASON = "CNT";TL_JOB_AET.CONTRACT_NUM = Get_Next_Contract_Num(&EMPLID); TL_JOB_AET.EFFDT = &EFFDT; try &Log = GetFile("W", %FilePath_Absolute); If Not &Log.IsOpen Then errorHandler(); End-If; &oCiJobData = &oSession.GetCompIntfc(CompIntfc.CI_JOB_DATA); If &oCiJobData = Null Then errorHandler();
E
xi
throw CreateException(0, 0, "SECTION-JOB: GetCompIntfc failed"); End-If; &oCiJobData.InteractiveMode = True; &oCiJobData.GetHistoryItems = True; &oCiJobData.EditHistoryItems = False; &oCiJobData.KEYPROP_EMPLID = TL_JOB_AET.EMPLID; &oCiJobData.KEYPROP_EMPL_RCD = TL_JOB_AET.EMPL_RCD; If Not &oCiJobData.Get() Then errorHandler(); throw CreateException(0, 0, "SECTION-JOB: Get failed"); End-If; &oCollJob = &oCollJobCollection.InsertItem(1); &oCollJob.KEYPROP_EFFDT = TL_JOB_AET.EFFDT; &oCollJob.KEYPROP_EFFSEQ = TL_JOB_AET.EFFSEQ; &oCollJob.PROP_ACTION = TL_JOB_AET.ACTION; &oCollJob.PROP_ACTION_REASON = TL_JOB_AET.ACTION_REASON; &oCollJob.PROP_CONTRACT_NUM = TL_JOB_AET.CONTRACT_NUM; If Not &oCiJobData.Save() Then; errorHandler(); throw CreateException(0, 0, "SECTION-JOB: Save failed"); Else SQLExec("UPDATE PS_CONTRACT_DATA SET CONTRACT_STATUS='I' where EMPLID=:1 AND CONTRACT_NUM=:2", &EMPLID, &PRIOR_CONTRACT_NUM); End-If; If Not &oCiJobData.Cancel() Then; errorHandler(); throw CreateException(0, 0, "SECTION-JOB: Cancel failed"); End-If;
E
xii
Módulo: Incremento Semanal de Sueldo por Aniversario
Declare Function AgeInYears PeopleCode FUNCLIB_HR.AGE FieldFormula; Declare Function AgeInMonth PeopleCode FUNCLIB_HR.AGE FieldFormula; Declare Function AgeInDays PeopleCode FUNCLIB_HR.AGE FieldFormula; Local date &HIR_date, &SEN_date2, &Prd_Bgn_date, &Anniversary; Local File &Seniority; Local string &Anniver; /************ Fecha de Contratación **********/ &HIR_date = TLSENPAY_AET.SENIORITY_DATE; &AnnivDay = Day(&HIR_date); &AnnivMonth = Month(&HIR_date); &AnnivYear = Year(&HIR_date); /************ Busca Fecha Fin de Periodo **********/ &SEN_date2 = TLSENPAY_AET.TO_DATE; &PrdMonth = Month(&SEN_date2); &PrdYear = Year(&SEN_date2); /********** Busca Fecha Inicio de Periodo *********/ &Prd_Bgn_date = AddToDate(TLSENPAY_AET.TO_DATE, 0, 0, - 6); /******Evalua en caso de tener diferentes meses en el mismo periodo*****/ &PrdBgnMonth = Month(&Prd_Bgn_date); &PrdBgnYear = Year(&Prd_Bgn_date); &PrdBgnDay = Day(&Prd_Bgn_date); If &AnnivDay = "31" Then If &PrdBgnMonth <> &PrdMonth Then &PrdMonth = &PrdBgnMonth End-If; End-If;
/************* Fecha de Aniversario ************/ &Anniversary = Date3(&PrdYear, &PrdMonth, 1); &GapDate = &AnnivDay - 1; &Anniversary = AddToDate(&Anniversary, 0, 0, &GapDate); /********** Antig. en meses *********/ &TOTAL = AgeInYears(&HIR_date, TLSENPAY_AET.TO_DATE); &TOTAL = (&TOTAL * 12) + AgeInMonth(&HIR_date, TLSENPAY_AET.TO_DATE); /********** Valida inserción para incremento de sueldo *********/ If &TOTAL = TLSENPAY_AET.MONTHS_LAST_INCR Then If &Anniversary >= &Prd_Bgn_date And &Anniversary <= &SEN_date2 Then TLSENPAY_AET.MONTH3_COUNT7 = TLSENPAY_AET.MONTHS_LAST_INCR; SQLExec("SELECT AA.AMOUNT FROM PS_TL_SEN_MATRX AA WHERE AA.SETID=:1 AND AA.COMPANY=:2 AND AA.JOBCODE=:3 AND AA.MONTHS_LAST_INCR =:4 AND AA.EFFDT = (SELECT MAX(BB.EFFDT) FROM PS_TL_SEN_MATRX BB WHERE BB.SETID=AA.SETID AND BB.COMPANY=AA.COMPANY AND BB.JOBCODE=AA.JOBCODE AND BB.MONTHS_LAST_INCR = AA.MONTHS_LAST_INCR)", TLSENPAY_AET.SETID, TLSENPAY_AET.COMPANY, TLSENPAY_AET.JOBCODE, TLSENPAY_AET.MONTHS_LAST_INCR, &AMOUNT); TLSENPAY_AET.AMOUNT = &AMOUNT; SQLExec("INSERT INTO PS_TL_RC_SEN_PAY_D(OPRID,RUN_CNTL_ID,EMPLID,APPROVAL_FLAG,UPDATE_FLAG,SENIORITY_DATE,MONTH3_COUNT7,AMOUNT) VALUES (:1,:2,:3,:4,:5,%datein(:6),:7,:8)", TLSENPAY_AET.OPRID, TLSENPAY_AET.RUN_CNTL_ID, TLSENPAY_AET.EMPLID, "N", "N", TLSENPAY_AET.SENIORITY_DATE, TLSENPAY_AET.MONTH3_COUNT7, TLSENPAY_AET.AMOUNT); End-If; End-If;
Módulo: Interfase entre los módulos Nómina Global y Asistencia/Puntualidad
El siguiente código inserta en una tabla temporal todos aquellos registros de tiempo por empleado que no han sido procesados. INSERT INTO PS _TL_IPT2 (PROCESS_INSTANCE ,EMPLID ,EMPL_RCD ,DUR ,SEQ_NBR ,JOBINSTANCE ,TRC ,TL_QUANTITY ,GP_PAYGROUP ,HOLIDAY_FLAG ,BUSINESS_UNIT , JOBCODE ,DEPTID ,DAILY_RT ,PAYABLE_STATUS ,USER_FIELD_5 )
SELECT /*+ RULE */ %Bind(TL_PROCINSTANCE) , A.EMPLID , A.EMPL_RCD , A.DUR , A.SEQ_NBR ,%Bind(TL_PROCINSTANCE) , A.TRC , A.TL_QUANTITY ,B.GP_PAYGROUP ,'N' ,B.BUSINESS_UNIT , B.JOBCODE ,B.DEPTID ,B.DAILY_RT ,A.PAYABLE_STATUS ,A.USER_FIELD_5 FROM PS_TL_PAYABLE_TIME A , PS_JOB B
E
xiii
, PS_TL_CALCSETUP CS WHERE EXISTS ( SELECT 'X' FROM PS_TL_RUN_CTRL_GRP X , PS_TL_GROUP_DTL Y WHERE X.OPRID = %OperatorId AND X.RUN_CNTL_ID = %RUNCONTROL AND X.GROUP_ID = Y.GROUP_ID AND X.EMPLID = 'Z' AND Y.EMPLID = A.EMPLID UNION SELECT 'X' FROM PS_TL_RUN_CTRL_GRP Z WHERE Z.OPRID = %OperatorId AND Z.RUN_CNTL_ID = %RUNCONTROL AND Z.GROUP_ID = 'Z' AND Z.EMPLID = A.EMPLID)
AND A.DUR BETWEEN (sysdate - CS.DAYS) AND sysdate AND A.EMPLID = B.EMPLID AND A.EMPL_RCD = B.EMPL_RCD AND B.GP_PAYGROUP IN ('HOURLY') AND B.EFFDT = ( SELECT MAX(B_ED.EFFDT) FROM PS_JOB B_ED WHERE B.EMPLID = B_ED.EMPLID AND B.EMPL_RCD = B_ED.EMPL_RCD AND B_ED.EFFDT <= A.DUR) AND B.EFFSEQ = ( SELECT MAX(B_ES.EFFSEQ) FROM PS_JOB B_ES WHERE B.EMPLID = B_ES.EMPLID AND B.EMPL_RCD = B_ES.EMPL_RCD AND B.EFFDT = B_ES.EFFDT) AND B.EMPL_STATUS = 'A' AND (A.USER_FIELD_5 = 'NA' AND A.PAYABLE_STATUS IN ('AP','ES','CL')) AND CS.COMPANY = 'MXL'
Con la tabla temporal, genera la inserción a través de Interfase de Componente al Módulo de Ausentismo. Function Load_absence() Returns boolean &oGpAbsEventCollection = &oTLAbsEntry.GP_ABS_EVENT; &TL_match = False; &TL_rowcount = &oGpAbsEventCollection.Count; For &i112 = 1 To &TL_rowcount; &oGpAbsEvent = &oGpAbsEventCollection.Item(&i112); If &TL_del = True Then If &SIPT2.DUR.VALUE = &oGpAbsEvent.BGN_DT Then If &oGpAbsEvent.PIN_TAKE_NUM = &SIPT2.PIN_TAKE_NUM.VALUE Then &oGpAbsEventCollection.DeleteItem(&i112); &TL_match = True; &i112 = &TL_rowcount; Else &text = "Cannot delete data for Emplid = " | TL_ABS_AET.EMPLID | " for Date = " | &SIPT2.DUR.VALUE | " due to an existing Absence"; End-If; End-If; Else If &SIPT2.DUR.VALUE = &oGpAbsEvent.BGN_DT Then If ((&oGpAbsEvent.PIN_TAKE_NUM = &TLgppin)) Then &oGpAbsEvent.BGN_DT = &SIPT2.DUR.VALUE; &oGpAbsEvent.END_DT = &SIPT2.DUR.VALUE; &oGpAbsEvent.VOIDED_IND = "N"; &oGpAbsEvent.ABS_ENTRY_SRC = 2; &oGpAbsEvent.PIN_TAKE_NUM = &TLgppin; If &SIPT2.trc.VALUE <> "FALTA" Then &oGpAbsEvent.BEGIN_DAY_HRS = &tot_qty; &oGpAbsEvent.duration_abs = 0; Else &oGpAbsEvent.BEGIN_DAY_HRS = 0; &oGpAbsEvent.duration_abs = 1; End-If; &counter = 0;
&i112 = &oGpAbsEventCollection.Count; Else &counter = 1; SQLExec("select PIN_CODE from ps_gp_pin where PIN_num = :1", &oGpAbsEvent.PIN_TAKE_NUM, &pincode); If (&pincode <> "RETARDO EN HORAS MEX" And &pincode <> "FALTA MEX" And &pincode <> "PERM SG HORAS MEX") Then &text = "Existing data for Emplid = " | TL_ABS_AET.EMPLID | " Date = " | &SIPT2.DUR.VALUE | " TRC = " | &SIPT2.trc.VALUE; MessageBox(0, "", 0, 0, &text); &found_error = True; End-If; End-If; If &counter = 0 Then &TL_match = True; End-If; End-If; End-If; End-For; If &TL_match = False Then If ((&oGpAbsEventCollection.Count = 1 And All(&oGpAbsEvent.BGN_DT)) Or &oGpAbsEventCollection.Count > 1) Then &insrtnew = &oGpAbsEventCollection.InsertItem(&oGpAbsEventCollection.Count); Else &insrtnew = &oGpAbsEventCollection.Item(&oGpAbsEventCollection.Count); End-If; &insrtnew.BGN_DT = &SIPT2.DUR.VALUE; &insrtnew.END_DT = &SIPT2.DUR.VALUE; &insrtnew.VOIDED_IND = "N"; &insrtnew.ABS_ENTRY_SRC = 2; &insrtnew.PIN_TAKE_NUM = &TLgppin;
E
xiv
If &SIPT2.trc.VALUE <> "FALTA" Then &insrtnew.BEGIN_DAY_HRS = &tot_qty; End-If; End-If; Return True; End-Function; &oSession = %Session; &oSession.PSMessagesMode = 1; &oTLAbsEntry = &oSession.GetCompIntfc(CompIntfc.TL_ABS_ENTRY); If &oTLAbsEntry = Null Then errorHandler(); End-If; &oTLAbsEntry.InteractiveMode = False; &oTLAbsEntry.GetHistoryItems = False; &oTLAbsEntry.EditHistoryItems = False; &oTLAbsEntry.EMPLID = TL_ABS_AET.EMPLID; &oTLAbsEntry.EMPL_RCD = TL_ABS_AET.EMPL_RCD; If Not &oTLAbsEntry.Get() Then errorHandler(); End-If;
&SIPT2 = CreateRecord(Record.TL_TL_IPT2); &SQLIPT2 = CreateSQL("SELECT DISTINCT A.EMPLID, A.EMPL_RCD, %dateout(A.BGN_DT), 'aaaaa',A.PIN_TAKE_NUM,0 FROM PS_GP_ABS_EVENT A, PS_GP_PIN C, ps_TL_tl_ipt1 B WHERE B.PROCESS_INSTANCE = :1 AND B.EMPLID = :2 and B.EMPL_RCD = :3 and C.PIN_NUM = A.PIN_TAKE_NUM AND C.PIN_CODE IN ('RETARDO EN HORAS MEX','FALTA MEX','PERM SG HORAS MEX') AND C.PIN_TYPE = 'AT' AND A.EMPLID = B.EMPLID AND A.EMPL_RCD = B.EMPL_RCD AND B.DUR = A.BGN_DT AND NOT EXISTS (SELECT 'X' FROM PS_TL_ERNCD_TBL AB, PS_GP_PIN BB, PS_TL_TL_IPT1 CB WHERE AB.EFFDT = (SELECT MAX(AB_ED.EFFDT) FROM PS_TL_ERNCD_TBL AB_ED WHERE AB.TRC = AB_ED.TRC AND AB_ED.EFFDT <= CB.DUR) AND BB.PIN_CODE = AB.TL_TAKECD AND CB.PROCESS_INSTANCE = :1 AND CB.TRC = AB.TRC and CB.EMPLID = A.EMPLID AND CB.EMPL_RCD = A.EMPL_RCD AND CB.DUR = A.BGN_DT AND A.PIN_TAKE_NUM = BB.PIN_NUM)", TL_ABS_AET.TL_PROCINSTANCE, TL_ABS_AET.EMPLID, TL_ABS_AET.EMPL_RCD); &TL_del = True; While &SQLIPT2.FETCH(&SIPT2) &rc1 = Load_absence(); If &rc1 = False Then Exit; End-If; End-While;
El siguiente código incorpora el tiempo extra al componente de nómina global. Local ApiObject &oSession, &oTLGpmxOvt; Local ApiObject &oGpmxOvrWeeklyCollection, &oGpmxOvrWeekly; Local ApiObject &oGpmxOvrDailyCollection, &oGpmxOvrDaily; Local number &HOURLY; Function Load_GPM_Ovt() Returns boolean &empleado = &SIPT2.EMPLID.value; &emplrec = &SIPT2.EMPL_RCD.value; &business_unit = &SIPT2.business_unit.value; &jobcode = &SIPT2.JOBCODE.value; &deptid = &SIPT2.DEPTID.VALUE; &holiday = &SIPT2.HOLIDAY_FLAG.VALUE; &DT = &SIPT2.DUR.VALUE; &TLdayofweek = Weekday(&SIPT2.DUR.VALUE); &MXL_DAILY_RT = &SIPT2.DAILY_RT.VALUE; If Not &Error Then &oGpmxOvrWeeklyCollection = &oTLGpmxOvt.GPMX_OVR_WEEKLY;
&wkly_exists = "N"; For &i116 = 1 To &oGpmxOvrWeeklyCollection.Count; &oGpmxOvrWeekly = &oGpmxOvrWeeklyCollection.Item(&i116); If &oGpmxOvrWeekly.EMPLID = &SIPT2.EMPLID.value Then &wkly_exists = "Y"; If &TL_DELETE = True Then Else &oGpmxOvrWeekly.EMPLID = &SIPT2.EMPLID.value; &oGpmxOvrWeekly.EMPL_RCD = &SIPT2.EMPL_RCD.value; End-If; &oGpmxOvrDailyCollection = &oGpmxOvrWeekly.GPMX_OVR_DAILY; For &i230 = 1 To &oGpmxOvrDailyCollection.Count; &oGpmxOvrDaily = &oGpmxOvrDailyCollection.Item(&i230); If &oGpmxOvrDaily.GPMX_OVT_DT = &SIPT2.DUR.value Then &dur_exists = True;
E
xv
Break; End-If; End-For; If &dur_exists = True Then If &TL_DELETE = True Then &oGpmxOvrDailyCollection.DeleteItem(&i230); Else resolve_tlcot_hrs(&empleado, &emplrec, &SIPT2.DUR.value, &SIPT2.TL_QUANTITY.VALUE); End-If; &dur_exists = False; Break; Else If ((&oGpmxOvrDailyCollection.Count = 1 And All(&oGpmxOvrDaily.GPMX_OVT_DT)) Or &oGpmxOvrDailyCollection.Count > 1) Then &oGpmxOvrDaily = &oGpmxOvrDailyCollection.InsertItem(&oGpmxOvrDailyCollection.Count); Else &oGpmxOvrDaily = &oGpmxOvrDailyCollection.Item(&oGpmxOvrDailyCollection.Count); End-If; &Return = AbsenceEntryOvertimeCheck(&SIPT2.EMPLID.value, &SIPT2.DUR.value); &oGpmxOvrDaily.GPMX_OVT_DT = &SIPT2.DUR.value; resolve_tlcot_hrs(&empleado, &emplrec, &SIPT2.DUR.value, &SIPT2.TL_QUANTITY.VALUE); Break; End-If; End-If; End-For; If &wkly_exists <> "Y" Then &oGpmxOvrWeekly = &oGpmxOvrWeeklyCollection.Item(&oGpmxOvrWeeklyCollection.Count); If ((&oGpmxOvrWeeklyCollection.Count = 1 And All(&oGpmxOvrWeekly.EMPLID)) Or &oGpmxOvrWeeklyCollection.Count > 1) Then &oGpmxOvrWeekly = &oGpmxOvrWeeklyCollection.InsertItem(&oGpmxOvrWeeklyCollection.Count); Else &oGpmxOvrWeekly = &oGpmxOvrWeeklyCollection.Item(&oGpmxOvrWeeklyCollection.Count); End-If; &oGpmxOvrWeekly.EMPLID = &SIPT2.EMPLID.value;
&oGpmxOvrWeekly.EMPL_RCD = &SIPT2.EMPL_RCD.value; &oGpmxOvrDailyCollection = &oGpmxOvrWeekly.GPMX_OVR_DAILY; &oGpmxOvrDaily = &oGpmxOvrDailyCollection.Item(&oGpmxOvrDailyCollection.Count); If ((&oGpmxOvrDailyCollection.Count = 1 And All(&oGpmxOvrDaily.GPMX_OVT_DT)) Or &oGpmxOvrDailyCollection.Count > 1) Then &oGpmxOvrDaily = &oGpmxOvrDailyCollection.InsertItem(&oGpmxOvrDailyCollection.Count); Else &oGpmxOvrDaily = &oGpmxOvrDailyCollection.Item(&oGpmxOvrDailyCollection.Count); End-If; &Return = AbsenceEntryOvertimeCheck(&SIPT2.EMPLID.value, &SIPT2.DUR.value); &oGpmxOvrDaily.GPMX_OVT_DT = &SIPT2.DUR.value; resolve_tlcot_hrs(&empleado, &emplrec, &SIPT2.DUR.value, &SIPT2.TL_QUANTITY.VALUE); End-If; End-If; Return True; End-Function; &Error = False; &oSession = %Session; &oSession.PSMessagesMode = 1; &oTLGpmxOvt = &oSession.GetCompIntfc(CompIntfc.TL_GPMX_OVERTIME); If &oTLGpmxOvt = Null Then errorHandler(); End-If; &oTLGpmxOvt.InteractiveMode = False; &oTLGpmxOvt.GetHistoryItems = False; &oTLGpmxOvt.EditHistoryItems = False; &PAYGROUP = TL_ABS_AET.GP_PAYGROUP; &BALANCE_YEAR = TL_ABS_AET.GPMX_BALANCE_YEAR; &WKN = TL_ABS_AET.GPMX_WKN; &CAL_ID = TL_ABS_AET.CAL_ID; &BEGIN_DT = TL_ABS_AET.BEGIN_DT; &END_DT = TL_ABS_AET.END_DT; &oTLGpmxOvt.GP_PAYGROUP = &PAYGROUP; &oTLGpmxOvt.GPMX_BALANCE_YEAR = &BALANCE_YEAR; &oTLGpmxOvt.GPMX_WKN = &WKN; &oTLGpmxOvt.CAL_ID = &CAL_ID;
E
xvi
SQLExec("SELECT 'X' FROM PS_GPMX_OVR_HD A WHERE A.GP_PAYGROUP = :1 AND A.GPMX_BALANCE_YEAR = :2 AND A.GPMX_WKN = :3 AND A.CAL_ID = :4", &PAYGROUP, &BALANCE_YEAR, &WKN, &CAL_ID, &EXISTS); If &EXISTS = "X" Then &oTLGpmxOvt.Get(); Else &Error = False; &oTLGpmxOvt.GP_PAYGROUP = &PAYGROUP;&oTLGpmxOvt.GPMX_BALANCE_YEAR = &BALANCE_YEAR; &oTLGpmxOvt.GPMX_WKN = &WKN; &oTLGpmxOvt.CAL_ID = &CAL_ID; If Not &oTLGpmxOvt.Create() Then; errorHandler(); &Error = True; End-If; End-If; &forsave = 0; &SIPT2 = CreateRecord(Record.TL_TL_IPT2_OVT); &SQLIPT2 = CreateSQL("SELECT C.EMPLID,0,%DATEOUT(C.GPMX_OVT_DT),'OVTP',1,'JB','DDDDD','MXL','N',1 FROM PS_GPMX_OVR_DAILY C WHERE c.GP_PAYGROUP = :2 AND C.GPMX_BALANCE_YEAR = :3
AND C.GPMX_WKN = :4 AND C.CAL_ID = :5 AND C.GPMX_OVT_DT BETWEEN %DATEIN(:6) AND %DATEIN(:7) AND C.GPMX_OVT_DT >= (SELECT min(B.DUR) FROM ps_TL_tl_ipt1 B WHERE PROCESS_INSTANCE = :1 AND B.EMPLID = C.EMPLID) and C.GPMX_OVT_DT <= (SELECT MAX(B1.DUR) + 2 FROM ps_TL_tl_ipt1 B1 WHERE PROCESS_INSTANCE = :1 AND B1.EMPLID = C.EMPLID) and not exists (select 'X' from ps_TL_tl_ipt1 bb , PS_TL_tRC_VALD D where PROCESS_INSTANCE = :1 AND c.emplid = bb.emplid and c.gpmx_ovt_dt = bb.dur and bb.TRC= D.TRC AND D.TL_TRC_CAT = 'P' AND D.EFFDT = (SELECT MAX(D_ED.EFFDT) FROM PS_TL_TRC_VALD D_ED WHERE D.TRC = D_ED.TRC AND D_ED.EFFDT <= %DATEIN(:7))) order by c.GPMX_OVT_DT", TL_ABS_AET.TL_PROCINSTANCE, &PAYGROUP, &BALANCE_YEAR, &WKN, &CAL_ID, &BEGIN_DT, &END_DT); &TL_DELETE = True; While &SQLIPT2.FETCH(&SIPT2) &forsave = 1; &rc1 = Load_GPM_Ovt(); If &rc1 = False Then Exit; End-If; End-While;
E
xvii
Módulo: Módulo de Cafetería Las pantallas en las líneas de cafetería despegarán la información del empleado, así como su fotografía. El siguiente es el código crítico para su desarrollo.
Cuando el empleado utilice la credencial de identificación el sistema generará un sonido de aceptación o negación a través de JavaScript. Este código se adjuntará a la página en PeopleSoft.
E
xviii
<html dir='ltr' lang='en'> <body> <BGSOUND id=BGSOUND_ID src=""> <bgsound id="bgsound_id" loop=1 src="jsilence.mid"> <embed name="guitar" src="malaguena.mid" loop=false autostart=false hidden=true mastersound> <script language="JavaScript"> <!--//--> ver=parseInt(navigator.appVersion) ie4=(ver>3 && navigator.appName!="Netscape")?1:0 ns4=(ver>3 && navigator.appName=="Netscape")?1:0 ns3=(ver==3 && navigator.appName=="Netscape")?1:0 function playSound() { if (ie4) document.all['BGSOUND_ID'].src='malaguena.mid'; if ((ns4||ns3) && navigator.javaEnabled() && navigator.mimeTypes['audio/x-midi'] && self.document.guitar.IsReady() { self.document.guitar.play() } } </script> <form name=myform> <input type=button value="Play Sound" onClick="playSound()"> <input type=button value="Stop Sound" onClick="stopSound()"> </form> </body> </html> El siguiente es el código que se ejecuta al momento de deslizar la credencial: Declare Function MealAvailable PeopleCode TL_CAFE_DRV.EMPLID FieldFormula; Local Rowset &ROWSET; Local datetime &MealDateTime; TL_CAFE_DRV.TL_CAFE_LINENBR = Substring(TL_CAFE_DRV.BADGE_NBR, 1, 2); TL_CAFE_DRV.BADGE_NBR = Substring(TL_CAFE_DRV.BADGE_NBR, 3, Len(TL_CAFE_DRV.BADGE_NBR) - 2); TL_CAFE_DRV.TEXT_ADD = ""; &MealDateTime = DateTimeToTimeZone(%Datetime, "EST", "PST"); TL_CAFE_DRV.CURRENT_DT = DatePart(&MealDateTime); TL_CAFE_DRV.TL_TIME_MEAL_TAKEN = TimePart(&MealDateTime); &dayofWeek = Weekday(TL_CAFE_DRV.CURRENT_DT);
rem TL_CAFE_DRV.TL_TIME_MEAL_TAKEN = AddToTime(%Time, - 3, 0, 0); rem TL_CAFE_DRV.CURRENT_DT = %Date; &Found = "N"; SQLExec("SELECT b.emplid, 'Y' FROM ps_badge_tbl b WHERE b.badge_nbr = :1 AND b.badge_type = 'GB'", TL_CAFE_DRV.BADGE_NBR, TL_CAFE_DRV.EMPLID, &BadgeExists); TL_CAFE_DRV.EMPLID_FROM = TL_CAFE_DRV.EMPLID; TL_CAFE_DRV.BADGE_NBR = " "; /* Estatus del Empleado*/ SQLExec("select j.empl_status, j.company, j.gp_paygroup from ps_job j where j.emplid = :1 and j.effdt = (select max(jj.effdt) from ps_job jj where jj.emplid = j.emplid and jj.effdt <= %DateIn(:2)) and j.effseq = (select max(jjj.effseq) from ps_job jjj where jjj.emplid = j.emplid and jjj.effdt = j.effdt)", TL_CAFE_DRV.EMPLID, TL_CAFE_DRV.CURRENT_DT, &EmplStatus, &Company, &GPPaygroup); /* Información de Ausentismo. */ &AbsenceExists = "N"; SQLExec("select 'Y' from ps_tl_rptd_elptime t where t.emplid = :1 and t.dur = %DateIn(:2) and t.tl_quantity <> 0 and t.trc in ('ITRSK','MATER','PPABS','SICK','SUSPN','UPABS','VACAT','WORSK')", TL_CAFE_DRV.EMPLID, TL_CAFE_DRV.CURRENT_DT, &AbsenceExists); If (&AbsenceExists <> "Y" And &BadgeExists = "Y" And &EmplStatus = "A" And &Company = "MXL" And (&GPPaygroup = "HOURLY" Or &GPPaygroup = "NON-EXEMPT" Or &GPPaygroup = "EXEMPT")) Then If (&dayofWeek = 1 Or &dayofWeek = 7 Or All(TL_CAFE_DRV.SHIFT_DESCR) Or&TLQuantity >= 4) Then /* Analiza disponibilidad de Consumos. */ &Meal = MealAvailable(TL_CAFE_DRV.EMPLID, TL_CAFE_DRV.CURRENT_DT, TL_CAFE_DRV.TL_TIME_MEAL_TAKEN, TL_CAFE_DRV.ELIG_DATE); Else &Meal = 0; End-If; Else &Meal = 0; End-If; Evaluate &Meal When = 0 /* No Consumió. */ &Found = "N"; Break; When = 1 /* Primera comida es subsidiada */ &Found = "Y"; TL_CAFE_DRV.TL_MEAL_TYPE = "S";
E
xix
TL_CAFE_DRV.TL_MEAL_STATUS = "R"; Break When = 2 /* Primera comida subsidiada en tiempo extra */ &Found = "Y"; TL_CAFE_DRV.TL_MEAL_TYPE = "S"; TL_CAFE_DRV.TL_MEAL_STATUS = "O"; Break When = 3 /* Comida Grátis. */ &Found = "Y"; TL_CAFE_DRV.TL_MEAL_TYPE = "F"; TL_CAFE_DRV.TL_MEAL_STATUS = "O"; Break End-Evaluate; If (&Found = "Y") Then UnHide(TL_CAFE_DRV.TL_MEALS_ACTUAL); UnHide(TL_CAFE_DRV.EMPLID); SQLExec("Insert into PS_TL_CAFE_TBL (EMPLID,EFFDT,TL_TIME_MEAL_TAKEN,DAY_OF_WEEK,TL_MEAL_TYPE,TL_MEAL_STATUS,TL_CAFE_LINENBR,TL_SOURCE_TYPE,ELIGIBILITY_STATUS,DESCR50,TL_MEALS_ACTUAL,TL_MEALS_ALLOW,ELIG_DATE)
Values(:1,%DateIn(:2),%TimeIn(:3),:4,:5,:6,:7,'S','E',:8,0,0,%DateIn(:9))", TL_CAFE_DRV.EMPLID, TL_CAFE_DRV.CURRENT_DT, TL_CAFE_DRV.TL_TIME_MEAL_TAKEN, Weekday(TL_CAFE_DRV.CURRENT_DT), TL_CAFE_DRV.TL_MEAL_TYPE, TL_CAFE_DRV.TL_MEAL_STATUS, TL_CAFE_DRV.TL_CAFE_LINENBR, %OperatorId, TL_CAFE_DRV.ELIG_DATE); TL_CAFE_DRV.TEXT_ADD = "Buen Provecho!"; TL_CAFE_DRV.TEXT_ADD.Style = "TL_FOUND_GREEN"; UnHide(TL_CAFE_DRV.HTMLAREA1); Hide(TL_CAFE_DRV.HTMLAREA); DoSave(); Else TL_CAFE_DRV.TEXT_ADD = "Registro Invalido"; TL_CAFE_DRV.TEXT_ADD.Style = "TL_ERROR_RED"; Hide(TL_CAFE_DRV.TL_MEALS_ACTUAL); UnHide(TL_CAFE_DRV.EMPLID); UnHide(TL_CAFE_DRV.HTMLAREA); Hide(TL_CAFE_DRV.HTMLAREA1); DoSave(); End-If;
Módulo: Información de Ausentismo para Líderes de Grupo
El siguiente programa incorpora el saldo de vacaciones al sistema.
%Select(EMPLID,NAME,GP_PAYGROUP,SERVICE_DT) SELECT A.EMPLID , C.NAME , B.GP_PAYGROUP , %DateOut(A.SERVICE_DT) FROM PS_EMPLOYMENT A , PS_JOB_CURR_EFF_VW B , PS_NAMES C WHERE A.EMPLID=B.EMPLID AND B.EMPLID=C.EMPLID AND A.EMPL_RCD=B.EMPL_RCD AND B.COMPANY='MXL' ORDER BY A.EMPLID ASC Declare Function AgeInYears PeopleCode FUNCLIB_HR.AGE FieldFormula; Declare Function GetPinNumber PeopleCode TL_GP_ABS_CAL.PIN_TAKE_NUM FieldFormula; Local date &FechaFin; SQLExec("SELECT AA.CAL_RUN_ID, AA.CAL_ID FROM PS_GP_PYE_PRC_STAT AA, PS_GP_CAL_RUN CC WHERE AA.EMPLID=:1 AND AA.EMPL_RCD=0 AND AA.GP_PAYGROUP=:2 AND AA.PRC_ORD_TS=(SELECT MAX(BB.PRC_ORD_TS) FROM
PS_GP_PYE_PRC_STAT BB WHERE BB.EMPLID=AA.EMPLID AND BB.EMPL_RCD=AA.EMPL_RCD AND BB.CALC_TYPE='P') AND AA.CAL_RUN_ID=CC.CAL_RUN_ID ", TL_GPMX_VAC_AET.EMPLID, TL_GPMX_VAC_AET.GP_PAYGROUP, &Calendar, &Cal_id_PAY); TL_GPMX_VAC_AET.CAL_RUN_ID = &Calendar; TL_GPMX_VAC_AET.CAL_ID = &Cal_id_PAY; /*Calendario de Nómina*/
E
xx
SQLExec("SELECT AA.CAL_RUN_ID, AA.CAL_ID FROM PS_GP_PYE_PRC_STAT AA, PS_GP_CAL_RUN CC WHERE AA.EMPLID=:1 AND AA.EMPL_RCD=0 AND AA.GP_PAYGROUP=:2 AND AA.PRC_ORD_TS=(SELECT MAX(BB.PRC_ORD_TS) FROM PS_GP_PYE_PRC_STAT BB WHERE BB.EMPLID=AA.EMPLID AND BB.EMPL_RCD=AA.EMPL_RCD AND BB.CALC_TYPE='A') AND AA.CAL_RUN_ID=CC.CAL_RUN_ID ", TL_GPMX_VAC_AET.EMPLID, TL_GPMX_VAC_AET.GP_PAYGROUP, &Calendar, &Cal_id); TL_GPMX_VAC_AET.FWD2_CAL_ID = &Cal_id; /*Calendario de Ausentismo*/ SQLExec("SELECT CAL_PRD_ID FROM PS_GP_CALENDAR WHERE CAL_ID=:1 AND GP_PAYGROUP=:2", TL_GPMX_VAC_AET.CAL_ID, TL_GPMX_VAC_AET.GP_PAYGROUP, &Period); SQLExec("SELECT %dateout(PRD_BGN_DT), %dateout(PRD_END_DT) FROM PS_GP_CAL_PRD WHERE CAL_PRD_ID=:1", &Period, &Prd_Bgn_Dt, &Prd_End_Dt); TL_GPMX_VAC_AET.PRD_BGN_DT = &Prd_Bgn_Dt; TL_GPMX_VAC_AET.PRD_END_DT = &Prd_End_Dt; &EndDate = TL_GPMX_VAC_AET.PRD_END_DT; &StartDate = TL_GPMX_VAC_AET.SERVICE_DT; &Paygroup = TL_GPMX_VAC_AET.GP_PAYGROUP; TL_GPMX_VAC_AET.YEARS = AgeInYears(&StartDate, &EndDate); &CurrIndex = TL_GPMX_VAC_AET.YEARS; &Date_Inicio = &StartDate; &PinTake = GetPinNumber("VAC DISFRUTE MEX"); If &CurrIndex >= 1 And All(&Prd_Bgn_Dt) And All(&Prd_End_Dt) Then SQLExec("SELECT SUM(DURATION_ABS) FROM PS_GP_ABS_EVENT WHERE EMPLID=:3 AND PIN_TAKE_NUM=:1 AND BGN_DT >=%Datein(:2) AND END_DT <=%datein(:4)", &PinTake, &Date_Inicio, TL_GPMX_VAC_AET.EMPLID, TL_GPMX_VAC_AET.PRD_END_DT, &VacTaken); SQLExec("SELECT SUM(A.DURATION_ABS) FROM PS_GP_ABS_EVENT A WHERE A.EMPLID=:1 AND A.PIN_TAKE_NUM=:2 AND A.BGN_DT >=%Datein(:3) AND EXISTS (SELECT B.EMPLID FROM PS_TL_GP_ABS_CAL B WHERE B.EMPLID = A.EMPLID AND B.EMPL_RCD=A.EMPL_RCD AND B.PIN_TAKE_NUM = A.PIN_TAKE_NUM AND B.BGN_DT=A.BGN_DT AND B.END_DT=A.END_DT AND B.CAL_ID=:4)",
TL_GPMX_VAC_AET.EMPLID, &PinTake, TL_GPMX_VAC_AET.PRD_END_DT, &Cal_id_PAY, &VacAdv); &VacTaken = &VacTaken + &VacAdv; For &i = 1 To &CurrIndex /* Procesa cada año de antigüedad*/ &Indice = NumberToString("%08", &i); /* USER_KEY1 es cadena, realize la conversión */ &Date_Fin = AddToDate(&Date_Inicio, 1, 0, 0); SQLExec("select A.GPMX_VAC_DAYS FROM PS_GPMX_SDI_FACTOR A WHERE A.GP_PAYGROUP=:1 AND A.GPMX_SRTY=:2 AND A.EFFDT =(SELECT MAX(B.EFFDT) FROM PS_GPMX_SDI_FACTOR B WHERE A.GP_PAYGROUP = B.GP_PAYGROUP AND A.GPMX_SRTY=B.GPMX_SRTY)", &Paygroup, &i - 1, &VacDays); &Diff = &VacDays - &VacTaken; If &Diff < 0 Then If &i = &CurrIndex Then &VacEntry = &VacTaken; Else &VacEntry = &VacDays; &VacTaken = &VacTaken - &VacDays; End-If; Else &VacEntry = &VacTaken; &VacTaken = 0; End-If; &VacBalance = &VacDays - &VacEntry; /** Sentencia Insert **/ SQLExec("INSERT INTO PS_TL_GPMX_VAC_TMP VALUES(:1,:2,:3,%datein(:4),:5,:6,:7,:8,0,:9,:10,:11,:12,%datein(:13),%datein(:14))", TL_GPMX_VAC_AET.EMPLID, TL_GPMX_VAC_AET.NAME, TL_GPMX_VAC_AET.GP_PAYGROUP, TL_GPMX_VAC_AET.SERVICE_DT, TL_GPMX_VAC_AET.YEARS, &Indice, &VacDays, &VacEntry, &VacBalance, TL_GPMX_VAC_AET.CAL_RUN_ID, TL_GPMX_VAC_AET.CAL_ID, TL_GPMX_VAC_AET.FWD2_CAL_ID, TL_GPMX_VAC_AET.PRD_BGN_DT, TL_GPMX_VAC_AET.PRD_END_DT); End-For; End-If;
El sistema resuelve el saldo de vacaciones y lo almacena en la tabla temporal, para después actualizar la tabla de acumuladores.
E
xxi
Declare Function GetPinNumber PeopleCode TL_GP_ABS_CAL.PIN_TAKE_NUM FieldFormula; &AcumBegin = Date(20010101); &PinParent = GetPinNumber("VAC ANIV MEX"); &Bal_Pin = GetPinNumber("VAC ANIV_SALDO MEX"); &Entl_Pin = GetPinNumber("VAC ANIV_DEVNG MEX"); &Adj_Pin = GetPinNumber("VAC ANIV_AJUST MEX"); &Takn_Pin = GetPinNumber("VAC ANIV_AUSEN MEX"); &SeqNum = Value(TL_GPMX_VAC_AET.USER_KEY1); /* DEVNG – Saldo de Derecho de Vacaciones */ SQLExec("INSERT INTO PS_GP_RSLT_ACUM VALUES (:1,:2,0,:3,:4,'1',:5,'0',%datein(:6),'',:7,' ',' ',' ',%datein(:8),%datein(:9),'MEX','Y','6',:10,:10,'0',:11,'Y',:12,:13)", TL_GPMX_VAC_AET.EMPLID, TL_GPMX_VAC_AET.CAL_RUN_ID, TL_GPMX_VAC_AET.GP_PAYGROUP, TL_GPMX_VAC_AET.FWD2_CAL_ID, &Entl_Pin, &AcumBegin, TL_GPMX_VAC_AET.USER_KEY1, TL_GPMX_VAC_AET.PRD_BGN_DT, TL_GPMX_VAC_AET.PRD_END_DT, TL_GPMX_VAC_AET.TL_TOTAL_ELIG, &PinParent, TL_GPMX_VAC_AET.CAL_RUN_ID, &SeqNum); /* AUSEN – Saldo de Vacaciones Tomadas */ SQLExec("INSERT INTO PS_GP_RSLT_ACUM VALUES (:1,:2,0,:3,:4,'1',:5,'0',%datein(:6),'',:7,' ',' ',' ',%datein(:8),%datein(:9),'MEX','Y','6',:10,:10,'0',:11,'Y',:12,:13)", TL_GPMX_VAC_AET.EMPLID, TL_GPMX_VAC_AET.CAL_RUN_ID, TL_GPMX_VAC_AET.GP_PAYGROUP, TL_GPMX_VAC_AET.FWD2_CAL_ID, &Takn_Pin, &AcumBegin, TL_GPMX_VAC_AET.USER_KEY1, TL_GPMX_VAC_AET.PRD_BGN_DT, TL_GPMX_VAC_AET.PRD_END_DT, TL_GPMX_VAC_AET.TL_TOTAL_TAKEN, &PinParent, TL_GPMX_VAC_AET.CAL_RUN_ID, &SeqNum); /* AJUST – Saldo de Ajuste de Vacaciones */ SQLExec("INSERT INTO PS_GP_RSLT_ACUM VALUES (:1,:2,0,:3,:4,'1',:5,'0',%datein(:6),'',:7,' ',' ',' ',%datein(:8),%datein(:9),'MEX','Y','6',:10,:10,'0',:11,'Y',:12,:13)", TL_GPMX_VAC_AET.EMPLID, TL_GPMX_VAC_AET.CAL_RUN_ID, TL_GPMX_VAC_AET.GP_PAYGROUP, TL_GPMX_VAC_AET.FWD2_CAL_ID, &Adj_Pin, &AcumBegin, TL_GPMX_VAC_AET.USER_KEY1, TL_GPMX_VAC_AET.PRD_BGN_DT, TL_GPMX_VAC_AET.PRD_END_DT, TL_GPMX_VAC_AET.TL_TOTAL_ADJST, &PinParent, TL_GPMX_VAC_AET.CAL_RUN_ID, &SeqNum); /* SALDO – Saldo disponible de Vacaciones */ SQLExec("INSERT INTO PS_GP_RSLT_ACUM VALUES (:1,:2,0,:3,:4,'1',:5,'0',%datein(:6),'',:7,' ',' ',' ',%datein(:8),%datein(:9),'MEX','Y','6',:10,:10,'0',:11,'Y',:12,:13)", TL_GPMX_VAC_AET.EMPLID, TL_GPMX_VAC_AET.CAL_RUN_ID, TL_GPMX_VAC_AET.GP_PAYGROUP, TL_GPMX_VAC_AET.FWD2_CAL_ID, &Bal_Pin, &AcumBegin, TL_GPMX_VAC_AET.USER_KEY1, TL_GPMX_VAC_AET.PRD_BGN_DT, TL_GPMX_VAC_AET.PRD_END_DT, TL_GPMX_VAC_AET.TL_TOTAL_BAL, &PinParent, TL_GPMX_VAC_AET.CAL_RUN_ID, &SeqNum);
El siguiente código se procesará cada vez que el líder de grupo acceda a la página de consulta de saldos. Declare Function GetPinNumber PeopleCode TL_GP_ABS_CAL.PIN_TAKE_NUM FieldFormula; Local Rowset &mass_rowset, &tl_vacsc_rs; Local number &Total_Elig, &Total_Taken, &Total_Adj, &Total_Bal; &Total_Elig = 0;&Total_Taken = 0;&Total_Adj = 0;&Total_Bal = 0; &mass_rowset = GetLevel0()(1).GetRowset(Scroll.TL_INSTALL); &mass_rowset.Flush(); &Sen = 0; &Payee = TL_ADM_SRCHV.EMPLID; &Emplrcd = TL_ADM_SRCHV.EMPL_RCD; &Year = TL_ADM_SRCHV.TL_YEARCD; &HistFrom_dt = "'01-JAN-" | &Year | "'"; &HistThru_dt = "'31-DEC-" | &Year | "'"; &Bal_Pin = GetPinNumber("VAC ANIV_SALDO MEX"); &Entl_Pin = GetPinNumber("VAC ANIV_DEVNG MEX"); &Adj_Pin = GetPinNumber("VAC ANIV_AJUST MEX"); &Takn_Pin = GetPinNumber("VAC ANIV_AUSEN MEX"); &PropVac = GetPinNumber("VAC PROP_SALDO MEX"); &Pending = GetPinNumber("VAC PENDIENTES MEX"); /******************* Obtén Fecha de Contratación ********************/ SQLExec("SELECT HIRE_DT, GP_PAYGROUP FROM PS_EMPLOYEES WHERE EMPLID=:1 AND EMPL_RCD=:2", &Payee, &Emplrcd, &Hire_dt, &Paygroup); TL_MXL_VACBAL.HIRE_DT = &Hire_dt; /** Obtén el ultimo calendario procesado**/ SQLExec("SELECT A.CAL_RUN_ID FROM PS_GP_PYE_PRC_STAT A WHERE A.RUN_TYPE='NOMINA' AND A.PRC_ORD_TS =(SELECT MAX(B.PRC_ORD_TS) FROM PS_GP_PYE_PRC_STAT B WHERE B.EMPLID=A.EMPLID AND B.EMPL_RCD=A.EMPL_RCD AND B.CAL_RUN_ID IN (SELECT C.CAL_RUN_ID FROM PS_GP_CAL_RUN C WHERE C.RUN_FINALIZED_IND='Y')) AND A.EMPLID=:1 AND A.GP_PAYGROUP=:2 AND A.CAL_RUN_ID IN (SELECT ZZ.CAL_RUN_ID FROM PS_GP_CAL_RUN ZZ WHERE RUN_FINALIZED_IND='Y')", &Payee, &Paygroup, &Calendar); SQLExec("SELECT AA.CAL_ID, %dateout(AA.PRD_END_DT), AA.PRD_END_DT FROM PS_GP_CAL_RUN_DTL AA WHERE AA.CAL_RUN_ID=:1 AND AA.GP_PAYGROUP=:2 AND AA.CALC_TYPE='A'", &Calendar, &Paygroup, &Cal_id, &Acums_date, &Acums_date_vw); SQLExec("SELECT AA.CAL_ID FROM PS_GP_CAL_RUN_DTL AA WHERE AA.CAL_RUN_ID=:1 AND AA.GP_PAYGROUP=:2 AND AA.CALC_TYPE='P'", &Calendar, &Paygroup, &Cal_id_PY); /********* Obtén la antigüedad actual *********/
E
xxii
SQLExec("SELECT MAX(USER_KEY1) FROM PS_GP_RSLT_ACUM WHERE EMPLID=:1 AND CAL_RUN_ID=:2 AND PIN_NUM=:3 AND CAL_ID=:4", &Payee, &Calendar, &Bal_Pin, &Cal_id, &Seniority); &Sen_Numeric = Value(&Seniority); &tl_vacsc_rsd = &mass_rowset(1).TL_MXL_VACBAL; For &i = 1 To &Sen_Numeric /* Procesa cada año */ &Indice = NumberToString("%08", &i); /******** Saldo - VAC_ANIV_SALDO - Accumulator ********/ SQLExec("SELECT A.CALC_RSLT_VAL FROM PS_GP_RSLT_ACUM A WHERE A.EMPLID=:1 AND A.CAL_RUN_ID=:2 AND A.PIN_NUM=:3 AND A.USER_KEY1=:4 AND A.CAL_ID=:5 AND A.ACM_FROM_DT=(SELECT MAX(B.ACM_FROM_DT) FROM PS_GP_RSLT_ACUM B WHERE A.EMPLID=B.EMPLID AND A.CAL_RUN_ID=B.CAL_RUN_ID AND A.PIN_NUM=B.PIN_NUM AND A.USER_KEY1=B.USER_KEY1 AND A.CAL_ID=B.CAL_ID)", &Payee, &Calendar, &Bal_Pin, &Indice, &Cal_id, &VA_SALDO); /******** Tomadas - VAC_ANIV_AUSEN - Accumulator **********/ SQLExec("SELECT A.CALC_RSLT_VAL FROM PS_GP_RSLT_ACUM A WHERE A.EMPLID=:1 AND A.CAL_RUN_ID=:2 AND A.PIN_NUM=:3 AND A.USER_KEY1=:4 AND A.CAL_ID=:5 AND A.ACM_FROM_DT=(SELECT MAX(B.ACM_FROM_DT) FROM PS_GP_RSLT_ACUM B WHERE A.EMPLID=B.EMPLID AND A.CAL_RUN_ID=B.CAL_RUN_ID AND A.PIN_NUM=B.PIN_NUM AND A.USER_KEY1=B.USER_KEY1 AND A.CAL_ID=B.CAL_ID)", &Payee, &Calendar, &Takn_Pin, &Indice, &Cal_id, &VA_AUSEN); /******** Derecho - VAC_ANIV_DEVNG - Accumulator ****/ SQLExec("SELECT A.CALC_RSLT_VAL FROM PS_GP_RSLT_ACUM A WHERE A.EMPLID=:1 AND A.CAL_RUN_ID=:2 AND A.PIN_NUM=:3 AND A.USER_KEY1=:4 AND A.CAL_ID=:5 AND A.ACM_FROM_DT=(SELECT MAX(B.ACM_FROM_DT) FROM PS_GP_RSLT_ACUM B WHERE A.EMPLID=B.EMPLID AND A.CAL_RUN_ID=B.CAL_RUN_ID AND A.PIN_NUM=B.PIN_NUM AND A.USER_KEY1=B.USER_KEY1 AND A.CAL_ID=B.CAL_ID)", &Payee, &Calendar, &Entl_Pin, &Indice, &Cal_id, &VA_DEVNG); /******** Ajustes - VAC_ANIV_AJUST - Accumulator *****/ SQLExec("SELECT A.CALC_RSLT_VAL FROM PS_GP_RSLT_ACUM A WHERE A.EMPLID=:1 AND A.CAL_RUN_ID=:2 AND A.PIN_NUM=:3 AND A.USER_KEY1=:4 AND A.CAL_ID=:5 AND A.ACM_FROM_DT=(SELECT MAX(B.ACM_FROM_DT) FROM PS_GP_RSLT_ACUM B WHERE A.EMPLID=B.EMPLID AND A.CAL_RUN_ID=B.CAL_RUN_ID AND A.PIN_NUM=B.PIN_NUM AND A.USER_KEY1=B.USER_KEY1 AND A.CAL_ID=B.CAL_ID)", &Payee, &Calendar, &Adj_Pin, &Indice, &Cal_id, &VA_AJUST); &tl_vacsc_rsd.EMPLID.value = &Payee; &tl_vacsc_rsd.EMPL_RCD.value = 0; &tl_vacsc_rsd.USER_KEY1.value = &i; &tl_vacsc_rsd.TL_ELIG_DAYS.value = &VA_DEVNG; &Total_Elig = &Total_Elig + &VA_DEVNG; &tl_vacsc_rsd.TL_TAKEN_DAYS.value = &VA_AUSEN; &Total_Taken = &Total_Taken + &VA_AUSEN; &tl_vacsc_rsd.TL_ADJST_DAYS.value = &VA_AJUST;
&Total_Adj = &Total_Adj + &VA_AJUST; &tl_vacsc_rsd.ABSV_BALANCE.value = &VA_SALDO; &Total_Bal = &Total_Bal + &VA_SALDO; End-For; /***************** Calcula / Imprime totales ************************/ TL_MXL_VACBAL.TL_TOTAL_ELIG = &Total_Elig; TL_MXL_VACBAL.TL_TOTAL_TAKEN = &Total_Taken; TL_MXL_VACBAL.TL_TOTAL_ADJST = &Total_Adj; TL_MXL_VACBAL.TL_TOTAL_BAL = &Total_Bal; /**** Calcula monto proporcional.********/ SQLExec("SELECT A.CALC_RSLT_VAL FROM PS_GP_RSLT_ACUM A WHERE A.EMPLID=:1 AND A.CAL_RUN_ID=:2 AND A.PIN_NUM=:3 AND A.CAL_ID=:4 AND A.ACM_FROM_DT=(SELECT MAX(B.ACM_FROM_DT) FROM PS_GP_RSLT_ACUM B WHERE A.EMPLID=B.EMPLID AND A.CAL_RUN_ID=B.CAL_RUN_ID AND A.PIN_NUM=B.PIN_NUM AND A.CAL_ID=B.CAL_ID)", &Payee, &Calendar, &PropVac, &Cal_id, &PropCurrent); SQLExec("SELECT A.CALC_RSLT_VAL FROM PS_GP_RSLT_ACUM A WHERE A.EMPLID=:1 AND A.CAL_RUN_ID=:2 AND A.PIN_NUM=:3 AND A.CAL_ID=:4 AND A.ACM_FROM_DT=(SELECT MAX(B.ACM_FROM_DT) FROM PS_GP_RSLT_ACUM B WHERE A.EMPLID=B.EMPLID AND A.CAL_RUN_ID=B.CAL_RUN_ID AND A.PIN_NUM=B.PIN_NUM AND A.CAL_ID=B.CAL_ID)", &Payee, &Calendar, &Pending, &Cal_id_PY, &PendDays); SQLExec("SELECT SUM(DURATION_ABS) FROM PS_TL_AB_EVT_V2 WHERE EMPLID=:1 AND BGN_DT > %datein(:2)", TL_ADM_SRCHV.EMPLID, &Acums_date, &SchVac); TL_MXL_VACBAL.TL_VAC_PEND = &PendDays; TL_MXL_VACBAL.TL_VAC_SCH = &SchVac; TL_MXL_VACBAL.TL_VAC_LEFT = TL_MXL_VACBAL.TL_TOTAL_BAL - TL_MXL_VACBAL.TL_VAC_PEND - TL_MXL_VACBAL.TL_VAC_SCH; TL_MXL_VACBAL.TL_PROPORTIONAL = &PropCurrent; TL_MXL_VACBAL.TL_FINAL_VAC_BAL = TL_MXL_VACBAL.TL_PROPORTIONAL + TL_MXL_VACBAL.TL_VAC_LEFT; /****************** Presenta Historial de Vacaciones ***************************/ &WHERE = " WHERE EMPLID ='" | TL_ADM_SRCHV.EMPLID | "'"; &WHERE = &WHERE | " AND " | " END_DT >=" | &HistFrom_dt; &WHERE = &WHERE | " AND " | " BGN_DT <=" | "'" | &Acums_date_vw | "'"; &RS1 = GetLevel0()(1).GetRowset(Scroll.TL_ABS_EVT_V); &RS1.Flush(); &rtn = &RS1.Select(Record.TL_ABS_EVT_V, &WHERE); &WHERE2 = " WHERE EMPLID ='" | TL_ADM_SRCHV.EMPLID | "'"; &WHERE2 = &WHERE2 | " AND " | " BGN_DT > '" | &Acums_date_vw | "'"; &RS2 = GetLevel0()(1).GetRowset(Scroll.TL_AB_EVT_V2); &RS2.Flush(); &rtn = &RS2.Select(Record.TL_AB_EVT_V2, &WHERE2);
E
I
APENDICE ‘F’ – OPCIONES DE IMPLEMENTACIÓN
F