As you know SAP Workflow can be routed to various object including Users, Positions, Org Units, Jobs, etc… Each one of these is described by a type identifier and the corresponding value. An incomplete list is shown below
Object Name -- Type Identifier
User -- US
Position -- S
Org Unit -- O
Job -- C
So when you specify 'Expression', the SAP Workflow system is going to expect something like:
USJSMITH (this is broken into 'US' which is the type identifier and JSMITH is the User ID) or S 50002344 ('S' is the type identifier and 50002344 is the ID of the position.
The first two characters specify what kind of object. The remaining characters specify the object ID. Please note the single space after the 'S' . The first two characters must be the type identifier.
In your case you are binding the 'Created By' which would just return the User ID without the type identifier. Hence why your Workflow fails.
To fix this you should create an instance of object USR01 (passing in the value of 'Created By' as the key and then use the attribute NameWithLeadingUS as the expression.
This was first published in June 2006