I am desigining a worfklow for a list item and the requirement is, when the item get's rejected we need the initiator to update few properties of the item. How to acheive this?
Do we need to use the request data action and use the list item content type to collect the data (the problem is that content type will not be available as that is not workflow task type and the user has to fill everthing a fresh, which is too much if the form is big)
So is there any other option?
The Request Data action is a task. It is seperate from your item, and would not have the same content type. It would have it's own content type. The way you would use it in this scenario, is you'd create fields in the Request Data to capture the information you want the user to update for the item. Those fields would be tied to variables. So that when the user finishes the task and updates those fields, the next step in your WF would be to use an Update Item to update those fields on the item with the data that is stored in the variables from the Request Data.
Depending on more details, I would use a state machine. This allows the ability to 'loop', etc. For instance, if the initiator and the approver could go back and forth multiple times, you could build a state machine that would accomplish that goal.
There are other ways to achieve this, but based on what you've provided, this is the route I'd take.
State machine together with a Flexi Task and More Data action is the way to go. I have it setup using Vadim Tabakman's example of Request More Data. The initiator gets a message, then opens the list item, updates fields, save the list item and then comments and ok's the More Data action.
I used wait for item update action, and added a new button on the form that sets a new flag 'resubmit'. And in wait for item update action, I waited for the change in the resubmit flag. This way I achieved my requirement.