.SET

Define an input set

WSupported on Windows
USupported on Unix
VSupported on OpenVMS
NSupported in Synergy .NET
.SET set_name, [structure_name][, field_spec, ...]

set_name

The name of the input set (a maximum of 30 characters).

structure_name

(optional) The name of the structure to associate with the set.

field_spec

(optional) The field specification for one or more fields in the set. (See Field specifications for information.)

The .SET command specifies a set of fields to be associated with one another and their order of reference. If you don’t issue a .SET command, a default set will be created that comprises all fields defined in the first structure in the order they are defined. The default set will have the name of the input window.

List fields in the order that you want them processed at runtime. An input set can contain up to 253 input fields. (See I_INPUT, I_DISPLAY, and I_NEXT for more information about the purpose and use of input sets.)

If no structure has been defined (with .REPOSITORY_STRUCTURE or .STRUCTURE), when a .SET command is issued, you must pass the default structure name as structure_name if you want the input set to have any fields. The default structure has the same name as the input window, and will include all the fields defined for the input window.

If you omit structure_name and field_spec, Toolkit creates an empty input set. (If you omit structure_name, you must also omit field_spec.) This is useful if you want a set of buttons that can be placed anywhere in a composite window. See Buttons in composite windows for more information.

If you include structure_name and omit field_spec, all the fields within the specified structure will be used in the order of their definition within that structure. Note the following:

All fields specified in the following example are members of the same structure. All sets are associated with the structure cusinf: setone consists of cusnum and name; settwo consists of cusnum and state; and cusinf consists of cusnum, name, addr1, addr2, city, state, and zip. When a set_name is used, its fields will be processed in the order they appear in the set specification.

.structure cusinf, cusnum, name, addr1, addr2, city, state, zip
.set setone, cusinf, cusnum, name
.set settwo, cusinf, cusnum, state
.set cusinf, cusinf, cusnum, name, addr1, addr2, city, state, zip

All fields in the next example are also members of the same structure, but this structure is defined in a repository (and includes the arrays addresses, city, and state). In this example, the first input set will enable users to modify address[1], city[1], and state[1] but not address[2], city[2], or state[2], which belong to the second input set.

.repository_structure cusmas
.field name
.field address[1]
.field address[2]
.field city[1]
.field city[2]
.field state[1]
.field state[2]
.set shipping, cusmas, name, address[1], city[1], state[1]
.set billing, cusmas, name, address[2], city[2], state[2]