I_GETFLD
Get data from an input field’s data area
WSupported on Windows
|
USupported on Unix
|
VSupported on OpenVMS
|
NSupported in Synergy .NET
|
xcall I_GETFLD(window_id, [set_name], data_area, field_spec, data)
Arguments
window_id
The ID of the input window containing the field. (n)
set_name
(optional) The name of the input set. (a)
data_area
The data area for the input set. (a)
field_spec
The specification for the field whose data area data will be retrieved from. (See Field specifications for information.) (a)
data
Returned with the obtained data. (a or n)
Discussion
I_GETFLD gets data from an input field’s data area.
If either window_id or field_spec is invalid, a fatal error occurs.
If you omit set_name, it defaults to the first input set.
Data_area must correspond to the structure associated with the input set.
The data is loaded into data according to the definitions in the input window, regardless of the actual type of data. If the data type is text, data is assumed to be the first element of an array dimensioned as specified in the field’s definition.
Note that by default, Toolkit does not ensure that the size of data_area or the size of data matches the size of the referenced field (field_spec) or that they are even large enough for the field. However, bounds checking can check for the following conditions. (See g_dtkbounds for more information.)
- If g_dtkbounds is set to 1, Toolkit generates a fatal error if data_area is not large enough for the field.
- If g_dtkbounds is set to 2 or greater, Toolkit generates a fatal error if data_area is not large enough (as it does if g_dtkbounds is set to 1). And it generates a nonfatal error if data is smaller than the field.
Examples
The following example locates the position of the fax field in cusmas and copies the data to fax_number.
xcall i_getfld(inpid,, cusmas, "fax", fax_number)
The next example locates the position of the addr field in cusmas and copies the data to address.
xcall i_getfld(inpid,, cusmas, "addr", address)