Hi Mike,
It appears there is something strange in the handling. I would think no matter the setting of IgnoreErrorsIfRSPending=0 or 1 the sev 10 or less would still be treated as warnings.
But looks like all messages are treated as Exceptions? I think this warrants further investigation and if possible create an SAP support incident so we can take it into engineering. When I run this under a ctlib test app I have that prints details about the messages I see 2 sev 10 and one 16. So 16 should throw exception but not the 10's (unless I am mistaken). I can try something similar in jConnect app to see what it will throw.
ct_results : retcode : SUCCEED
TYPE: CMD_SUCCEED
non row result set, no rows here.
ct_results : retcode : SUCCEED
TYPE: CMD_DONE
ct_results : retcode : END_RESULTS
1> aproc
2> do
Server message 0, Severity 10, State 1
Server 'syb157sp122' Procedure 'aproc' Line 4
Starting
Server message 512, Severity 16, State 5
Server 'syb157sp122' Procedure 'aproc' Line 6
Subquery returned more than 1 value. This is illegal when the subquery follows =, !=, <, <= , >, >=, or when the subquery is used as an expression.
Server message 3621, Severity 10, State 0
Server 'syb157sp122' Procedure 'aproc' Line 6
Command has been aborted.
ct_results : retcode : SUCCEED
TYPE: ROW_RESULT
----------Row 1----------
id : 1
ct_results : retcode : SUCCEED
TYPE: CMD_DONE
(1 rows affected)
ct_results : retcode : SUCCEED
TYPE: STATUS_RESULT
----------Row 1----------
Return Status : -6
ct_results : retcode : SUCCEED
TYPE: CMD_SUCCEED
non row result set, no rows here.
ct_results : retcode : SUCCEED
TYPE: CMD_DONE
ct_results : retcode : END_RESULTS
From a jdbc app - IsqlApp.class, I don't think warning handler is built in and the only thing I get out of it:
Unexpected exception : SqlState: 21000 java.sql.SQLException: Subquery returned more than 1 value. This is illegal when the subquery follows =, !=, <, <= , >, >=, or when the subquery is used as an expression.
, ErrorCode: 512
This I expect. I thought IgnoreErrorsIfRSPending would skip the errors to continue processing results so there is something here that seems odd.
Cheers,
-Paul