** NOTE - this post is prefaced with the acknowledgement that the original post is over three years old, I cannot remember the exact scenario that I was having trouble with so the example below is a recreation as best as I can remember **
See attached.
There are 2 BOs
ParentObject which has Name and omChild and
ChildObject which has scParentName and obParent
Run and press the button on the VP.
This will create a ParentObject in the panel below. Place a name in the Name field, then press the Add Child button this will create a popup window for ChildObject using Add Reference.
Because the ParentObject has not been saved the Child Object has no knowledge of the shortcut path.This has impacts for the flow of creating a parent child BO relationship. It also has implications if you have used inline editing where you might have a selection of options from the parent.
If the user can create a Parent and then add Children objects and then validly cancel the process then the parent and the child needs to be destroyed (which an Owns/Owned By relationship would enforce).
The issue arises where there are Parent level attributes that you might need to display at the Child level. Consider the creation of an order. An order may be in one of two currencies in this example. Orderline needs to show the price in the determined currency, but currency cannot be capture as a shortcut until Order has been saved. If order is saved but then cancelled then there is an overhead above and beyond the user just pressing the cancel button.
I am not sure how you would fix or work around this, but I have moved to a process where a temporary BO (tempOrder) is created and saved and then converted to a real BO (Order) once the user confirms the save. If you create Order at the outset and then save it before adding in OrderLines then you have an issue with other users queries picking up the Order before the user completes (or abandons the Order).
This is an example of a work-around there are multiple alternative routes to achieve the same before anyone jumps in with their own solutions.