SQL/MX Programming Manual for C and COBOL (G06.24+, H06.03+)

C/C++ Program Compilation
HP NonStop SQL/MX Programming Manual for C and COBOL523627-004
15-29
Compiling Embedded Module Definitions
-d compiler-attribute-name=compiler-attribute-value
specifies default attribute settings for compilation and existing settings for the
module name. The module name settings are:
modulecatalog=cat
moduleschema=sch
modulegroup=grp
moduletableset=tgt
moduleversion=ver
The -d modulecatalog, moduleschema, modulegroup,
moduletableset, and moduleversion options are similar to the mxsqlc -g
modulecatalog, moduleschema, modulegroup, moduletableset, and
moduleversion options because you use them to externally qualify simple
module names. These options are not CONTROL QUERY DEFAULT settings
(however, all other -d attr=value pairs are). In addition, there is no default
value for -d modulecatalog or -d moduleschema.
The module name settings must match the module management options you
specified during preprocessing. See Running the SQL/MX C/C++ Preprocessor on
page 15-8.
The default attribute settings for compilation override settings in the
SYSTEM_DEFAULTS table but do not override the object name qualification or the
settings of embedded CONTROL QUERY DEFAULT, DECLARE, or SET
statements, which are in the input source file. For more information, see the
SYSTEM_DEFAULTS table in the SQL/MX Reference Manual.
The OSS shell is used to invoke mxCompileUserModule, which in turn uses the
OSS shell to invoke mxcmp. Consequently, you must adjust the syntax for setting
CONTROL QUERY DEFAULT attribute values for MP_SYSTEM and
MP_VOLUME. The OSS shell performs command/parameter substitution and
allows a \ (backslash) to quote special characters such as $.
This example shows how to set MP_SYSTEM and MP_VOLUME as
mxCompileUserModule command-line options:
to get MP_SYSTEM=\KINGPIN --> use -d MP_SYSTEM=\\\\KINGPIN
to get MP_VOLUME=$TX012 --> use -d MP_VOLUME=\\\$TX012
application-file
is the OSS path name of an object file that contains embedded module definitions.
The OSS directory:
Must exist and be accessible. Otherwise, an error is returned, and no module
is created.
Must not specify a Guardian subvolume (/G/...) or a remote directory in an
Expand network (/E/...).
Must not exceed 1024 characters.