Hello Robert,
I'm very interested by your process to check if the Project is Locked or not. How did you manage to use the property "Locked" in a condition between steps (it is not available on the object Investment or Project) ?
I need to update several tasks at the same time with XOG and sometimes I get the error "Cannot lock project for update." : one XOG is in conflict with another one.
Personally, I have tried this (see below).
Create a custom attribute (boolean type) on Project.
Update it with sql : select count(*) from prlock where prtablename = 'SRM_PROJECTS' and prrecordid = @v_project_id
Create a Process with 2 steps "Check Lock" and "Update Task".
2 Conditions : if "Is Lock" = 0 then Update Task; otherwise ("Is Lock" = 1) then re-run step.
In this example, if the Project is locked for one minute, the bg tries to evaluate the condition recursively : maybe 100 times in less than 10 seconds (the performance here depends on the architecture in place I guess). And eventually fails and puts the Processus on Hold if it loops too many times (thanks bg ).
Then, I tried to put a tempo with another step "Wait Lock" by using the Condition Step."Check Lock" Number of times repeated <= 100 or > 100. But the bg doesn't do anything on Wait Lock, it just waits at the first execution... I would have thought it would go back to step "Check Lock" until the 100th time.
@Robert, what did you use in your step "Count" ?
Is there anyway to put a tempo (2 seconds for instance) in a process ? The condition 'X days' is way too long for my need.
Many Thanks,
Regards,
David