GROUP

Begin a group definition

GROUP name [REFERENCE structure] [PREFIX prefix] [COMPILE PREFIX] 
[NOCOMPILE PREFIX] [TEMPLATE template] TYPE type [SIZE size] [NOSIZE] 
[STORED store_format] [NODATE] [NOTIME] [USER TYPE "user_type"] [NOUSER TYPE] 
[PRECISION dec_places] [DIMENSION #elements[:#elements ...]] 
[COERCED TYPE type] [NOCOERCED TYPE] [OVERLAY] 
[LANGUAGE VIEW] [LANGUAGE NOVIEW] [SCRIPT VIEW] [SCRIPT NOVIEW] 
[REPORT VIEW] [REPORT NOVIEW] [WEB VIEW] [WEB NOVIEW] [NONAMELINK] 
[DESCRIPTION "description"] [NODESC] [LONG DESCRIPTION "long_desc"] 
[NOLONGDESC] [POSITION [pos_type] row column] [NOPOSITION] 
[FPOSITION [fpos_type] frow fcolumn] [NOFPOSITION] [PROMPT "prompt"] [NOPROMPT] 
[HELP "help"] [NOHELP] [INFO LINE "info_line"] [NOINFO] [USER TEXT "user_text"] 
[NOUSER TEXT] [FORMAT format] [NOFORMAT] [REPORT HEADING "heading"] 
[NOHEADING] [ALTERNATE NAME alt_name] [NOALTERNATE NAME] 
[REPORT JUST just] [INPUT JUST ijust] [BLANKIFZERO] [NOBLANKIFZERO] 
[PAINT "paint_char"] [NOPAINT] [RADIO|CHECKBOX] [NORADIO] [NOCHECKBOX] 
[FONT font] [NOFONT] [PROMPTFONT prompt_font] [NOPROMPTFONT] 
[READONLY] [NOREADONLY] [DISABLED] [NODISABLED | ENABLED] [COLOR palette#] 
[NOCOLOR] [HIGHLIGHT] [NOHIGHLIGHT] [REVERSE] [NOREVERSE] 
[BLINK] [NOBLINK] [UNDERLINE] [NOUNDERLINE] [NOATTRIBUTES] 
[DISPLAY LENGTH length] [NODISPLAY LENGTH] 
[VIEW LENGTH length] [NOVIEW LENGTH] [UPPERCASE] [NOUPPERCASE] 
[NODECIMAL] [DECIMAL_REQUIRED] [NOTERM] [TERM] [RETAIN POSITION] 
[NORETAIN POSITION] [DEFAULT default|COPY|INCREMENT|DECREMENT] 
[NODEFAULT] [AUTOMATIC] [NOAUTOMATIC] [NOECHO] [NOECHOCHR "display_char"] 
[ECHO] [DATE TODAY] [DATE NOTODAY] [DATE SHORT] [DATE NOSHORT] 
[TIME NOW] [TIME NONOW] [TIME AMPM] [TIME NOAMPM] 
[WAIT "time"|WAIT IMMEDIATE|WAIT GLOBAL|WAIT FOREVER] [NOWAIT] 
[INPUT LENGTH length] [NOINPUT LENGTH] [BREAK [break_type]] [NOBREAK] 
[REQUIRED] [NOREQUIRED] [NEGATIVE [ONLY|ORZERO]] [NONEGATIVE] 
[NULL ALLOWED|NULL DEFAULT|NONULL] [ALLOW entry[, ...]] [NOALLOW] 
[MATCH CASE] [MATCH NOCASE] [MATCH EXACT] [MATCH NOEXACT] 
[SELECTION LIST sl_row sl_column sl_height ENTRIES sl_entry[, ...]] 
[SELECTION WINDOW sw_row sw_column sw_name] [NOSELECT] 
[ENUMERATED length base step] [NOENUMERATED] [RANGE min max] [NORANGE] 
[ARRIVE METHOD arrive_meth] [NOARRIVE METHOD] 
[LEAVE METHOD leave_meth] [NOLEAVE METHOD] 
[DRILL METHOD drill_meth] [NODRILL METHOD] 
[HYPERLINK METHOD hyperlink_meth] [NOHYPERLINK METHOD] 
[CHANGE METHOD change_meth] [NOCHANGE METHOD] 
[DISPLAY METHOD display_meth] [NODISPLAY METHOD] 
[EDITFMT METHOD editfmt_meth] [NOEDITFMT METHOD] 

Arguments

See FIELD for a description of the arguments not listed here.

name

The name of a new or existing group (field). This name can have a maximum of 30 characters.

REFERENCE structure

(optional) The name of the structure that defines the members of the group. Indicates that this is an implicit group.

PREFIX prefix

(optional) The prefix added to group member names when accessed by Synergy DBL, UI Toolkit, and xfODBC. This prefix can have a maximum of 30 characters.

COMPILE PREFIX

(optional) Indicates that any group member prefix specified will be added to all group member fields when referenced by the Synergy compiler.

NOCOMPILE PREFIX

(optional) Indicates that any group member prefix specified will not be added to group member fields when referenced by the Synergy compiler. NOCOMPILE PREFIX is the default.

SIZE size

(optional) If SIZE is not specified, the size of the group is determined by the size of its members. The maximum number of characters the group (field) can contain. The maximum size is 99,999 for all fields except implied‑decimal fields, where the maximum size is 28. If the type is date or time, the size must be appropriate for the selected storage format. (See STORED store_format .) For example, the size must be 6 for the format YYMMDD, 8 for the format YYYYMMDD, and so forth.

NOSIZE

(optional) Indicates that the size of the group is unspecified and is determined by the size of its members. NOSIZE must be explicitly specified if the group references a template, and you want to use the size of the group members rather than the template’s size.

OVERLAY

(optional) Defines this group as an overlay to the previous non‑overlay field or group.

Discussion

The GROUP statement describes a group (field) definition. This group will be associated with the most recently defined structure. If no structure has been defined yet, the group is ignored.

Adding new definitions

The order in which you specify group and non‑group fields determines the order in which they will exist in the structure. The maximum number of group and non‑group fields that can be defined in one structure is 999.

Replacing existing definitions

All required keywords and data must be specified. The existing group is deleted and replaced by the specified one. When replacing a group you must respecify its ancestry. In other words, you must first specify any groups to which it belongs (parent, grandparent, and so forth). This is required because group names are only required to be unique within their own level. (Note that when you’re replacing a structure, any group or non‑group fields that are not explicitly specified in the schema are deleted.)

Overlaying existing definitions

Name must be respecified along with the desired attributes. The current group attributes are overwritten with any new attributes specified. When overlaying a group you must respecify its ancestry. In other words, you must first specify any groups to which it belongs (parent, grandparent, and so on). This is required because group names are required to be unique only within their own level. Keep in mind that items such as allow list or selection list entries are specified by a single keyword. Hence, to change one allow list entry, you must respecify all allow list entries.

Examples

STRUCTURE info   DBL ISAM
GROUP customer   TYPE alpha   
   FIELD name   TYPE alpha   SIZE 40
   GROUP office   TYPE alpha   SIZE 70
      FIELD bldg   TYPE alpha   SIZE 20
      GROUP address   TYPE alpha   SIZE 50
         FIELD street   TYPE alpha   SIZE 40
         FIELD zip   TYPE decimal   SIZE 10
      ENDGROUP
   ENDGROUP
   GROUP contact   TYPE alpha   SIZE 90
      FIELD name   TYPE alpha   SIZE 40
      GROUP address   TYPE alpha   SIZE 50
         FIELD street   TYPE alpha   SIZE 40
         FIELD zip   TYPE decimal   SIZE 10
      ENDGROUP
   ENDGROUP
ENDGROUP