At present the Details WebRoutine has no control over whether the Details or Skills tab is redisplayed. This can easily be achieved by introducing a field that is mapped to set the tab_index property.
- Define a one character field TABINDEX.
Define Field(#tabindex) Type(*char) Length(1)
- In the Details WebRoutine extend the web_map for EMPNO to include TABINDEX as a hidden field.
Web_Map For(*both) Fields((#empno *hidden) (#tabindex *hidden))
- In the CASE loop, set the TABINDEX in each When clause, as follows:
When = D
#Tabindex := '1'
When = U
#Tabindex := '1'
When = N
#Tabindex := '2'
When = S
#Tabindex := '2'
- Recompile your WAM.
- Open the Details WebRoutine in the Design view. Select the Tab Pages weblet and set the selected_tab_index_field to TABINDEX. (Select from the dropdown).
- Ensure the Details tab page is selected and Save your changes.
- Re-test your WAM. When working with the Skills tab, the Skills tab should now be redisplayed after the New Skill or the Save push button has been used.
Note: This is a limited implementation, using simply the tab_index_field property. Using a hidden Nav Panel on each tab page, it is possible to return current tab index to a WebRoutine. This allows a design which supports selecting a different employee and always displaying the last tab page used (Details or Skills).