Sample scenarios: extending and replacing forms

These scenarios explain the extend and replace feature for forms.

In these scenarios, the Users form or UsersMaint is used as the parent form to be replaced by one of the extended forms.

Scenario 1

If the Replace Base Form property of all the extended forms are set to True, IDO Runtime will return the extended form that is found at the highest descendant level, which is UsersMaintEx01_ABC.

Form Name Level Replace Base Form
UsersMaint 0
  • UsersMaintEx01
    • UsersMaintEx01_ABC
  • UsersMaintEx02

1

2

1

True

True

True

Scenario 2

If only one extended form is found at a descendant level, IDO Runtime will return that descendant form definition, which is UsersMaintEx02.

Form Name Level Replace Base Form
UsersMaint 0
  • UsersMaintEx01
    • UsersMaintEx01_ABC
  • UsersMaintEx02

1

2

1

False

True

True

Scenario 3

If there are two or more extended forms that are found at a descendant level, IDO Runtime will use the information from the Form Extensions form.

Form Name Level Replace Base Form
UsersMaint 0
  • UsersMaintEx01
    • UsersMaintEx01_ABC
  • UsersMaintEx02

1

2

1

True

False

True

In this scenario on the Form Extensions form, where “sa” user defines AccessAs to replace the parent form, the Access As form is not accepted by the IDO Runtime because this form is not defined as a descendant form. Instead, IDO Runtime will return the next requested form definition, which is UsersMaintEx02.

Form Name Scope Type Scope Name Replaced By Form
UsersMaint 3 sa AccessAs
UsersMaint 1 [NULL] UsersMaintEx02
UsersMaint 0 [NULL] UsersMaintEx01

In this scenario on the Form Extensions form, where the Form Name value is the same as the Replaced By Form value, the extend and replace feature will not take place. Instead, IDO Runtime will return the next requested form definition, which is UsersMaintEx01.

Form Name Scope Type Scope Name Replaced By Form
UsersMaint 3 sa AccessAs
UsersMaint 1 [NULL] UsersMaint
UsersMaint 0 [NULL] UsersMaintEx01