Population Selection
This page is a draft. It still needs to be completed.Problem
The user needs to select an existing object in the system. The object belongs to a class, therefore it can be searched by its properties or by any other relationship.

Figure 1. Matchcode field in SAP.

Figure 2. Matchcode selection window in SAP.

Figure 3. Population Selection in PeopleSoft.
Principle
Guiding users, Selection
Forces
- The class of the object must me recognizable in terms of the domain. Concepts exclusively abstract can confuse the users.
- Provide consistency in the selection interaction.
- Keep selection as simple as possible: minimize the information to be asked to the customer before searching.
Solution
Using an object-oriented approach, the selection source can be specified indicating which class the objects to be searched belong to, and which conditions have to satisfy these objects. Furthermore, we can define several filter-criteria to facilitate the search when the selection set has a great number of items.
Provide a Population IU for each class needing to be searched. Include the appropriate filters and order criteria, apply them in context when they makes sense.
Apply the Population Selection pattern to any occurrence of fields demanding a value of this type or class. E.g. Service parameters in Service Interaction Units or filter variables.
Rationale
Homogeneity. Each time the user needs to select a certain object of an specific type it will already know how to interact with the selection UI.
Examples
Figure 1. shows a typical Matchcode field in SAP. The user can type the identification of the object or, alternatively, click on the button and show a helper selection window: Figure 2, where the user can browse and select the required object.
A similar approach is provided in PeopleSoft (Figure 3) where Vendor & Name fields can be directly selected.
Specification
A Population Selection Pattern is defined specifying two aspects:
- Selection IU
- The Population Interaction Unit used to select objects.
- Feedback data
- The information used to provide feedback to the user to indicate the current selection.