This example passes varying length character values to the host variables declared for the statement and session variables in an ANY COMPLETION INTO clause:
EXEC SQL WAIT ANY COMPLETION INTO :STMTNAMV, :CONNAMEV;
Lines generated by C Preprocessor2:
{
static struct {
char sqldaid[8];
SQLInt32 sqldabc;
short sqln;
short sqld;
struct {
short sqltype;
short sqllen;
char *sqldata;
char *sqlind;
struct {
short length;
char data[30];
} sqlname;
} sqlvar[2];
} Sql_DA020_StructO =
{'S','Q','L','D','A',' ',' ',' ',104,2,2,{{448,30,0,0,{0,{' '}}}
,{448,30,0,0,{0,{' '}}}}};
Sql_DA020_StructO.sqlvar[0].sqldata = (char *)(&STMTNAMV);
Sql_DA020_StructO.sqlvar[1].sqldata = (char *)(&CONNAMEV);
{
static struct {
SQLInt32 RdtCType;
SQLInt16 RdtVersn;
SQLInt16 RdtDec;
char RdtUserid[8];
SQLInt32 RdtEntty;
char *RdtCA;
char *RdtDAIn;
char *RdtDAOut;
char *RdtSql;
char *RdtRtCon;
SQLInt32 RdtAux1;
SQLInt32 RdtAux2;
char RdtLCS;
char RdtComit;
char RdtRelse;
char RdtExt;
char RdtSepBT;
char RdtUCStm;
char RdtCmpat;
char RdtComp;
SQLInt16 RdtXTotL;
char RdtXFill[2];
struct {
SQLInt16 RdtXLen;
SQLInt16 RdtXType;
SQLInt32 RdtXCode;
} RdtX005;
} RDTIN020 =
{470,10,0,{' '},0,0,0,0,0,0,2,0,'N','B','N','Y','N','N',
' ','C',12,{' '},{8,5,255}};
RDTIN020.RdtDAOut = (char *)(&Sql_DA020_StructO);
RDTIN020.RdtCA = (char *)(&sqlca);
RDTIN020.RdtRtCon = SQL_RDTRTCON;
TDARDI(&RDTIN020);
SQL_RDTRTCON = RDTIN020.RdtRtCon;
}
}