Adding a Data Refresh Button to Lists that Implement Columnar Tables

To make it easier for a list that uses a columnar table to have up-to-date data, you can add a Data Refresh button to the list. Users can then click this button to run the replication set that refreshes the columnar table for the list.

This procedure assumes you are familiar with the Configuration Console. For more information, see the Configuration Console Web UI User Guide and the Configuration Console Reference Guide: Landmark Pattern Language (LPL).

  1. Complete the following prerequisites:
    • Ensure that the list that are adding a button to can use columnar data. The LPL for the list must include the line
      implements ColumnarView
    • Ensure that a search form exists for the business class that the list uses and that the lists references this search form. For example, the list LPL would include a line similar to
      search form is GLTransactionDetailPrimaryList_SearchForm
    • A replication set exists for the business class that the list uses, and that replication set is defined to create a columnar table. See Creating replication sets.
  2. Create a user action.
    1. Access the Configuration Console.
    2. Select Basic Access > Business Logic > Actions.
    3. Click Create and select Create New Action.
    4. In the right pane, define the user action:
      Business Class
      Select the business class the action will belong to.
      Action
      Specify a name for the action (do not use spaces). Be sure to follow your configurations naming conventions and prefix the name with a code such as ZZZ, Usr, or characters that represent your company name (for example, ACM for Acme Co).
      Override Default Action Label
      Select this check box in order to specify a label that is different than the default. The default label is based on the name of the action.
      Action Type
      Select Import.
    5. Click Submit and then click Edit on the Configuration form for the new action.
    6. Add the following to the LPL (where <ReplicationSetName> is the actual name of the replication set that populates the columnar table) and then click Save.
      Local Fields 
           RepSet is a ReplicationSet 
      Action Rules 
           RepSet = "<ReplicationSetName>" 
           invoke Replicate RepSet 
    7. Select Basic Access > Business Logic > Actions, select the action you just created, click the ellipsis button, and select Assign Role. This will create a security class for the user action. To view the security class, select Configuration > Master, select and open the user action configuration you created, and view the Security tab.
    8. Select a role you want to assign the security class to. Then click Submit.
  3. Create an action form for the user action you created.
    1. In the Configuration Console, select Basic Access > User Interface > Forms.
    2. Click Add New Form.
    3. Specify the business view, supply a name in the Form Name field and click Submit.
    4. Click Edit and modify the LPL so that it is similar to the following, where you replace <actionname> with the name of the user action you created earlier and where the paragraph text is what is displayed on the popup when a user clicks the button to refresh data:
      RefreshDataActionForm is an ActionForm
          action is <actionname>
          Layout
              paragraph
                  text of "PressOKToRefreshColumnarData."
  4. Modify the list you are creating the button for.
    1. In the Configuration Console, select Basic Access > User Interface > Lists.
    2. If the list is already present in the list configurations, open it. If it is not present, click Add New List, select the business class, specify a name for the list, optionally select a list to base the new list on, and click Submit .
    3. Add the following to the LPL for the list, where <UserActionName> is the name of the user action you created earlier:
      Actions
           action is <UserActionName>
    4. Click Save.
  5. Test if the button on the list performs a data refresh. Note that there will be some lag time before the refreshed data is available. The lag time will depend on the amount of data to refresh, whether many replication set executions are ahead in the queue, how many business classes are in the replication set, and so on.