- User wants to create Test Protocol of engine.
- User measures engine on the network analyzer which saves values to dbase file. User can do several different measurements.
- User wants to put the measured values from analyzer into Test Protocol.
What I want to achieve
- I defined ODBC connection and linked server to reach data in the dbase file.
- I have created entity for loading data from network analyzer.
- I have a workflow to create particular Test protocol (there might be different types of protocols for different engine types).
- The Test protocol is displayed in the User Interface step but it is not saved yet.
What user should do:
- User is editing Test protocol (in WF User Interface step)
- User can click a button Load data from analyzer
- Button Load data from analyzer runs another WF and displays all possible values from network analyzer (odbc source)
- User selects row and there is Confirm selection button to confirm selection and it runs a new WF just with data from the selected row.
(so far so good)
- Now I would like to run transformation to add these data into Test Protocol. How can I merge the given data? Is there any easy way? I don’t know exactly how Is return value on the context store works or how exactly to work with merge.
Could someone give me a hint how to achieve this user scenario with as less effort as possible … Idealy there should not be any save into database yet. (or may be just into some temporary table if necessary but it would mean to create a temporary table).
You can apply data to a screen from a Workflow UI Action, which is set to be modal. The input context store to which you pass all the screen’s data will be automatically used to merge them back, if you say so in the action.
So whatever you do in the dialog, make sure you modify the input context store and then the data will appear back in your original screen.
Well, I am trying to accomplish it but I am not successful enough:
- I open the modal dialog:
- Values from analyser is shown:
- I select row and press button choose:
- Button choose is Workflow button which confirms modal dialog and does the transformation:
- Transformation works well and CurrentPhaseL1 value is changed in the result of transformation:
- The screen does not get new value:
Do I miss something?
Selecting a row does nothing – it just selects it in the UI. If you want to process it using workflow, you would have to mark it using a checkbox or something like that. Then you would see it marked in the data as well.
That’s one thing.
Can you also post the parameter mapping from the UI action to the workflow? Which one has
/ as mapping? Only changes in that context store will be merged back.
I don’t agree that selecting the row does nothing .
This sends to “selection WF” just one value (selected):
I pass protocol into data structure that contains Protocol data and Measurements:
Then I pass protocol data into selection wf:
This passes the Workflow parameter including all measurements. But the data structure is just protocol, so measurements are forgotten:
In the transformation there is full protocol and passed selected measurement.
I didn’t want to use selection boxes because the user would be able to select multiple values but I want him to select just one row. So with the additional wf it works but the merge into original form is not working.
One additional thing
Is it somehow possible to disable constraints on form submit?
- User creates new protocol, there are 2 mandatory fields
- User starts workflow Select values from analyzer (I can setup context store to disable constraints, so I can run workflow)
- User cannot confirm dialog with Select button because not all fields are filled:
I have tried:
- Set every context store as disable constraints
- Remove screen section with Protocol from Screen
- Remove mandatory fields from the fields in the data structure
Nothing worked. Is it somehow possible to use this functionality when mandatory fields are not filled?
Currently there is no way how to work around having mandatory fields not filled in the UI other than filling them manually or using default values.
DisableConstraints can be used to prefill a context store with partly values so they could be subsequently displayed in the UI where they require the form to be completed. Another use of it is to pass it through multiple transformations which provide partly values but end up being complete at the end of the chain.
Thank you for additional information.
I ended up in the 2 transformations:
- I prepare data for screen to select value => I save current values of mandatory fields into another entity in the data structure. Or I could save them into virtual fields in the same entity
- I replace current values with default values in the current entity. This will assure that all mandatory fields are filled.
- I pass the whole data structure into Value selected workflow.
- There is the final transformation which fills the selected values into original entity and restores original values of mandatory fields.
Not very elegant but working .
This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.