Okay, this title may seem odd. But in case you are in Siebel related project fortunately/unfortunately you might have encountered this error.
One of the cases, when i have encountered this error is when I have called a subprocess from a workflow which is having a Begin Transaction step before this sub-process and its corresponding End Transaction is in that subprocess.
I got this error when i have increased the monitoring level of these workflows and due to some exception the subprocess errored out. Sounds interesting, dosn't it.
Reason you can think from this example is since the Begin and End Transaction are complementary process they need to be performed collectively, and hence the error :
Invalid operation when not executed.(SBL-DAT-00471)
Which now might seem pretty much logical.
Recently, We have came across another issue through which we have observed this error :
In a BS script, for defensive coding we wanted to get the field value of a current record only in case the present context was having a record.
So for this we initially put the GetFieldValue in a if block having condition as :
if(this.CountRecords()!=0)
{
}
With this, we were getting the mentioned error in the back end i.e.
Invalid operation when not executed.(SBL-DAT-00471)
So after some time of investigation on this issue. We came to know that CountRecords return an integer indicating the number of records returned by the last ExecuteQuery() call.
So in case there is no ExecuteQuery() performed in the context, you will get this error.
Workaround we put is to use FirstRecord(), and it worked like a charm. :)
Hope this post will be helpful. Keep exploring !!!
No comments:
Post a Comment