PDA

Ver la Versión Completa : Gestión de contingentes de absentismos negativos


Elora
18/06/13, 16:15:41
Buenas tardes.

Necesito gestionar un contingente de absentismo en negativo y no encuentro el punto de parametrización necesario ( el o los puntos ) para que SAP trabaje con negativos.

Un ejemplo de lo que quiero conseguir sería:

- Parto de un contingente de absentismos en positivo ( ejm: 10 horas de vacaciones )
- El día 01/06/2013 se graba un absentismo de vacaciones por 8 horas. Este absentismo descuenta del contingente de absentismo anterior, por lo que como el contingente es de 10, no hay ningún problema. El contingente se queda en 2.
- El día 10/06/2013 se graba otro absentismo de 8 horas. En este punto, sap detecta que no hay contingente suficiente para cubrir esas 8 horas y muestra un mensaje de error indicándolo, de forma que es imposible grabar ese día de vacaciones.

Lo que necesito es que esas ocho horas se puedan grabar y el contingente pase a valer -6.

He leido en este mismo foro que es posible hacerlo, pero no he encontrado ninguna referencia al cómo en el hilo en cuestión ni en ningún otro.

¿Alguien lo sabría?

Muchas gracias por adelantado.
Elora.

Ivaneee
19/06/13, 07:42:34
Ves a la tabla V_T559L. En TIPOS DE CONTINGENTE, sitúate sobre el contingente en cuestión, y en el campo LiqNeg (liquidación negativa) ponle el valor que quieras (por ejemplo, 20,00000-) para que permita 20 unidades negativas del contingente creado (días u horas, según hayas parametrizado).

Un saludo.

Elora
19/06/13, 18:14:43
Hola Ivaneee.

Lo primero, muchas gracias por tu respuesta.

He revisado la tabla que me comentas y no tengo el campo LiqNeg, ni ninguno parecido. Solamente hay uno, en la pestaña 'Derecho Acumulacion' llamado 'Derecho máximo' que podría servir, pero lo he probado introduciendo un valor negativo y no hace lo que necesito.

¿Puede ser que tenga que activar esa opción de 'negativo' en algún otro lugar de la parametrizacion? ¿Puede ser que en mi versión de sap no se permita trabajar con contingentes negativos?

¡Muchas gracias!

Ivaneee
20/06/13, 07:02:33
Pues ni idea... yo te hablo de la versión de SAP HR 604.

Mira el campo que te digo:

http://i294.photobucket.com/albums/mm90/Ivaneee/greenshot_2013-06-20_08-57-08_zps00f1fc7c.jpg

Elora
25/06/13, 18:04:26
Hola Ivaneee.

Creo que tenemos versiones diferentes de sap, pero a pesar de eso, y usando lo que me has dicho, he estado bicheando todos estos dias y ¡he conseguido que descuente en negativo!

En mi versión, tengo que jugar con dos contingentes: uno para los dias que voy generando automaticamente en la evaluación ( horas extras pasan a contingente ) y otro para que cuando el empleado se tome más dias de los que hay en el primer contingente lo pueda hacer y el sistema no lo pare.

El primer contingente: siempre muestra los dias que el sistema ha calculado como total del contingente que se puede tomar y los dias que se va tomando, y cuando llegan a ser ambos valores iguales:

.....pasa a ir sumando horas en el segundo contigente ( hasta el máximo valor permitido que es el que tu me indicaste -valor negativo- ). Y este segundo contingente lo que indica es que esas son horas que el trabajador debe a la empresa.

Y ahora me encuentro con un nuevo problema:
He puesto todo esto a funcionar en pruebas en mayo en mi máquina de test. Cuando voy evaluando día a dia me va descontando perfectamente del contingente que corresponda, pero cuando llego al día 31 me hace lo siguiente:

Me suma a la cantidad total del contingente que tiene el empleado para disfrutar ( contingente positivo ) lo que ya tenía más lo que aún no ha disfrutado.

Ejm:
Dia 30 de mayo.
Cantidad total del contingente: 20
Liquidado: 10

Dia 31 de mayo.
Cantidad total del contingente: 30
Liquidado: 10

Cuando no debería ser así, sino respetar el 20 e ir sumando solo los valores que le pase la evaluación.

Y además:
A partir del día 31 deja de ver el contingente negativo, es decir, si el día 1 de julio el trabajador trabaja una hora de más y esa hora reduce en 1 el contingente negativo ( como ha estado haciendo durante mayo sin problema ), lo que hace es ignorar el contingente negativo y sumar 1 a la cantidad del contingente positivo, con lo cual, en lugar de 'devolver una hora a la empresa que ya debía' pasa a ser que la 'empresa le debe una hora'.

Creo que son dos problemas diferentes, cada uno con uno de los contingentes, pero no llego a ver donde se le dice al sistema que los dos contingentes tienen que ir trabajando al par hasta fin de año y no dejar de hacerlo el último día del mes.

¿Alguna idea Ivaneee o alguien mas? Esto tiene que ser muy sencillo, pero llevo todo el día probando y no lo veo....

¡Muchas gracias!

PD: si no me he explicado bien, intentaré poner una imagen mañana como has hecho tu Ivaneee.

Ivaneee
26/06/13, 08:10:51
no se si lo he entendido bien.... pero mira si tienes en tu esqueme de tiempos un IF D31 o en EOM, si el día 31 (o último de mes) hace algo con los contingentes de tiempos, si lo aumenta, si lo modifica... porque es raro que pase de 20 a 30, la verdad. vamos a ir eliminando posibilidades.

Elora
26/06/13, 09:08:07
La funcion que tengo activada es la QUOTE.

Esta funcion aumenta el contingente de absentismos parametrizado cada vez que un empleado hace una hora extra.

Durante el mes funciona bien:
Un empleado hace una hora extra --> esa hora extra genera una clase de tiempo determinada --> La funcion QUOTE detecta que esa clase de tiempo tiene valor y actualiza el contingente.

Pero el día 31, esa misma funcion QUOTE, sin tener valor la clase de tiempos que actualiza el contingente, se ejecuta y me suma las horas que ya ha disfrutado el empleado a la cantidad de horas que aun le quedaban por disfrutar.

Y por otro lado, la QUOTE que hace correctamente el descuento usando los dos contingentes, deja de 'ver' el contingente de negativos ese mismo día.

La primera imagen: corresponde a la situación de los contingentes despues de evaluar desde el 1 al 30 de mayo. Como puedes ver, el contingente es de 20 dias y los 20 están ya liquidados. De hecho, el empleado se ha tomado ya 24, por lo que el el contiengente negativo aparece con 4 dias.

La segunda imagen: corresponde con la situación al evaluar el día 31. Los veinte dias disfrutados ya pasan a aumentar el contingente de disponible. Puedes ver el log de la evaluación, funcion QUOTE, a la izquierda de la imagen y a la derecha los contingentes.

Creo que el problema puede estar en lo que te marco en la segunda imagen en rojo. Hay un campo en el log que se llama 'Fecha de Transferencia' que aparece con el valor 31.05.2013, y creo que al llegar esa fecha el sistema entiende que tiene que 'liquidar' de alguna forma lo que ya ha disfrutado. He bicheado en las opciones de parametrización que tienen que ver con ese concepto, pero no consigo que el contingente funcione bien ni deje de hacer esa suma.

Imagen 1:

http://i1103.photobucket.com/albums/g477/LadyMidday/Trabajo/Captura_dia30_zps5c5c3ee6.jpg

Imagen 2:

http://i1103.photobucket.com/albums/g477/LadyMidday/Trabajo/Captura_Dia31_zps710fe7e0.jpg

Ivaneee
26/06/13, 09:14:37
Una cosa, cuando dices QUOTE, te refieres a que en el esquema de tiempos tienes puesta una llamada a QUOTA?

la QUOTA es la que se encarga de actualizar todos los contingentes de tiempos como tu bien dices.

yo lo que probaría, por probar, ya que estoy trabajando y no me puedo centrar al 100%... es meter esa llamada dentro de un IF.

algo asi tipo

IF D31
no hace nada
ELSE
invocas la QUOTA y que actulice contingentes

luego a medio día a ver si tengo un hueco para intentar comprender todo.

EDIT: otra cosa!!!! pon SUSTITUIR en lugar de AUMENTAR y dime que tal..... creo que es eso.

Elora
26/06/13, 12:20:18
He cambiado AUMENTAR por SUSTITUIR y ya no me suma los 20.

Pero ahora sustituye cada dia el valor del contingente con el valor de la clase de tiempos que le tengo asociada al contingente de forma que si un dia no genera nada, actualiza el contigente con 0.

He intentado hacer el IF, pero no me lee de la tabla ZES que es la única en la que tengo los datos de las clases de tiempos del dia, que es lo único que puedo usar para determinar si un día corresponde o no actualizar el contingente.

Ivaneee
26/06/13, 13:10:33
puedes ponerle una especie de check, que si el contingente a cargar es distinto de 0, que no te lo actualice, desde regla de tiempos.

ZH01 Control horas extras a pagar bolsa tiempos
*
****
HRS=DZPHE Fijar (tu saldo en cuestión)
HRS?0 Operac.decisión HRS
*
HRS=MZBHE Fijar (en mi caso cojo el saldo acumulado mensual)
UPDTQA50 Estruc.conting.abs. (y lo actualizo en el contingente de absentismos, en mi caso es el 50)
>



EDIT:

la parte del IF, por si la necesitas, sería algo así (los números de la izquierda ni caso). todo esto desde el propio esquema de tiempos:


001640 IF D31 (aquí le decimos que si es día 31 haga lo que pone debajo, si no, que pase al ELSE)
001650 PRINT SALD (por poner algo, aquí es para que hagas pruebas y veas si el 31 es el que te está machacando el contingente)
001670 ELSE
001680 QUOTA
001690 ENDIF

Aunque claro si un mes es de 28, 30 días no entrará.

Revisa bien la parte de EOM si tienes (end of month) a ver si hay alguna regla o algo que machaque ese contingente.

Otra cosa, estás poniendo que el contingente se actualice a través de un saldo, verdad? lo habrás puesto que coja el saldo diario en lugar del mensual.

Ponlo que lo coja del mensual, y ya lo vas tratando periodo a periodo, y si quieres, a principio de año te creas una regla que lo elimine y lo deje a cero, para poder crear el siguiente contingente para el próximo año.

Esto está en la V_T559L, el la parte de Derechos Básicos, te metes dentro de tu contingente y miras si tira de Saldo Dia o de Saldo Periodos como te comento.

Elora
01/07/13, 09:32:27
Hola Ivaneee.

Disculpa por tardar tanto en contestar, pero he estado implementando una serie de cambios a raiz de lo último que me comentaste, y los he estado probando y retocando para ver que todo funcionaba bien.

¡Y lo hace!

Como ha quedado al final:

-Se han creado dos contingentes, uno para los dias que el trabajador debe a la empresa ( negativo ) y otro con los días de vacaciones que la empresa le debe al trabajador ( positivo ).

-Ambos contingentes están relacionados, de forma que cuando el positivo llega a 0, se empiezan a descontar los dias del otro.
Opción spro-->Gestión de tiempos de personal --> Entrada y Gestión de datos de tiempos --> Gestion de cuentas de tiempos con contingentes de absentismos --> Liquidación de contingentes mediante absentismos --> Asignar reglas de liquidación reglamentación de cómputo --> Reglamentación de cómputo.
Asignando en 'hasta derecho a': el contingente positivo, y en '>derecho' el contingente negativo.

-Para generar las horas que van al contingente positivo:
* el contingente positivo lo definí como 'Aumentar',
* dejé de usar la función QUOTA en el esquema,
* incorporé una nueva regla asignaba el aumento de contingente si correspondia ( siguiendo tu ejemplo de código ).

Dicho así....hasta que suena fácil, pero ¡ha costado!

Muchas gracias por toda tu ayuda, no se como lo hubiera hecho si no te hubiera tenido por aqui ;)

¡Espero poder devolverte el favor algún día!

Ivaneee
01/07/13, 17:16:11
Me alegro mucho! Para eso estamos, tranquila!!

carito1339
01/06/20, 18:12:09
hola nosotros generamos 1,25 días por mes de vacaciones, pero tengo un empleado que debe generar 2,08, cómo puedo hacerlos para ampliar para una persona sin modificar esquema ni los contingentes del resto de empleados, ayuda please.