viernes, 22 de agosto de 2008

Creating a cost assignment

Hi,
I've been working this days on creating cost assignments from PSI. I've found something strange in Project Server behaviour. When you create a new AssignmentRow and you select RES_TYPE = 25 (cost resource) and try to update the project, Project Server automaticaly cancell the job in the queue. I don't know why Project Server does that and the only workarround I found (and I know that is not the better workarround) was create costs assignments as work assignments and indicate in assignment Group that resource is from cost Group. If you do this there is another problem...You can't assign a cost to the resource (ASSN_COST) becouse is not a cost resource, so you have to work with ASSN_UNITS field. The problem here is that if you modify resource's units and TASK_TYPE is in mode Fixed Units (as default) will modify task duration too, so you need to set the TASK_TYPE as Fixed Duration before you assign the resource.

domingo, 13 de julio de 2008

Project actuals error when modifying TASK_PCT_WORK_COMP through PSI

I've been working a few hours trying to modify the percent work complete on a task. I've been working with TASK_PCT_WORK, TASK_WORK (read only), TASK_ACT_WORK and TASK_REM_WORK.
As you will know the percent complete of a task can be modifyed directly (using PSI) from TASK_PCT_WORK_COMP column but today, in a new installation of Project Server, I receive an error from the queue saying ProjectActualsAreBlocked. After a few hours trying to find what does that error means I have found modifying the project from Project Professional that I couldn't modify the percent of task completed saying the same error. Project Professional gave me the clue saying that task work could only be modifyed through Project Web Access. So if you acces server setting in PWA will find that under task settings and display there is an option (which is maked as default) called "Restrict updates to Project Web Access". When I uncheked this option I could modify TASK_PCT_WORK_COMP from PSI.

jueves, 19 de junio de 2008

Error in outlook add-in when user assignment is Proposed

If you have an assignamet which has got its booking type as Proposed you will find that outlook add in gives you a message like this "You have not any assignments to upload" when you try to import new assignments. This hapens becouse resource hours are not reserved, as the user is just proposed for the project.
To solve this change user's booking type from Proposed to Commited. This can be done editing the resource from the resources pages.

miércoles, 11 de junio de 2008

Error synchronizing Project Server and Active Directory resources

I have find some resources which cannot be sync with Active Directory and makes that Published database gets in an inconsistent state. For these resources you will get an "Unknown Error" when you try to modify them and if you try to remove them you will find that resources are cheked-out. As you can see in "force check-in enterprise objects" these resources are not listened as cheked-out.
Another sympthom of this is that users which are in an inconsistent state have it's status as innactive, so they can't get in Project Web Access.
How to monitor the error?
If you take a look to the Published database you will find in the MSP_RESOURCES table that users which are in an inconsistent state have his RES_CHEKEDUOT_BY filed to a empty GUID.
Of course it is not correct that value since this is what is causing the error.
How do we solve it?
1. Open an issue with Microsoft or install its hotfixes.
2. Run a sql squery wich will get the user in a consistent state:
update MSP_RESOURCES
set RES_CHECKOUTBY=Null
Where RES_NAME='Name_Of_The_User'
Of course the second option is not supported by Microsoft so you will loose Microsoft's support if you modify the databases and you don't reurn them to its original state.
After doing that you will be able to modify user's state from the Project Web Access site.

jueves, 5 de junio de 2008

Timer job definitions for SSP

I have been working in an enviroment wich was working well unill last week. We found that the queue was not working at all. All the projects were getting enqueued but all of them were in state Waiting... After trying restarting all the services and see that was not a good solution we try to find the error.
Wen we create a new Shared Services Provider this will create two timer job definitions wich are needed for Projecct Server:
Shared Services timer job.
Project Server Synchronizing job for "SharedServicesprovidername".
If there is one of these Timer Jobs Definitions wich doesn't exists then project server sites will not work properly.
What's the solution? there are more than solution for this problem but the most easy is to create another Shared Services Provider, change the associations for the web applications to the new Shared Services Provider and delete the old one.
If you have properties defined in old Shared Services Provider (profiles, excel services, BDC, search....) you will need to configure it again in the new SSP.

martes, 27 de mayo de 2008

Bug in eventHandler on itemAdded --> ListItem is null

I will continue posting things about sharepoint.
When you implement an ItemAdded event handler you will notify that SPItemEventProperties.ListItem is null. This is becouse a bug in sharepoint.
To work around this you should use the method spList.getItemByUniqueId() passing the memeber SPItemEventProperties.Listitemid wich would be correct.

viernes, 25 de abril de 2008

Queue blocked in project server caused by tasks getting enqueued

El otro día trabajando en una solución me encontré con una cola con más de 700 tareas en espera de proceso. Una vez depuradas las tareas y buscando cúales eran las que producían el bloqueo en la cola me encontré con diversas tareas con el estado "Getting enqueued".
Este estado se produce cuando hay algún cliente externo que está compartiendo datos con project server, por ejemplo una publicación de un proyecto desde Project Professional. Si finaliza la conexión con el servidor durante el proceso de sincronización y transmisión de los datos a Project Server la tarea se queda en éste estado, produciendo el bloqueo de la cola para dicho proyecto.
Soluciones:

a) Encontrar el cliente que estaba enviando los datos y que acabe de enviarlos (por ejemplo que el ordenador se haya suspendido mientras realizaba la actualización).

b) Eliminar las tareas que están en este estado marcando antes la opción "Cancelar trabajos en la cola de espera" dentro de "Opciones avanzadas". Éste proceso puede provocar la pérdida de los datos que no se hayan transmitido a Project Server.