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 COBOL—523627-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.










