Two ways ....either have unique forms for each role being played or have a hidden field on the form and have the role that is supposed to be played put into the field. Then on initialize of the form check the value of that field and programmatically lock/unlock fields accordingly.
I have a similar situation. depending on who is logged in the workspace one section of the form must be enabled and disabled -for instance user1 is logged in he fills in the form with the section disabled and sends the form to user2. User2 will see all the data and will have the section enabled performs some action and sends the same form to user1 user1 will see all the data along with the section that was filled in by user2 but that will be disabled. . How can we do this?
Do we have to write some code in form designer while designing the form or is it to do with the workbench?
You either have a separate form for each user or you have one big form and have code that enables/disables the appropriate pieces based on who is logged into workspace. You woudl have to pass a flag into the data (in the process) to tell the form the role that you want when it is opened.