I am not sure I understand what you are trying to do. By attempting to edit the AWL you are attempting to add an additional workflow element to the workflow and I believe this is not the approach you should be taking.
What is the goal of this requirement? Is it to change the displayed status on the eform? If that is the case, why not just update the StatusString from the Java that performs the business logic that moves this Eform into a "Processed" state. In addition, I would add an extrinsic field called something like EformProcessingCompleted that I would also set to true once the Eform has been "Processed". This is because any change in state will update the StatusString so having a field explicitly to hold the processed state is a bit more reliable then using the StatusString only.
You have the right approach, and yes you need to create an action.
To move from Approved to Processed, use CreateDurableEvent action, plus any post Approval processing you might need to run. Once you're in Processed state, create another action class to set the Status to Processed. You can get the state name from the.efm file by using the PropertyTable and getPropertyForKey, then set the StatusString.
See sample below.
<!DOCTYPE workflow SYSTEM "../../../../ariba/server/workflowserver/workflow.dtd">
description="Workflow for Requester Maintenance eForm">
<parameter name="EventType" value="CRARequesterMaintenance:Processed"/>
<parameter name="EformState" value="Processed"/>
Thanks for your response, this was helpful and we were able to get the eform to processed state.
however, can you throw some light on how does <action implementation="ariba.common.core.action.CreateDurableEvent"> work, I know it creates an entry into the DurableEvent clusterroot, but at what stage does the event get called and what calls the event, I dont find much documentation about this in ariba guides,
any docs you have will help