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

COBOL Program Compilation
HP NonStop SQL/MX Programming Manual for C and COBOL544617-003
16-43
Combining Embedded Module Definitions and
Module Definition Files
required CLI procedure definitions to create an executable file named
sqlprog.exe:
eld -lzcobdll -lzcredll -lzclidll sqlprog1.o sqlprog2.o \
-o sqlprog.exe
nld -lzcobsrl -lzcresrl -lzclisrl sqlprog1.o sqlprog2.o \
-o sqlprog.exe
For more information on eld, see the eld Manual. For more information on nld,
see the nld Manual.
Combining Embedded Module Definitions and
Module Definition Files
Suppose that you have a set of SQL COBOL utility routines that were developed with
module definition files. The object code is in sqlutil.o. To build, statically link in
sqlutil.o, and deploy a new application sqlapp.exe on OSS:
1. Create the COBOL source file (for example, sqlapp.ecbl) that contains
embedded SQL/MX statements:
* sqlapp.ecbl
?CONSULT sqlutil.o
IDENTIFICATION DIVISION.
PROGRAM-ID. sqlapp.
DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL DECLARE SCHEMA 'cat.sch' END-EXEC.
EXEC SQL MODULE sqlappmod END-EXEC.
...
PROCEDURE DIVISION.
...
EXEC SQL DECLARE get_by_partnum CURSOR FOR
SELECT partnum, partdesc, price, qty_available
FROM =parts
WHERE partnum >= :in_partnum
FOR UPDATE OF partdesc, price, qty_available;
...
2. Set up class MAP DEFINEs in the OSS environment by using add_define:
add_define =parts class=map \
file=\\bert.\$samdb.sales.parts
3. Run the SQL/MX COBOL preprocessor, COBOL compiler, native linker, and
SQL/MX compiler in one command:
ecobol -Wsqlmx -WmoduleSchema=cobcat.cobsch -Wmxcmp \
-Wmxcmp_querydefault="AUTOMATIC_RECOMPILATION=ON,\