Buenas,
Después de leer este magnífico post de nuestro colega y mentor Marc Biarnès, hemos decidido traducirlo a castellano, por parecernos de utilidad para la comunidad de Project hispano-parlante.
El post original se puede encontrar aquí (en francés):
http://blogs.technet.com/b/frenchpjblog/archive/2014/11/13/3641082.aspx
Marc nos comparte un script en el cual había trabajado para la versión 2007, pero actualizada para la versión 2013. Resulta muy útil si nos encontramos con problemas al introducir trabajo en tareas o partes de horas, con lo cual no será extraño aceptar hayamos tenido problemas con las transacciones implicadas (no hayan llegado correctamente, sigan en un estado “pendiente”, etc…)
Con el script podemos localizar el tipo, estado, error, etc, de cualquiera de las transacciones, en la base de datos de Project Server 2013:
SELECT
MAT.ASSN_TRANS_UID,
MAT.ASSN_TRANS_SUBMIT_DATE,
MAT.ASSN_TRANS_UPDATE_DATE,
MR.RES_NAMEAS'SUBMITTER',
MP.PROJ_NAMEAS'PROJECT',
MT.TASK_NAMEAS'TASK',
STATUS=
CASEASSN_TRANS_STATE_ENUM
WHEN'0'THEN'0 - Saved'
WHEN'1'THEN'1 - Submitted Pending Approval'
WHEN'2'THEN'2 - In Process'
WHEN'3'THEN'3 – Apply Successfully'
WHEN'4'THEN'4 – Apply Failed'
ELSECAST(ASSN_TRANS_STATE_ENUMasVARCHAR)+' - Unknown'
END,
TYPE=
CASEMAT.ASSN_TRANS_TYPE_ENUM
WHEN'0'THEN'0 - Task Assignment Update'
WHEN'1'THEN'1 - Declined Task Assignment'
WHEN'2'THEN'2 - Create Task Request'
WHEN'3'THEN'3 - Delegate Task Assignment Request'
WHEN'4'THEN'4 - Create Task Assignment Request (assign existing task)'
WHEN'5'THEN'5 - Team Delegation Request'
WHEN'6'THEN'6 - Delete Task Request'
WHEN'7'THEN'7 - Delete Task Assignment Request'
ELSECAST(ASSN_TRANS_TYPE_ENUMasVARCHAR)+' - Unknown'
END,
ACTION=
CASEMAT.ASSN_TRANS_ACTION_ENUM
WHEN'0'THEN'0 - Pending'
WHEN'1'THEN'1 - Update Approved'
WHEN'2'THEN'2 - Update Rejected'
ELSECAST(ASSN_TRANS_ACTION_ENUMasVARCHAR)+' - Unknown'
END,
ERROR=
CASEMAT.ASSN_TRANS_ERROR_ENUM
WHEN'0'THEN'0 - Applied'
WHEN'1'THEN'1 - Undefined'
WHEN'2'THEN'2 - Conflict'
WHEN'3'THEN'3 - ProjectDeleted'
WHEN'4'THEN'4 - InvalidUpdate; InvalidDelegation'
WHEN'5'THEN'5 - InternalError'
WHEN'7'THEN'7 - Count'
ELSECAST(ASSN_TRANS_ERROR_ENUMasVARCHAR)+' - Unknown'
END
FROMPUB.MSP_ASSIGNMENT_TRANSACTIONSMAT
INNERJOINPUB.MSP_RESOURCESMR
ONMAT.ASSN_TRANS_SUBMITTER_RES_UID=MR.RES_UID
INNERJOINPUB.MSP_PROJECTSMP
ONMAT.PROJ_UID=MP.PROJ_UID
LEFTJOINPUB.MSP_TASKSMT
ONMAT.TASK_UID=MT.TASK_UID
Queríamos agradecer, y felicitar a Marc, por este estupendo post. Esperamos os resulte tan interesante como a nosotros.
Un saludo
Jorge Puig