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)










