Creación del SP: AbrirSemana
Fecha: Sábado 13 de junio de 2026
Hora de inicio: 3:00 p.m.
Hora de finalización: 4:15 p.m.
Total de horas trabajadas: 1 h 15 min
El objetivo de esta sesión fue desarrollar el SP AbrirSemana, encargado de crear el encabezado correspondiente a una nueva semana en la tabla Semana.
Este procedure será llamado desde CerrarSemana (que corresponde a VB), específicamente durante la transacción del primer empleado procesado, para dejar preparada la semana siguiente.
Actividades
realizadas
3:00 p.m. - 3:25
p.m.
Análisis y
definición de parámetros
Primero revisé cuáles datos eran necesarios para
crear una nueva semana.
El procedimiento recibe:
- La fecha de inicio de la semana.
- La fecha final.
- El identificador del mes al que pertenece.
- Los datos de usuario e IP necesarios para mantener consistencia con
los demás procedimientos.
- Dos parámetros de salida para retornar el identificador de la semana
creada y el código de resultado.
Al inicio asigné el código 50008 como resultado predeterminado y el identificador de semana en 0. De esta
forma, el procedimiento solo retorna un código exitoso después de completar
correctamente la inserción.
3:25 p.m. - 3:50
p.m.
Validaciones e
inserción de la semana
Antes de insertar el registro agregué dos
validaciones.
La primera verifica que no exista previamente una
semana con la misma fecha de inicio. Esto evita crear semanas duplicadas
durante la simulación o por una llamada repetida al procedimiento.
La segunda validación comprueba que el mes recibido
exista en la tabla Mes, ya que toda
semana debe estar relacionada con un periodo mensual válido.
Si alguna de las validaciones falla, el procedimiento mantiene el código de error y finaliza mediante RETURN.
Una vez superadas las validaciones, se inserta el
encabezado en la tabla Semana, incluyendo el
mes, la fecha inicial y la fecha final.
Posteriormente utilicé SCOPE_IDENTITY() para obtener el identificador generado por SQL Server y retornarlo
mediante @outIdSemana.
Finalmente se cambia @outResultCode a 0, indicando que la semana fue creada correctamente.
2:50 p.m. – 3:15
p.m
Manejo de errores
y pruebas
Para finalizar agregué el manejo de errores mediante bloques TRY-CATCH.
Resultado de
la sesión
Durante esta sesión se completó el procedimiento
almacenado AbrirSemana.
El procedimiento permite:
- Verificar que la semana no exista previamente.
- Comprobar que el mes recibido sea válido.
- Crear el encabezado de una nueva semana.
- Retornar el identificador
generado.
- Retornar un código indicando si la operación fue exitosa.
- Registrar errores inesperados en la tabla DBError.
En general, este procedimiento fue sencillo, ya que
solamente se encarga de crear el encabezado de la semana. La creación de las
planillas de cada empleado se mantiene separada y será responsabilidad de CerrarSemana.
Comentarios
Publicar un comentario