FirstSelected method causes No row is currently active BusComp error in Open UI when there is no record (Doc ID 1615392.1)

Last updated on MARCH 02, 2017

Applies to:

Siebel CRM - Version 8.2.2.3 SIA [23021] and later
Information in this document applies to any platform.
Reviewed 24/08/2015

Symptoms

On : 8.2.2.3 SIA [23021] version, Siebel VB / eScript / COM

A custom merge functionality is developed to merge contact records in our application. This is invoked on a button click. This button invokes a business service using business component named method. This functionality works absolutely fine in Siebel 8.2.2.3 HI application. However, when the same functionality is executed in Siebel Open UI 8.2.2.3 the below mentioned error occurs.

ERROR
-----------------------
No row is currently active in the buscomp.


STEPS
-----------------------
The issue can be reproduced at will with the following steps:
1. Create a business service named "ATestBS" and method named "NoRow" with the following script in Service_PreInvokeMethod event.

try
{
 switch(MethodName)
 {
  case "NoRow":
      var BO = TheApplication().ActiveBusObject();
      var BC = BO.GetBusComp("Contact");
      var FD = BC.FirstSelected();
      TheApplication().RaiseErrorText("Yes?");
      return (CancelOperation);
      break;

  default:
      return (ContinueOperation);
      break;

   }
}

catch(e)
{
  throw e;
}
}
2. Add a button on "Contact Form Applet" with the "Method Invoked" property set to "Test".

3. Enable the button via Applet User Prop:
Name: CanInvokeMethod: Test
Value: TRUE

4. Add the following business component user prop in "Contact" business component:
Name: Named Method 6
Value: "Test", "INVOKESVC", "Contact", "ATestBS", "NoRow"

5. Compile the changes.
6. Login to Siebel application running in Open UI mode.
7. Go to Contacts > Contact List. Drill down into the first record.
8. Go to "Income". Make sure that there is no record.
9. Click on "Test" button on the Contact Form Applet. You will get the "No row is currently active BusComp." message
10. Add a record in the income applet. The message raised by the "RaiseErrorText" statement is shown correctly.

BUSINESS IMPACT
-----------------------
Not provided.

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