SQL/MX Programming Manual for C and COBOL (G06.24+, H06.03+)
COBOL Sample Programs
HP NonStop SQL/MX Programming Manual for C and COBOL—523627-004
C-11
Using SQL Descriptor Areas in Dynamic SQL
* Execute the prepared statement using the SQL descriptor areas.
EXEC SQL
EXECUTE sqlstmt
USING SQL DESCRIPTOR 'in_sqlda'
INTO SQL DESCRIPTOR 'out_sqlda'
END-EXEC.
* Get the count of the number of output values.
EXEC SQL
GET DESCRIPTOR 'out_sqlda' :hv-num = COUNT
END-EXEC.
* Get the i-th output value in NAME field and save it.
PERFORM VARYING i FROM 1 BY 1 UNTIL i > hv-num
MOVE SPACES TO sqlda-name
EXEC SQL
GET DESCRIPTOR 'out_sqlda' VALUE :i
:sqlda-name = NAME
END-EXEC.
IF sqlda-name = "EMPNUM"
EXEC SQL
GET DESCRIPTOR 'out_sqlda' VALUE :i
:hv-empnum = VARIABLE_DATA
END-EXEC.
DISPLAY "Empnum is: " hv-empnum
ELSE
IF sqlda-name = "FIRST_NAME"
EXEC SQL
GET DESCRIPTOR 'out_sqlda' VALUE :i
:hv-first-name = VARIABLE_DATA
END-EXEC.
DISPLAY "First name is: " hv-first-name
ELSE
IF sqlda-name = "LAST_NAME"
EXEC SQL
GET DESCRIPTOR 'out_sqlda' VALUE :i
:hv-last-name = VARIABLE_DATA
END-EXEC.
DISPLAY "Last name is: " hv-last-name
ELSE
IF sqlda-name = "DEPTNUM"
EXEC SQL
GET DESCRIPTOR 'out_sqlda' VALUE :i
:hv-deptnum = VARIABLE_DATA
END-EXEC.
DISPLAY "Department is: " hv-deptnum
ELSE
IF sqlda-name = "JOBCODE"
EXEC SQL
GET DESCRIPTOR 'out_sqlda' VALUE :i
:hv-jobcode = VARIABLE_DATA
END-EXEC.
DISPLAY "Jobcode is: " hv-jobcode
Example C-4. Using Descriptor Areas With DESCRIBE (page 3 of 4)