I_ENABLE
WSupported on Windows
|
USupported on Unix
|
VSupported on OpenVMS
|
NSupported in Synergy .NET
|
xcall I_ENABLE([D_FLDS,] window_id, field_list, ...)
or
xcall I_ENABLE(D_SET, window_id, set_name)
or
xcall I_ENABLE(D_ALL, window_id)
Arguments
D_FLDS
(optional) Enables all specified input fields. (default)
D_SET
Enables all input fields in a set.
D_ALL
Enables all input fields in a window.
window_id
The ID of the input window containing the field(s) to be enabled. (n)
field_list
One or more field specifications. (a)
set_name
The name of the set containing the field(s) to be enabled. (a)
Discussion
I_ENABLE enables one or more fields in an input window. Input fields are enabled by default; use I_ENABLE to re-enable fields that have been disabled.
You can specify up to nine field lists (field_list arguments), each of which can have from one to nine field specifications. If a field_list has multiple field specifications, separate the field specifications with any character except alpha characters, numeric characters, dollar sign ($), underscore (_), and square brackets ( [ or ] , which are used to enclose dimension specifications for repository arrayed fields). For example:
"name"
or
"name, birthday, soc_sec_no, employer, phone, policy_no, conditions[2]"
The maximum length of a field_list is 99 characters. Additional characters are ignored. For information on field specifications, see Field specifications.
If any of the designated fields are not contained within the window, a fatal error occurs.
When using D_SET, it is important to remember that the field remains enabled even when you are not processing the set to which you applied D_SET. This is because enablement is a field-specific attribute. When using D_ALL, it is important to note that buttons are not enabled. To enable buttons you should use the B_ENABLE subroutine.
Note that when a break occurs in input processing the input set context for the next input has already been determined. Thus, altering the enabled state of a field in the set during break processing will not alter the input set context, even if you are enabling the field that would have been processed next. You must call I_NEXT to alter the context in any way. For example, consider the following scenario:
- An input set consists of fields A, B, and C.
- Field B is disabled.
- Field A is a break field.
If a break occurs on field A, and the code executed after the break enables field B, the next field processed is still field C because the context for the next input was determined before the break occurred. To access field B next, I_NEXT should be used.
If, on the other hand, field B was enabled within a leave method for field A, field B would be the next field accessed, because the input context for the next input is determined after calling the leave method for a field.
See also
I_DISABLE routine for more information on disabling input fields
Examples
The following example enables the fields state and zip.
xcall i_enable(inpid, "state, zip")