Search This Blog

SBL-BPR-00101: No Primary Row found in '%1' for Siebel Operation.

Applies to:

Siebel Workflow - Version: 7.7.2 [18325] to 8.1.1 [21112] - Release: V7 to V8
z*OBSOLETE: Microsoft Windows Server 2003
Product Release: V7 (Professional)
Version: 7.7.2 [18325] FRA
Database: IBM DB2 8.1 FixPack 8
Application Server OS: Microsoft Windows 2003 Server SP1
Database Server OS: IBM AIX 5L 5.2

This document was previously published as Siebel SR 38-2615867841.

Symptoms

We have this business requirement:

When a user click on a specific detail view for a specific account, we want to create a record in a new table that will contain the following:

The User
The name of the view
The row id of the account

It must be done without scripting.

We deicided to create a new table (CX_APPL_TRACE) first with a new corresponding BC (FCDQ Trace). We added the "FCDQ Trace" BC in the Account BO (witout link).

We have a simple workflow based on Account BO that has 3 steps: Start, Siebel operation and End. It is triggered by a runtime event: Object type-Application, Event-ViewActivated, SubEvent-<Name of the view>.

The Siebel operation is Insert and based on the "FCDQ Trace" BC.

The run-time event is triggered but the workflow crashes when it tries to write the record in the Siebel operation Step.

In this step we want to feed the "account id" in one of the field of the "FCDQ Trace" BC.

We used 2 different solutions for this field in the Siebel Operation Step:
1) Type-Process Property and Property name-Object Id in the SIebel operation step without success. It seems that the process property is not feeded.
2) We also tried to set a profile attribute with the Id field using an additional action defined in the run-time event combined with the Type-expression and Value-GetProfileAttr("FCDQReadAuditId") in the Siebel operation step without success.

In summary, it seems that the context of the account is not known by the system when the runtime event "Object type-Application, Event-ViewActivated" is triggered.

Is there a way to get the account row_id in a workflow based on account BO and pass it to the Siebel operation step based on an other BC (no link)?

Cause

The customer determined that he couldn't use the process property "object id" in the siebel operation step when the workflow is called by the runtime event because the context of the account is already lost (SBL-BPR-00101).

Solution

To make it work they scripted the following event in the Account BC:

function BusComp_ChangeRecord ()
{
var strId = this.GetFieldValue("Id");
TheApplication().SetProfileAttr("FCDQAccountId",strId);
}

In the siebel operation step of the workflow, use this expression to feed the account id field :

GetProfileAttr("FCDQAccountId")



Applies to:

Siebel Workflow - Version: 8.1 [21039] and later   [Release: V8 and later ]
Information in this document applies to any platform.
Release(s):V7 (Professional), V6 (Siebel 2000-Enterprise), V7 (Enterprise), V8 (Enterprise),
Database(s):All Supported Databases
App Server OS(s):All Supported Platforms
Latest release tested against:V8 (Enterprise)
Keywords:Primary Row Found, Primary Id, Operation

This document was previously published as Siebel FAQ 1788.

Goal

What does “No Primary Row Found...” Error in Workflow Process or Workflow Monitor Agent Log or Workflow Process Simulator Convey and How can Users Troubleshoot this Error?.

Solution

Errors similar to the following are either reported in the Workflow Process Simulator or in the Workflow Process Manager (WfProcMgr) or Workflow Monitor Agent (WorkMon) log, during workflow process execution:
 
SBL-BPR-00101: No Primary Row found in '%1' for Siebel Operation.
 
OR
 
SBL-BPR-00120: Cannot get value of the business component field '%2' at step '%1'
 
SBL-BPR-00169: Row '%1' does not exist in business component '%2'.
 
And may or may not be followed by:
 
SBL-BPR-00100: Error processing Siebel Operation for:
Business Object '%1'
Business Component '%2'
Primary Id '%3'
Operation '%4'
 
The error message “No Primary Row found...” is very generic. This usually indicates that the ROW_ID being passed to the workflow process could not be found in the primary business component for the business object which the workflow process uses.
 
Workflow Processes uses object layer logic and configuration. Thus, it abides by how the business object and business components are configured through Siebel Tools.
 
Following are some suggestions, which can be very helpful in troubleshooting such errors:
 
  1. Ensure that the value of %2 in the error message “Error processing Siebel Operation for...” is defined as the primary business component in Siebel Tools for the value of %1, business object, mentioned in the error above.
 
  1. Confirm that the value of %3 (which is a ROW_ID, for example ‘12-12X3’) is visible from the Siebel application and is present in the table corresponding to the business component %2 mentioned in the error message.
 
  1. Ensure that there is no scripting, search specification, user properties on the business component mentioned in the error messages that would prevent the record from satisfying any criteria imposed by the custom script, search specification or user property. This is because such restrictions can block the visibility of the records to the workflow process.
 
  1. If the business object or business component mentioned in the error message is custom configured, validate the business object or business component in Siebel Tools. This can be performed by right clicking on the business object or business component and then selecting the Validate option. This will ensure that the basic configuration is correct.
 
For a workflow process invoked from a workflow policy, the ROW_ID on the workflow object’s primary workflow policy component for the triggered ROW_ID is passed as an input argument to the workflow process being invoked. The workflow process will then search for the ROW_ID. If the ROW_ID is not found by the workflow process in the primary business component used by the workflow process, an error similar to the above will be reported.
 
Detailed information regarding the customization of workflow policy objects can be found in the following Siebel Bookshelf references:
 
  • For Siebel versions 7.0 > Workflow Administration Guide > Customizing Workflow Policies with Siebel Tools.
 
 

 

  • • For Siebel version 8.0 > Siebel Business Process Framework: Workflow Guide > Workflow Policies > About Customizing Workflow Policies with Siebel Tools.
 
NOTE: This error may occur for reasons other than those described above. If the above suggestions have been followed, and no other causes can be found using SupportWeb, log a new service request to Siebel Technical Support detailing the circumstances and the steps to re-produce the behavior.



No comments:

Post a Comment