Complex Table List
The complex table list field edit type displays the records of a complex table in a list control on the detail screen. Definable behaviors include the complex table fields to display, the complex table field value to return when a record is selected, and an action to execute when a record is double-clicked. This field edit type is normally used in a cascade control, though this is not a requirement.
A cascade is a series of multiple fields all displaying the same complex table. Each cascade field displays a different complex table field. The records displayed in a field are the child records to the selected record in the field before it in the cascade. The parent-child relationship is determined by the structure of the indexes for the complex table being displayed.
The overall behavior of a cascade forces a user to make a selection in the first field in the cascade, which is a top-level parent record in the complex table. The next field in the cascade is not enabled until this selection is made. At this point, the values listed in the second field are only those complex table records that are children to the record selected in the first screen field. This behavior repeats for each field in the cascade.
Defining such a cascade requires that the complex table displayed by these fields have the needed parent-child indexes defined. Each cascade screen field must then have a matching child table index at the same level.
Both the complex table drop down and complex table list field edit types support cascade behavior. Fields of both types may used in the same cascade series of fields on a given detail screen.
Complex Table List Attributes
- Complex Table: This attribute specifies the complex table the field is to display. In a cascade it is possible for each field to display a different complex table, provided the values selected in one can be used to search the next. This is not the recommended method for using cascades, as it is more efficient to use a single complex table for all cascade fields.
- Table Index: This attribute specifies the complex table index that should be used to search that table. For the first field in a cascade, this index should be the top-level index, that is, an index that does not have a parent index. For subsequent cascade fields, the selected index should be the child index to the index selected in the field that precedes it in the cascade.
- Cascade Parent: This attribute references another screen field on the same detail screen to use as the cascade parent for the field. If left set to Auto, the cascade will be determined based on the selected Table Index. The field whose Table Index is set to the parent index of the selected Table Index for the field will be treated as the cascade parent screen field. If the proper index structure is in place in the complex table, the cascade parent can be left set to auto.
- Fields to Display: This attribute can contain the name of each complex table field to display in the list. Each table field name is listed here, separated by a comma. If no fields are listed here, all fields are displayed in the list. Each field displayed in the list is represented by a list column.
- Return Field: This attribute contains the complex table field to return from the selected record. When left set to Auto, the return field will the field upon which the index selected in Table Index is defined. This is the recommended selection for this attribute, as this value will be the one passed to the next field in the cascade.
- Double-Click Action: This attribute references an action to execute if the user double-clicks a record in the list. The target of this action will always be the object instance the parent detail screen is displaying. The complex table record the user double-clicks is the current record and can be accessed as such through the target browser. This attribute can only be set when the field is displayed on an object detail screen and will have no affect on a wizard detail screen for a transaction or fetch instance.
- Handle Special Value By: This attribute is available only if a special value has been defined for the Field. In this case, this attribute specifies what to do when the cascade parent value changes. You can define the Field to then set itself back to the special value, change to the default text of Please select, or to change to the Please select text only if the current selection is not the special value.