Version 4.2.6 for Mainframes
 —  Statements  —

Defining NaturalX Objects

General syntax of DEFINE DATA OBJECT:

../graphics/sbo3.gif

  OBJECT

../graphics/cbo3.gif

USING

../graphics/cbo2.gif

local-data-area

../graphics/cbc2.gif

../graphics/cbc3.gif

../graphics/sbc3.gif

../graphics/dot3.gif

parameter-data-area
data-definition../graphics/dot3.gif

This document covers the following topics:

For an explanation of the symbols used in the syntax diagram, see Syntax Symbols.


Function

The DEFINE DATA OBJECT statement is used in a subprogram or class in conjunction with NaturalX. For further information, refer to the section NaturalX in the Programming Guide.

Top of page

Syntax Description

USING local-data-area A local data area (LDA) contains data elements which are to be used in a single Natural module. You may reference more than one data area; in that case you have to repeat the reserved words OBJECT and USING, for example:
DEFINE DATA
  OBJECT USING DATX_L
  OBJECT USING DATX_P

  ...
END-DEFINE ;
For further information, see also Defining Fields in a Separate Data Area in the Programming Guide.
USING parameter-data-area A data area defined with DEFINE DATA OBJECT may be a parameter data area (PDA). By using a PDA as an object data area you can avoid the extra effort of creating an object data area that has the same structure as the PDA.
data-definition Data can also be defined directly using the syntax shown in the section Direct Data Definition below.
END-DEFINE The Natural reserved word END-DEFINE must be used to end the DEFINE DATA statement.

Direct Data Definition

Data can also be defined directly using the following syntax:

level

group-name [(array-definition)]

variable-definition
view-definition
redefinition
handle-definition

For further information, see also Defining Fields within a DEFINE DATA Statement in the Programming Guide.

level

Level number is a 1- or 2-digit number in the range from 01 to 99 (the leading zero is optional) used in conjunction with field grouping. Fields assigned a level number of 02 or greater are considered to be a part of the immediately preceding group which has been assigned a lower level number.

The definition of a group enables reference to a series of fields (may also be only 1 field) by using the group name. With certain statements (CALL, CALLNAT, RESET, WRITE, etc.), you may specify the group name as a shortcut to reference the fields contained in the group.

A group may consist of other groups. When assigning the level numbers for a group, no level numbers may be skipped.

A view-definition must always be defined at Level 1.

group-name The name of a group. The name must adhere to the rules for defining a Natural variable name. See also the following sections:
array-definition With an array-definition, you define the lower and upper bounds of dimensions in an array-definition. See Array Dimension Definition.
variable-definition A variable-definition is used to define a single field/variable that may be single-valued (scalar) or multi-valued (array). See Variable Definition.
view-definition A view-definition is used to define a view as derived from a data definition module (DDM). See View Definition.
redefinition A redefinition may be used to redefine a group, a view, a DDM field or a single field/variable (that is a scalar or an array). See Redefinition.
handle-definition A handle identifies a dialog element in code and is stored in handle variables. See Handle Definition.

Top of page