| icQueryName | input | character | |
| icPrepare | input | character | For each statement for reading the data, excluding the no-lock option (this is implied automatically), excluding break by (not allowed, only normal by is allowed). |
| icTables | input | character | Comma seperated list of all database tables in the for each statement. |
| ihDestinationBuffer | input | handle | Handle to the temp-table that will receive the data. |
| icLastRowid | input | character | Comma seperated list of database record rowids of last record in previous ReadQuery call, contains one rowid for each table in input parameter icTables. Is empty for first call. |
| iiLastRownum | input | integer | |
| iiMaxNumber | input | integer | Maximum number of records (in the temp-table) to retrieve. Zero if the amount is unlimited. A negative value if exactly one record must be loaded (the record with rowid found in icLastRowid). Remark: if value is +1, also one record will be returned, but this will be the record following record found with icLastRowid. |
| icFieldConvert | input | character | Contains the information to know in which temp-table field the database field must be loaded (as opposed to class temp-tables, the field name will be different). Format: '<buffer>.<db-field-1>,<tt-field-1>|<buffer>.<db-field-2>,<tt-field-2>|...' |
| icCustomFields | input | character | |
| ilDistinct | input | logical | Load only distinct values ? |
| ilForwardRead | input | logical | Indicates query should read forward. |
| olEof | output | logical | When iiMaxNumber > 0, this parameter will be true when the last record of the query is included in the result set, or when no record was found at all. When iiMaxNumber <= 0, this parameter will be only true when no record was found at all. |
| oiReturnStatus | output | integer |