Buen día, tengo dudas acerca de como realizar un reporte
Resulta que me piden el calculo de horas extras , tomando en cuenta que se labora de L-V de 8-5 con una hora de comida es decir a partir de las 6 ya cuenta como hora extra y aparte calcular el tiempo de los sábados que se labora de 8-1 que partir de las 2 pm es tiempo extra pero no tengo ni la mas mínima idea de como hacerlo me podrían orientan
saludos
La respuesta rápida es crear un informe en CR.
Por otro lado lo que puedo recomendarle para una ayuda más específica es que nos comente usted cómo tiene configurado el tiempo regular y el tiempo extra en la gestión de tiempos de recursos humanos de SAP.
El tema así como lo está describiendo deja al lector conjeturas y deducciones que no facilitan el aporte de ideas.
¿Usan la gestión de recursos humanos en SAP? ¿Sabe usted cómo se parametriza? ¿Como va a obtener los registros el sistema? ¿Tiene un biometrico? ¿Las incidencias las lleva en SAP?¿Calcula la nomina en un Addon para SAP? ¿Qué sistema será el responsable de estos cálculos, SAP?
En resumen, tiene que describir el escenario completo no solo la necesidad el informe. Comparta lo que ha pensado o lo que ha intentando.
Buen día, claro comento el escenario. No uso un add on
En el modulo de datos maestros del empleado doy de alta el tecnico y en la pestaña financiar agrego el sueldo por hora del tecnico. Ahora en la compañía se labora de lunes a sabado y esporádicamente los domingos
de lunes a viernes de 8-5 y sábados de 8-1 pero debemos sumar la hora de comida siendo un total de 50 horas entonces
se me ocurre realizar el calculo por semana por ejemplo tengo el tecnico juan Perez que en la semana trabajo 65 horas
Sumando las horas totales de la semana Sum (Horas_trabajadas>50) then
me muestre que trabajo 15 horas extras a la semana
Ya tengo la orden de servicio, hora inicial, hora final , total de horas pero por dia y las necesito por semana me ayudan por favor no sé como hacer el calculo primero por semana la suma de horas y luego el calculo para que me diga a la semana cuantas horas extras trabajo
anexo query
select
T5.Descriptio Actividad,
format(T1.Recontact,‘dd/MM/yyyy’) Fech_Inicio, format(T1.endDate,‘dd/MM/yyyy’) Fech_Fin,
T2.DocNum Num_OM,
T2.U_FolioServ,
format(T1.BeginTime,‘##:##’) Hra_Ini, format(T1.ENDTime,‘##:##’) Hra_fin,
format(((T1.Duration/60)/60),‘##.##’) as Tot_hrs,
format(iif((T1.Duration-32400)/60<0,0,((T1.Duration-32400)/60)/60),‘##.##’) as Hrs_ext,
(T4.firstName+’ '+t4.lastName) Nombre
from oclg T1
inner join OSCL T2 on T2.callID=T1.parentId
inner join OUSR T3 ON T1.AttendUser=T3.USERID
inner join OHEM T4 on T3.USERID=T4.userId
inner join OPST T5 on T5.ProSubTyId=T2.ProSubType inner join OPRJ T6 ON T6.PrjCode=T2.U_EMP_PROJECT
where T1.Duration>32400 and T2.DocNum<199999 and T2.callType <> 50 and
(T2.callType=1 or T2.callType=3 or T2.callType=51 or callType=58) AND
(T2.U_EMP_AssignDate >= [%0] AND T2.U_EMP_AssignDate <= [%1])
ORDER BY T1.AttendUser
Entonces podría calcular las horas extras trabajadas por semana, así que necesitaría agrupar los registros por técnico y por semana, y luego sumar las horas trabajadas. Después, puede comparar el total de horas trabajadas con el límite de horas regulares para determinar las horas extras.
Un ejemplo de lo que podría hacer:
SELECT
(T4.firstName + ' ' + T4.lastName) AS Nombre,
DATEPART(week, T2.U_EMP_AssignDate) AS Semana,
SUM(T1.Duration) / 3600 AS Horas_Trabajadas,
CASE
WHEN SUM(T1.Duration) / 3600 > 50 THEN SUM(T1.Duration) / 3600 - 50
ELSE 0
END AS Horas_Extras
FROM
OCLG T1
INNER JOIN
OSCL T2 ON T2.callID = T1.parentId
INNER JOIN
OUSR T3 ON T1.AttendUser = T3.USERID
INNER JOIN
OHEM T4 ON T3.USERID = T4.userId
WHERE
T2.DocNum < 199999 AND
(T2.callType = 1 OR T2.callType = 3 OR T2.callType = 51 OR T2.callType = 58) AND
(T2.U_EMP_AssignDate BETWEEN [%0] AND [%1])
GROUP BY
T4.firstName,
T4.lastName,
DATEPART(week, T2.U_EMP_AssignDate)
ORDER BY
Semana, Nombre;
Aquí, DATEPART(week, T2.U_EMP_AssignDate)
se utiliza para obtener el número de la semana del año basado en la fecha de asignación del trabajo. Luego se agrupan los registros por nombre del técnico y por semana. La suma de T1.Duration
se divide entre 3600 para convertir los segundos en horas. Finalmente, se calculan las horas extras restando el límite de 50 horas a la suma total de horas trabajadas si esta es mayor a 50.
Muchas gracias , funciono a la perfección
Este tema se cerró automáticamente 7 días después de la última publicación. No se permiten nuevas respuestas.