Business Service Error Handler throwing error SBL-BPR-00162 (Doc ID 539885.1)

Last updated on MARCH 02, 2017

Applies to:

Siebel Tools - Version 7.5.3 SIA [16157] and later
IBM AIX on POWER Systems (64-bit)
Database: IBM DB2/UDB 7.2
Application Server OS: IBM AIX 5L 5.1
Database Server OS: IBM AIX 5L 5.1

This document was previously published as Siebel SR 38-1114463561.
Checked for relevance on 18-Jun-2015.

Symptoms

An error handler to a business service that catches the error and writes it to a log file has been created as follows:

try {
    ....
    TheApplication().RaiseErrorText(nRowId);
    .....
}
catch (e)
{
    var nRowId = Inputs.GetProperty("Row Id");   
    var sText = e.errText;
    var nCode = e.errCode;
    var sMsg = ("For record with Row Id: " + nRowId + " the following error was recieved: ErrorCode " + nCode + " ErrorText: " + sText);
    var tm = Clib.localtime(Clib.time());
    var dateTime = Clib.rsprintf("%02d_%02d_%02d__%02d_%02d_%02d",tm.tm_mday, tm.tm_mon+1, tm.tm_year % 100 ,tm.tm_hour, tm.tm_min, tm.tm_sec);
    var filename = "C:\\Siebel\\" + dateTime + "_" + "BaseBS.log";
    var fp = Clib.fopen(filename , "at");
    Clib.fputs("\n" + sMsg + "\n\f", fp);
    Clib.fclose(fp);

    TheApplication().RaiseErrorText(sMsg + fp);
}


Two issues were observed with this approach:

1) TheApplication().RaiseErrorText() errors out on the Workflow Process Manager. However, without that line of code, the following error is raised instead: "Number: SBL-BPR-00162 with Text: Error invoking service '%2', method '%3' at step '%1'."

2) The code should loop through for the same instance versus writing a new file each time it fails - is this possible?

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms