In C and C++ programs, you can define a host structure array that has the dimension attribute. Host structure arrays have a maximum of two levels, even though the array might occur within a multiple-level structure. Another structure is not needed if a varying-length character string or a varying-length graphic string is not used.
In this C example,
struct { _Packed struct{ char c1_var[20]; short c2_var; } b_array[10]; } a_struct;
and in this C++ example,
#pragma pack(1) struct { struct{ char c1_var[20]; short c2_var; } b_array[10]; } a_struct; #pragma pack()
the following are true:
For example, in C you can retrieve 10 rows from the cursor with:
_Packed struct {char first_initial; char middle_initial; _Packed struct {short lastname_len; char lastname_data[15]; } lastname; double total_salary; } employee_rec[10]; struct { short inds[4]; } employee_inds[10]; … EXEC SQL DECLARE C1 CURSOR FOR SELECT SUBSTR(FIRSTNME,1,1), MIDINIT, LASTNAME, SALARY+BONUS+COMM FROM CORPDATA.EMPLOYEE; EXEC SQL OPEN C1; EXEC SQL FETCH C1 FOR 10 ROWS INTO :employee_rec:employee_inds; …