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

Host Variables in COBOL Programs
HP NonStop SQL/MX Programming Manual for C and COBOL523627-004
4-30
Character Set Examples
Character Set Examples
This set of examples shows methods for selecting, fetching, and inserting data using
different character sets. The examples are based on this table:
CREATE TABLE STAFF_UC
(EMPNUM CHAR(3) character set ucs2 NOT NULL UNIQUE,
EMPNAME NCHAR VARYING(20),
GRADE DECIMAL(4),
CITY VARCHAR(15) character set ucs2);
Example 4-4. INVOKE Example
EXEC SQL BEGIN DECLARE SECTION END-EXEC.
EXEC SQL
INVOKE sales.odetail AS ODETAIL-REC SUFFIX -I
END-EXEC.
* Record Description ************************************
* 01 ODETAIL-REC.
* 02 ORDERNUM PIC 9(6) COMP.
* 02 PARTNUM PIC 9(4) COMP.
* 02 UNIT-PRICE-I PIC S9(4) COMP.
* 02 UNIT-PRICE PIC S9(6)V9(2) COMP.
* 02 QTY-ORDERED-I PIC S9(4) COMP.
* 02 QTY-ORDERED PIC 9(5) COMP.
...
EXEC SQL END DECLARE SECTION END-EXEC.
PROCEDURE DIVISION.
...
* Initialize the host variables in the WHERE clause.
...
EXEC SQL
SELECT ordernum, partnum, unit_price, qty_ordered
INTO :ORDERNUM OF ODETAIL-REC,
:PARTNUM OF ODETAIL-REC,
:UNIT-PRICE OF ODETAIL-REC
INDICATOR :UNIT-PRICE-I OF ODETAIL-REC,
:QTY-ORDERED OF ODETAIL-REC
INDICATOR :QTY-ORDERED-I OF ODETAIL-REC
FROM sales.odetail
WHERE ordernum = :IN-ORDERNUM AND partnum = :IN-PARTNUM
END-EXEC.
...
IF (UNIT-PRICE-I OF ODETAIL-REC < 0)
OR (QTY-ORDERED-I OF ODETAIL-REC < 0)
PERFORM 05000-HANDLE-NULL
ELSE PERFORM 0300-DISPLAY-RESULT.
...
COBOL