HELPLIB.HLB  —  SQLMOD72  Arguments  LANGUAGE
    A keyword that specifies the name of the host language in which
    the program is written. This program calls the procedures in
    the module. Specify GENERAL for languages that do not have a
    corresponding keyword in the LANGUAGE clause.

    The language identifier determines:

    o  The kinds of data types that the SQL module processor
       considers valid in the module's formal parameter declarations.
       If a language does not support a data type equivalent to
       some SQL data type, the SQL module processor generates a
       warning message when it encounters the data type in a formal
       parameter. (A formal parameter is the name in an SQL module
       procedure declaration that represents the corresponding
       actual parameter in a host language call to the SQL module
       procedure.)

       For example, SQL supports the BIGINT data type, but PL/I does
       not. The module processor generates a warning message when
       it encounters a BIGINT formal parameter in an SQL module that
       specifies the PL/I language in the LANGUAGE section.

    o  The default mechanism for passing parameters to and from a
       host language source file. Parameters are always passed by the
       default passing mechanism for the language specified in the
       language clause. The following table shows those defaults.

    Table 3 Default Passing Mechanism for Host Languages to SQL
            Modules

    Language   Passing Mechanism

    Ada        By reference
    BASIC      CHAR by descriptor; all others by reference
    C          By reference
    COBOL      By reference
    FORTRAN    CHAR, SQLCA, SQLDA by descriptor; all others by
               reference
    Pascal     By reference
    PL/I       By reference
    GENERAL    By reference

    o  The default data type that SQL expects for certain actual
       parameters.

       In COBOL, for example, if a DOUBLE PRECISION formal parameter
       is declared in an SQL module procedure, the procedure expects
       the parameter to be passed from the calling module as D_FLOAT
       rather than G_FLOAT because COBOL does not support G_FLOAT.
       Similarly, in C, if a CHAR(n)  formal parameter is declared in
       an SQL module procedure, the procedure expects the parameter
       to be passed from the calling module as an ASCIZ string with a
       length of (n+1).
Close Help