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.