How does the SAND UI processing happen?
The SandUIAdaptor calls UIScreenAdaptor.getScreen to retrieve a working copy of the current screen. UIScreenAdaptor loads the formState for each link by calling UIFormAdaptor.getFormContext. When the screen has been reloaded, each UIFormContext action is either CUSTOM, one of the standard form actions, INIT, or UNDEFINED. The SandUIAdaptor then processes the screen by walking the links and processing each one if necessary: • If the link held a custom action, then UIFormOwner.doAction is called. • If the link held a standard form action, the UIFormManager.processForm is called. • If the link action is INIT, then UIFormOwner.doAction is called. These tests chain, so a custom action can set the action to standard form action or INIT if it wants to trigger downstream processing. Some standard form processing may affect data references, in which case UIFormOwner.doAction(ACTION_REFRESH_GLOBAL_DATA,…) is called for each link to allow the references to be updated. If you have multiple forms