Michael,
The scenario I am trying to solve is described at the beginning of my first post. For further clarification, I am creating some logic for updating Sales Order Line Items in the line items grid when entering a Sales Order.
After the Item is selected a series of actions retrieves values from the Items table and populates Sales Order Line Item fields. After the QTY field is updated by the user, I want to implement some quantity dependent logic to update the line item price and potentially create another row in the Grid. The pricing logic and additional row logic depends on several fields stored in the Items table. Instead of going to retrieve the values I need inside each action sequence in the grid, I would rather just update a bunch of Action Values on the Text Change Event of the Item. As long as the Item stays the same, the values for the logic to be performed in the grid row will use the same information, but potentially within several action sequences for fields within the same row.
I am assuming, for now, that the only safe way to do this is by using Shared Results, but for actions that operate within the same row of a grid, or for multiple rows in the same grid, it feels a bit cumbersome to store values in a more global name space, but I can understand why the Action Results would be limited to the action sequence as the menu driven screens for creating actions provide helpful selections of Action Results used in the Action Sequence. This forces more advanced passing a values into the Shared Result realm which should eliminate a lot of errors in more casual coding of actions.
But, I don't understand some things being done to clear Shared Results. For example, On Screen Open the Sales Order screen checks to see whether the shared result resultTransactionEntity contains a value, and if TRUE it then clears the value to null, then it posts the null value to the Screen in the Customer drop down. Why not just update resultTransactionEntity to a null value without the conditional logic? and what if someone did want to open the Sales Order Screen with a TransactionEntity selected in a previous screen?
The intention is clear that the Sales Order screen should open with a null value for the Customer in the header, but I don't understand the circular logic of checking for non null, then making the value null, but if the value is already null, just doing nothing. In this case, it doesn't matter what the previous screens do about updating TransactionEntity since the value will always be cleared. Does this mean that someone should never pass this value to the Sales Order screen, or is there a problem with the way the screen updates that is solved by this clearing code?
If I wanted to call or open the Sales Order screen from another screen, for example to look a the Sales Order detail from a scheduling screen, would this clearing code make it impossible to open the Sales Order screen to a specific record? I guess I won't know until I try, but I'm expecting this standard code may cause a problem.
The clarification you provided regarding the Call Another Action Set action, would suggest that Action Results are very temporary and indeed only persistent through the single action sequence thread. So, I'm thinking Shared Results should be used extensively even when sharing values amongst Action Sequences in the same grid.
Cheers,
James