That does not sound right.
NO_MORE_DATA doesn't know or care whether a cursor exists or not; its only purpose is to tell the caller (the datasource API) that no more data exists - whether that is because of a cursor or not is up to the developer.
The execution is supposed to stop at NO_MORE_DATA even in an ideal scenario, so that's fine anyway.
Place a breakpoint exactly one line before the NO_MORE_DATA statement and debug it through RSA3. And when it pauses at that line, check the entries in E_T_DATA.
Message was edited by: Suhas Karnik