How do I create an object ID using key fields from the workflow container?
Overview- My workflow is using two different business objects types LFB1 and LFM1. The workflow is triggered when a change is made to a vendor master record at the company code level (LFB1). In a step in the workflow, I want a change to be made to a vendor master record at the purchasing organization level (LFM1).
Problem-The key fields for object type LFB1 are vendor number and company code; the key fields for object type LFM1 are vendor number and purchasing organization.
I have the vendor number (from the event container) and the purchasing organization (using a container operation) in my workflow container. The problem is that I am unable to create an object ID for LFM1 to bind to "my change vendor at the purchasing organization" task. As I said, I have the values for the key fields for LFM1 in my workflow container so it seems to me that I should be able to create an object ID, but I don't know how.
You should use the method SYSTEM.GenericInstantiate to get an instance. There is also a wizard that will generate an activity to do this for you. Just go to Wizards->Include "Create Object Reference".
As a general rule, I try to use Object references rather then actual field values in my workflow container as Object references provide much greater flexibility than straight data fields.
I am not too familiar with the Purchasing functionality that you describe but If I were you I would take a step back and take a look at the relationship between all the objects. Perhaps the vendor master record (LFM1) should be an attribute of the LFB1 object?
This was first published in January 2004