Go to the bottom.
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! SDDL Name:	QGBLIBRARY.SDDL
!
! Purpose:      This file defines the qgblibrary relation.
!
! Modification History:
!
!   Date       OPR      Who                       Reason
! --------   -------    ---   -------------------------------------------------
! 11/08/94    27329     SXT   Original implementation
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
!

LANGUAGE	FORTRAN, SQL

INCLUDE         ZSPSS_USER_TYPES.SDDL

RECORD  QGBLIB_TYPE

!------------------------------------------------------------------------------
!
!   RECORD INFORMATION
!
!------------------------------------------------------------------------------

    DESCRIPTION     
            
	"This relation holds table library information and is generated
	 from the PDB.  A PDB table library is used to load data to the memory 
         of the NSSC-1, DF-224, Co-Processor, and/or SI microcomputers via the 
         SMS.

	 During instruction expansion (in SMS/GEN or INSTRUCT/EXPAND),
	 when an instruction of type 'TBL' (i.e. table) is encountered, the
	 CLP retrieves table library information from this relation and others
	 and outputs the table information into the SMS.  If a table is 
	 misused in an instruction by not using the proper table or parameter 
	 name, error messages will be output to the .CL2 file. The other 
         relations related to this relation include qgformat and qgtableparm.

	 This relation is referenced by command INSTRUCT/CLP in its Pass2 
         process, which is for 'Context Checking'.  One of the purposes of 
	 Context Checking is to check the instructions, parameters, state 
	 groups and global variables defined within the instruction source 
	 against the PDB.

	 IMTOOL (via IMTPZG) reads in the table library file, called PTLD.DAT,
	 from the ST PDB tape and creates an IMTPZA.SQL file of SQL appends and 
	 deletes to update this relation.

	 This is a read-only relation."
                           
!------------------------------------------------------------------------------
!
!   FIELD INFORMATION
!
!------------------------------------------------------------------------------



    FIELD  table_name
        TYPE TABLE_NAME_TYPE
    END_FIELD


    FIELD  param_name
        TYPE            C8
        DESCRIPTION     "This field contains the table parameter name which
			must be unique within a table. A table parameter can be:

                                   a single  parameter
                                   a list    parameter
                                   an array  parameter 
 
			A single parameter contains one value and is either 
			supplied by the instruction or contains a default 
                        value, as defined in this relation below.
			
                        A list parameter is a single parameter that contains 
                        multiple values to be passed in a PDB pre-defined 
			primitive command, command set, data block, or table;
			i.e., they have to be used more restrictively than a 
			single parameter.  If the field qgtableparm.param_list 
			is 'Y', this indicates it *is* a list parameter.  See 
			arg_no field below, which is the argument number in 
			the list. 

			Array parameters are not used currently in the 
			instruction.  If the field qgtableparm.array_indict 
			is 'A' this indicates it *is* an array parameter. See 
			array_elemnt field below."
    END_FIELD
                                                                   

    FIELD  array_elemnt
        TYPE            I4
        DESCRIPTION     "For an array parameter, this is the array index. If 
                        the table parameter is not an array, this field is 
                        set to 1. See param_name field above."
        RELATED_FIELDS  "qgtableparm.array_indict"
    END_FIELD


    FIELD  arg_no
        TYPE            I2
        DESCRIPTION     "For a list parameter, this is the argument number.  
                        This field is set to zero if the table parameter is
                        not a list parameter."
        RELATED_FIELDS  "qgtableparm.param_list"
    END_FIELD


    FIELD  default_val
        TYPE            C16
        DESCRIPTION     "This is the default value of the table parameter.
			 It will be output to the SMS if it is not overridden
			 on the TBL instruction statement."
    END_FIELD

END_RECORD

!------------------------------------------------------------------------------
!
!   RELATION DECLARATION
!
!------------------------------------------------------------------------------

RELATION  qgblibrary

    TYPE             QGBLIB_TYPE

    DESCRIPTION      "Instruction PDB Table Library Relation" 

    SUBSYSTEM_USING  "SPSS", "SCS", "IM"

    RELATED_FIELDS  "qgformat.*" "qgtableparm.*" "qgarray_indx.*" "qgarray_par.*"


    INDEX  qgblibrary_1
        TYPE         unique, clustered
        FIELDS       table_name, param_name, array_elemnt, arg_no
    END_INDEX

END_RELATION

!------------------------------------------------------------------------------
!
!   INSTANCE DECLARATION
!
!------------------------------------------------------------------------------

INSTANCE  qgblibrary

    GLOBAL

    TYPE        QGBLIB_TYPE

END_INSTANCE

Go to the top.