Open Client handles result sets in a different way than some other SQL Anywhere interfaces.
In embedded SQL and ODBC, you describe a query or stored procedure to set up the proper number and types of variables to receive the results. The description is done on the statement itself.
In Open Client, you do not need to describe a statement. Instead, each row returned from the server can carry a description of its contents. If you use ct_command and ct_send to execute statements, you can use the ct_results function to handle all aspects of rows returned in queries.
If you do not want to use this row-by-row method of handling result sets, you can use ct_dynamic to prepare a SQL statement and use ct_describe to describe its result set. This corresponds more closely to the describing of SQL statements in other interfaces.