HELP
An object that outputs a constant of the
Record data type.

USE
Use the Record Constant object to define and
build a Record constant, or to interactively
edit an existing record or array of records.

The following control input pins may be
added:

* Default Value -- This control pin allows
you to set the entire record to an initial
"value," which is actually an entire record.
That is, all fields in the record are set to
the values from the record connected as the
"default value."

* Reset -- This control pin "zeros" out all
the data in the record.

LOCATION
Data ==> Constant ==> Record

OPEN VIEW PARAMETERS
In the open view there is a Field name button
and a Value button (or type-in field) for
every field in the record.  (By default, the
Field name buttons A and B correspond to the
Value fields "Text field" and "1.25",
respectively.)  If the record is an Array 1D
(that is, Array Elements is non-zero), there
is an additional field in the open view for
the index into the array (0, 1, etc.)  To
step through the array values, First, Prev,
Next, and Last buttons are provided.

* Field name -- A button that, when pressed,
pops up a dialog box that allows the user to
re-name the record field, and change its type
and shape.  An error will occur if you
attempt to rename a field to an existing
field name.  Field names are not case
sensitive (lowercase and uppercase letters
are equivalent).  When changing the data
type, HP VEE will attempt to coerce the data
into the new data type, subject to the
existing rules about data type coercion.
Refer to the section "Converting Data Types
on Input Terminals" in chapter 3 of Using HP
VEE.

* Value -- Allows you to edit the values in
the field.  If the field is a scalar
container of a data type other than Enum,
Value is a type-in field.  That is, you can
click on the field and type in the desired
value.  If the field is an Enum or Array 1D
container, the Value field is a button, which
brings up a dialog box to allow you to select
the values.  If the field is an array of two
or more dimensions, the values may not be
edited.

OBJECT MENU
* Config -- Sets the record size through a
dialog box.  A value of 0 for Array Elements
sets the container to a scalar.  Otherwise
the container is an array of the length
given.  You can fix the size of the record
(so the user can't change it) by checking
Size fixed?, and you can fix the format
("schema") of the record by checking Schema
fixed?.  Note that only Scalar and Array 1D
records are allowed.

* Number Formats -- Sets the number format of
a numeric field.  A different number format
can be applied to each numeric record field.
A dialog box prompts you to select a numeric
field, and a second dialog box allows you to
set the number format for that field.

* Add Record -- Adds a record at the end of
the record array.  The new record is a copy
of the last record in the array.  (This menu
selection is not active for record scalars.)

* Insert Record -- Inserts a record at the
position in the record array that you are
currently viewing.  The new record is a copy
of the record that you were viewing.  (This
menu selection is not active for record
scalars.)

* Delete Record -- Deletes the record that
you are currently viewing from the array.
(This menu selection is not active for record
scalars.  Also, for record arrays, the
selection is active only if there is more
than one record in the array.)

* Add Field -- Adds a new field to the record
at the end of the field list.  A dialog box
will allow you to define the name, type, and
shape of the new field.

* Insert Field -- Inserts a new field to the
record at the position above the current edit
position in the array.  A dialog box will
allow you to define the name, type, and shape
of the new field.

* Delete Field -- Allows you to delete record
fields.  A dialog box will list the available
fields to delete.  This selection is
available only if the record has more than
one field.

NOTES
Two control pins may be added to the Record
Constant object:  Reset and Default Value.

The Reset pin "zeros out" all fields in
the record.  Numeric fields become zero and
Text fields become null strings.

The Default Value pin is useful for
editing large record arrays (for example, a
record array "pulled in" with the From
DataSet object).  Just send the record array
into the Default Value pin to set the initial
value for the Record Constant.  You can then
view and interactively edit the entire
record.  The data values may be changed, and
also the type, shape, and mappings of the
fields may be changed (unless the field is
itself a record).  Once you have edited the
record, it can be output to a new dataset or
file (using To DataSet or To File).  The
Record Constant object does not allow you to
edit a field that is itself a record -- it
will only allow you to view the field and its
data.

Note that the Record Constant object does
not allow you to create a record of records.
That is, the Record Constant does not allow
you to add a field that is a record.
However, all other HP VEE record devices
(such as Build Record and Set Field) do allow
this.  Recursion is allowed up to the limit
of available user memory.  That is, a record
may have a field that is a record, which has
a record field within it, and so forth.  The
shape of a record container may only be
either a scalar or a one-dimensional array.

SEE ALSO
Build Record, From DataSet, Merge Record, Set
Field, To DataSet, and UnBuild Record.
