Specifically how to check for an error.
I am currently using Servoy v4.1.3 i6 and here is an example of what I mean...
- Code: Select all
var ssid = arguments[0];
var appuser = arguments[1];
var server = globals.security_current_database_server;
var args = new Array();
args[0] = ssid;
args[1] = bizlogic_get_next_sequence('k_seis_set_id_seq');
args[2] = appuser;
var typesArray = new Array();
typesArray[0] = 0;
typesArray[1] = 0;
typesArray[2] = 0;
application.output("about to call clone with: "+args[0]+" and "+args[1]+" and "+args[2]);
var func_declaration = '{call seismic_util.cloneLine(?,?,?)}';
var ds = databaseManager.executeStoredProcedure(server, func_declaration, args, typesArray, 0);
if ( ds.getExceptionMsg() )
{
var lv_error = "";
lv_error += "Error encountered in bizlogic_cloneLine()\n";
lv_error += "Please contact KTI with the following information\n";
lv_error += "Error: " + ds.getExceptionMsg();
forms.graphics_template_dialog.setup_dialog('globals.graphics_fatal_error_handler','Database Error',lv_error,'Ok');
return null;
}
I purposely set the stored procedure to raise an error (i.e. ORA-20000) but interrogating getExceptionMsg() from ds returns nothing.
However, if I look at the value contained within ds it contains the error message.
If the stored procedure works fine the value of ds is 'BufferedDataSet'.
I'm confused how to check for an error here - can anyone offer any advice ?
Thanks in advance
Mark