Description
When using ACX to execute one or more interactions, the execution will be stopped upon the first error. The setErrorAction interaction can be used to alter this behaviour, and return an error using the sqlCode property of the ACX protocol.

Here is an example which you can test using the XML Utility (acxDemo) and the NAVDEMO database, which gets installed with the standard Attunity Server installation:

Make sure the daemon is up and running.
Run the XML Utility and point it to your daemon.
Use the default workspace "Navigator", the "query" Adapter and the query interaction.
Execute the following batch (where nation2 table does not exist in navdemo):
<query id="Query1">
select * from navdemo:nation where n_nationkey=2
</query>
<query id="Query2">
select * from navdemo:nation2
</query>
<query id="Query3">
select * from navdemo:lineitem limit to 2 rows
</query>


When you execute this batch of interactions you will get a pop up error box with the following:


42S02 Base table or view not found
[A00D] Failed to open table NAVDEMO:nation



Soultion
Using the setErrorAction to set the onError property to 'next' will allow the execution to continue, and the sqlCode will contain exception's error message:


<setErrorAction onError="next"/>
<query id="Query1">
select * from navdemo:nation where n_nationkey=2
</query>
<query id="Query2">
select * from navdemo:nation2
</query>
<query id="Query3">
select * from navdemo:lineitem limit to 2 rows
</query>


The output would look like:


<batch>
<recordset id="Query1">
<record n_nationkey="2" n_name="BRAZIL" n_regionkey="1"
n_comment="Nearby" />
</recordset>
<recordset id="Query2" sqlCode="42S02 Base table or view not found" />
<recordset id="Query3">
<record l_orderkey="1" l_partkey="1" l_suppkey="2" l_linenumber="4"
l_quantity="28" l_extendedprice="25228" l_discount="0.09"
l_tax="0.06" l_returnflag="N" l_linestatus="O"
l_shipdate="2001-04-21" l_commitdate="2001-03-30"
l_receiptdate="2001-05-16" l_shipinstruct="NONE" l_shipmode="AIR"
l_comment="Premium Grade" />
<record l_orderkey="1" l_partkey="4" l_suppkey="1" l_linenumber="6"
l_quantity="32" l_extendedprice="28928" l_discount="0.07"
l_tax="0.02" l_returnflag="N" l_linestatus="O"
l_shipdate="2001-01-30" l_commitdate="2001-02-07"
l_receiptdate="2001-02-03" l_shipinstruct="DELIVER IN PERSON"
l_shipmode="MAIL" l_comment="Replacement" />
</recordset>
</batch>