Go to the bottom.
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! SDDL Name: ZQGARRAY_INDX.SDDL
!
! Purpose: This file defines the array index parameter relation.
!
! Modification History:
!
! Date PR Who Reason
! -------- ------- --- -------------------------------------------------
! 11/14/94 27329 SXT Original implementation
! 05/08/98 36870 MRB Add C output
! 03/12/99 38555 MRB Remove instruction versions (version_num field)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
LANGUAGE C, FORTRAN, SQL
INCLUDE ZSPSS_USER_TYPES.SDDL
RECORD QGAIDX_TYPE
!------------------------------------------------------------------------------
!
! RECORD INFORMATION
!
!------------------------------------------------------------------------------
DESCRIPTION
"In this relation, both array indices and values may be specified.
The indices may be specified as variables and may identify a single array
element or a range of array elements.
Array parameters can be used as table parameters when the instruction
type is table. They are not currently used by SOGS.
When array parameters are specified for a table, INSTRUCT/EXPAND or
SMSG/GEN calls a special routine(QXUBTB) to resolve the table array
parameter values so the table may be written to the Logical SMS later.
For an array parameter, in addition to the parameter name and value,
the index value is required to uniquely identify the array element. Two
relations are provided for this task. The first is relation QGARRAY_PAR
and the second is this relation QGARRAY_INDX.
This relation is populated with table array parameters in Pass3
of command INSTRUCT/CLP. This is during the process of storing component
parameter values for an instruction."
!------------------------------------------------------------------------------
!
! FIELD INFORMATION
!
!------------------------------------------------------------------------------
FIELD instr_name
TYPE INSTRUCTION_NAME_TYPE
DESCRIPTION "This field holds the name of the instruction to which
the array data applies."
END_FIELD
FIELD param_name
TYPE C8
DESCRIPTION "This field holds the name of the parameter of the
component for which its array element is defined here."
END_FIELD
FIELD comp_seq
TYPE I4
DESCRIPTION "This field is the component sequence number to which
this array element belongs. A component is defined as a
statement of SCPL instruction. A component of a defined
instruction is accessed by instruction name and
component sequence number."
END_FIELD
FIELD order_no
TYPE I4
DESCRIPTION "This field holds the order number, which is the index
for a component parameter since each component may have
more than one parameter."
END_FIELD
FIELD arg_no
TYPE I2
DESCRIPTION "This field contains the argument number for a list
parameter. A list parameter is a single parameter that
contains a list of one or more values to be passed
into a PDB-defined primitive command, data block or
table. If this is a list parameter, this field contains
the number of the argument within the list.
The various values of a list parameter are stored in
this relation with the same parameter name and order
number, but a different argument number. The argument
number indicates the position of the value within the
list.
This field is set to zero if this is not a list
parameter."
END_FIELD
FIELD array_index
TYPE C34
DESCRIPTION "This field holds the array index value. For an array
parameter, in addition to the parameter name and value,
the index value is required to uniquely identify the
array element.
The index for a table array parameter has the following
three forms:
- The first form is the specification of a particular
element. If the element is part of a multi-
dimensional array, then the index for each dimension
must be separated by a colon. The index specification
may be either a literal integer or a parameter or
variable with an integer value.
- The second form is a range specification. Specifying
an integer value followed by a dash and another
integer value, has the effect of assigning arguments
to all elements between and including the elements
specified.
- The third form is the slash. The slash effectively
says that this element follows the previously
specified element."
END_FIELD
FIELD param_value
TYPE C32
DESCRIPTION "This field contains the value of this array parameter,
which is the value to be assigned to array elements by
the expander."
END_FIELD
END_RECORD
!------------------------------------------------------------------------------
!
! RELATION DECLARATION
!
!------------------------------------------------------------------------------
RELATION qgarray_indx
TYPE QGAIDX_TYPE
DESCRIPTION "Array Index Parameter Relation"
SUBSYSTEM_USING "SPSS", "SCS", "IM"
RELATED_FIELDS "qgarray_par.*"
INDEX qgarray_indx_1
TYPE unique, clustered
FIELDS instr_name, comp_seq, param_name, order_no,
arg_no
END_INDEX
END_RELATION
!------------------------------------------------------------------------------
!
! INSTANCE DECLARATION
!
!------------------------------------------------------------------------------
INSTANCE qgarray_indx
GLOBAL
TYPE QGAIDX_TYPE
END_INSTANCE
Go to the top.