Applies to:
Product Release: V7 (Enterprise)Version: 7.5.3.5 [16183]
Database: Oracle 8.1.7.4
Application Server OS: Microsoft Windows 2000 Advanced Server SP 4
Database Server OS: HP-UX 11.0
This document was previously published as Siebel SR 38-1667803104.
Symptoms
SBL-BPR-00169I have been trying to set up a process to send an email to mobile users who have not
synchronized for a period of time. I followed the steps to FAQ 1510. We are version 7.5.3.5, so I
followed the version 7 steps. I completed everything, and when I tried to activate the workflow
policy I got an error for the condition that LAST-UPD doesn't exist in the BC Sync Client Status.
I set the process up as a repeating component. The process starts, but it sends an email
to ALL the mobile users. Moreover, there are many errors in the log file and the component errors
out at the end. Please assist.
Solution
Message 1
For the benefit of other customers:There were two problems seen after following instructions on FAQ 1510:
1) Component exiting with the following error messages seen:
Siebel Error Symbol '1: Unknown'. Siebel Error Message '1: Cannot get value of business component field 'TYPE' at step 'Decision Point'.(SBL-BPR-00120)'.
PrcExec BatchErr 1 2005-01-03 10:11:59 Siebel Error Symbol '2: Unknown'. Siebel Error Message '2: Row '1-3V4I-4' does not exist in business component 'Sync Dock Status'.(SBL-BPR-00169)'.
2) Emails being sent to ALL remote users and not just the ones that haven’t synchronized in the recent past.
Resolution:
To resolve the issues, following steps have to be taken in Version 7 in addition to FAQ 1510:
a) Replace the incorrect expression in FAQ 1510 where it uses [LAST_UPD] and replace it with: [Updated]
b) The join to S_CONTACT for Business Component "Sync Dock Status" should be an outer join. Set the Outer Join Flag = TRUE in the configuration to avoid the above error messages.
c) A Link between the primary and secondary business component (BC) is needed in the Sync Status business object. This link will make sure that emails are sent appropriate to the eligible candidates only. Add a new link in the configuration as follows and then specify it on the Sync Client Status business object component:
...
Message 2
...Link Name: Sync Dock Status/Sync Client Status
Parent BC: Sync Dock Status
Child BC: Sync Client Status
Source field: Node Id
Destination field: Id
Siebel Technical Support
Applies to:
Product Release: V7 (Enterprise)Version: 7.5.3.4 [16180] Com/Med
Database: Oracle 9.2.0.4
Application Server OS: Sun Solaris 8
Database Server OS: Sun Solaris 8
This document was previously published as Siebel SR 38-1508261757.
Symptoms
Hi,We have a Workflow process to send an email to the sales team when an Opportunity reaches a certain sales stage. This has been working fine in Production up until today. A user created an Opportunity and set the standard "Secure" flag to Y, to avoid other people viewing the Opportunity. Now Workflow Process Manager is repeatedly crashing on this record with the error "((0) err=4300107 sys=32991) Object manager error: ([1] Row '1-8019' does not exist in business component 'Opportunity'.(SBL-BPR-00169) (0x80df))"
I have checked in SQL and the record is there and has triggers in S_ESCL_REQ.
We need to get over this record as this is in production and as such no processes for this workflow are running. Please could you advise:
1) The best way to remove this record to continue processing and
2) Any workaround to the issue of the Secure flag.
Thanks
Solution
Message 1
For the benefit of other readers:The error is coming from the workflow process being invoked, and not from the Workflow Monitor Agent. Although the record is in the S_ESCL_REQ and also in the S_OPTY base table. However, the Workflow Monitor Agent will only check if the row is in the base table S_OPTY and that the row has met the workflow policy conditions. S_OPTY table can be used by other business components, not just "Opportunity".
Then Workflow Monitor Agent passes this row_id to the WF Process to perform the action. If the Workflow Process is based on "Opportunity" BusComp, then Workflow Process issues a query against the Opportunity business component, including any Search Specs, BusComp User Properties and BusComp View Mode properties, to find out if that ROW_ID is part of the "Opportunity" business component configuration or not. If the row does not meet all of the "Opportunity" business component configuration, then it is not considered as part of the business component. The reason Workflow Processes will do this is that workflow process uses object layer, which it gets the object definitions and configurations by the SRF file that the configurations are compiled into.
From the error:
([1] Row '1-8019' does not exist in business component 'Opportunity'.(SBL-BPR-00169) (0x80df))"
This implies that Row '1-8019' may not have met all properties / search spec on "Opportunity" business component.
[1/6]
Message 2
[2/6]The WorkMon_xxxx.log file shows us the same error, but doesn't have enough tracing to show us the SQL being issued by workflow when checking this row against the "Opportunity" business component. Also, the error is coming from Workflow Process and returned back to the caller WorkMon. So the error and SQL would be issued from WfProcess, thus additional tracing on WfProcMgr server component is needed in order to identify which sql and where clause from the sql is causing the error.
Regarding the inquiries:
1) The best way to remove this record to continue processing and
2) Any workaround to the issue of the Secure flag.
The first focus is to find out why this row returned such an error. If the issue is to do with the data, specifically some settings on that row/record, then we can just fix the Opportunity record instead of the WF logic or WF tables. If possible, please enable tracing to the Workflow Process Manager server component. Then, restart your Workflow Monitor Agent task so that it tries to process this row_id again, then it will error out. Once the error is reproduced, please provide the WorkMon_xxxx.log and the WfProcMgr_xxxx.log files to this SR.
The steps to enable tracing for the Workflow components are available on SupportWeb:
FAQ 1810: How to generate detailed log files for Workflow Monitor Agent in Siebel 7.x?
FAQ 1482: How can tracing be increased for Workflow Process Manager and Workflow Process Batch Manager?
......
Message 3
[3/6]While reviewing the detailed WfProcMgr_xxx.log file, this revealed the following SQL was the cause:
PrcExec PropGet 4 2004-09-20 13:42:53 Getting runtime value of property 'Object Id'.
....
....
FROM
SIEBEL.S_POSTN T1,
SIEBEL.S_REVN T2,
SIEBEL.S_STG T3,
...
...
SIEBEL.S_ORG_EXT T17,
SIEBEL.S_ADDR_PER T18,
SIEBEL.S_OPTY T19
WHERE
T19.PR_SRC_ID = T6.ROW_ID (+) AND
T6.PR_DMND_CRT_PRG_ID = T11.ROW_ID (+) AND
T19.PR_OU_ADDR_ID = T18.ROW_ID (+) AND
.....
.....
T19.PR_CON_ID = T9.PAR_ROW_ID (+) AND
T19.PR_SRC_ID = T13.ROW_ID (+) AND
(T19.SECURE_FLG = 'N' OR T10.OPTY_ID IS NOT NULL) AND
(T19.ROW_ID = :1)
ObjMgrSqlLog Detail 4 2004-09-20 13:42:53 Bind variable 1: 1-8EGH
ObjMgrSqlLog Detail 4 2004-09-20 13:42:53
***** SQL Statement Prepare Time: 0.005 seconds *****
ObjMgrSqlLog Detail 4 2004-09-20 13:42:53
***** SQL Statement Execute Time: 0.002 seconds *****
ObjMgrSqlLog Detail 4 2004-09-20 13:42:53 SQL Cursor with ID 48CCC00 Fetch Rows: 0, Fetch All Time: 0.000 seconds.
Note the WHERE Clause, specifically the (T19.SECURE_FLG = 'N' OR T10.OPTY_ID IS NOT NULL).
....
Message 4
[4/6]We need to keep in mind that when workflow processes run on the server, they are ran under the Workflow Process Manager server component as the User SADMIN with Siebel Administrator position. For this Opportunity, we need to ensure that either the Secure Flag = "N", or the Siebel Administrator position has visibility to this record, ie. Siebel Administrator position is on the Opportunity Team.
The following checks and items can be performed:
1. Run the query to confirm that it doesn't return any rows.
2. Check the record on the UI, what is the value of the Secure Flag and who is on the Opportunity's Team.
3. Is the Siebel Administrator on the Opportunity's team.
4. If you were to check Secure Flag = "N", then restart the workflow does that work? If so, can this be an acceptable data workaround?
5. Or, if you were to ensure that Siebel Administrator is on the team, then restart the workflow, does that work? If so, can this be an acceptable workaround?
6. If you want to restrict visibility of data on the UI, it's possible to put the visibility constraint on the applet (UI) level instead of at the buscomp level. The reason is that Workflow Processes also uses BusComp level definitions and workflow will need to abide by any visibility settings on the BusComp level.
.....
Message 5
[5/6]7. If it is not possible to keep Secure Flag = 'N' all the time and not possible to have 'Siebel Administrator' on the team all the time, then another approach would be the following:
Eventhough the Siebel Administrator position is not on the Opportunity team, would you have any problems with the SADMIN user (not all users having Siebel Administrator Position) seeing the Opportunity data from the UI?
The problem with the workflow on the server is that the SADMIN user runs the workflow process manager server component and the Siebel Administrator position is not on the Opportunity team. The workflow fails only when the Opportunity Secure Flag = "Y" AND Siebel Administrator position is not on the Opportunity team. If we allow the SADMIN user to have visibility to the Secure Opportunity eventhough the Siebel Administrator position is not on the Opty team, the Workflow Process Manager will be able to check the Opportunity successfully and run the workflow successfully.
What we can do is append an additional OR clause to the existing search spec to allow SADMIN user to have visibility to the Opportunity. The search spec being generated comes from:
Business Component: Opportunity
BusComp User Property: Non-SalesRep View Mode SearchSpec
User Property Value: [Secure Flag] = 'N' OR [Secure Opty Id] IS NOT NULL
......
Message 6
[6/6]If we were to append to this User Property value to allow SADMIN user to have access to the record, then the search spec becomes:
[Secure Flag] = 'N' OR [Secure Opty Id] IS NOT NULL OR LoginId() = '0-1'
During runtime, the Workflow Process Manager component generates this as part of the query:
WHERE
(T1.SECURE_FLG = 'N' OR T10.OPTY_ID IS NOT NULL OR '0-1' = '0-1') AND
(T1.ROW_ID = ?)
SQL SQL 4 2004-09-27 18:40:28
SQL SQL 4 2004-09-27 18:40:28 Bind variable 1: 1-4EU3
This query is met for an Opportunity that has Secure Flag = Y and and Siebel Administrator is not on the team, the WfProcMgr task no longer errors.
The only drawback is that a user logged into the client application as SADMIN user will have visibility to this Secured Opportunity. However, if you do not have any users or person logging into the system as the actual SADMIN user, this should not be a significant impact.
Search keywords: workflow, process, team, opportunity, secure, secure flag, position, row, does not exist in business component, manager, server, component, policy, visibility, user property, user properties, Non-SalesRep View Mode SearchSpec, search specification, Secure Opty Id
.
Applies to:
Siebel Workflow - Version: 8.1 [21039]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
- 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.
- 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.
- 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.
- 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 Siebel versions 7.0 > Workflow Administration Guide > Customizing Workflow Policies with Siebel Tools.
- For Siebel version 7.5 > Siebel Business Process Designer Administration Guide > Customizing Workflow Policies with Siebel Tools.
- For Siebel version 7.7 and 7.8 > Siebel Business Process Designer Administration Guide > Workflow Policies > About 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.
Applies to:
Product Release: V7 (Enterprise)Version: 7.8.2.3 [19221] Com/Med
Database: Oracle 10.2.0.2
Application Server OS: Microsoft Windows 2003 Server
Database Server OS: Sun Solaris 10
This document was previously published as Siebel SR 38-3205117851.
Symptoms
SBL-BPR-00169Hello,
We are using approval functionality of Siebel.
In case of , if only one rule
is violated, in approval process, "Return Messgae" is copied properly as defined in Validation
message. Hence we can see the "Owner's Comment" field in "Inbox Administration" screen with the
"Return Message".
We have encountered a situation, where "Return Message" is not copied
,if multiple rules are violated, when an approval is generated.
Is there any way, we can
have "Return Message" for each and every rule which is "Error Out" . So that same can be copied
for each and every record created in "Inbox" Screen.
We have checked that proper Return
Codes are associated with the rules.
Also attached is process flow document for
reference.
Zip File contains Data Validation Rules, Validation History Message,ISS Agreement
(Approval) workflow.
Solution
Message 1
For the benefit of other users,When launching Generate Approvals for Agreements, customer observed the following error:
"[1] Error invoking service 'Data Validation Manager', method 'Validate' at step 'Validation Service for Required Fields'. (SBL-BPR-00162)
[2] SLS Subscr End Date is a required field
ELS Substr Start Date is a required field
(SBL-APS-00802)"
The error was generated due to the "Aggregate Errors" flag set to TRUE on the Validation Rule Set. When switched off for all the Validation Rule Set then the error did not appear. In this case, no approval and no inbox records have been generated, but that's ok because validation fails and in the workflow the next step is the END step.
However, please note, in case "Aggregate Errors" is set to TRUE and validation fails the next workflow step will not be executed, because the validation step stops with an error and hence the workflow stops with an error. No inbox or approval record will be created. Change Request 12-1HGLOVX has been logged in order to address this Product Defect.
The customer added an additional step in his workflow in order to validate whether the "Service Agreement" is filled out correctly before the actual approval validation occurred. This additional step used the validation mechanism and customer wanted to have all errors shown at once for any rule violations. Hence he set "Aggregate Errors" to true for this Validation Rule Set.
...
Message 2
...As a workaround the customer was told to consider the following:
- Disable the "Generate Approvals" menu item per default
- Create a button "Validate" that validates the "Service Agreement" and if valid activate the "Generate Approvals" menu item.
- The user would have to press the "Validate" button first before launching "Generate Approvals".
As a result, you would not have to display a message to the end user during "Generate Approvals" process. The approval would just be created or not, depending if necessary or not.
Thank you
Siebel Technical Support
Keywords:
Approval, Validation Rule Set, Validation, Aggregate Errors, SBL-BPR-00162, SBL-APS-00802
Applies to:
Product Release: V7 (MidMarket)Version: 7.5.3 [16157] MME
Database: Oracle 8.1.7.4
Application Server OS: Microsoft Windows 2000 Server SP 4
Database Server OS: Microsoft Windows 2000 Server SP 4
This document was previously published as Siebel SR 38-1239410201.
Symptoms
Is it possible to use the Workflow Utilities BS with the Asset Mgmt - Asset BC? I've used the Workflow Utilities BS on the Account BC with no problem, but when trying to use it with the Asset Mgmt - Asset BC I get the following error: Row '1-8CA73' does not exist in business component 'Asset Mgmt - Asset'.(SBL-BPR-00169). This Row Id exists, and has valid data associated with it, but Workflow Utilities can't seem to connect.Solution
Message 1
Problem solved. I created a new Business Object and added a copy of the Asset Mgmt - Asset Business Component. All fields derived from the ROW_ID were removed from the BC. After that workflow utilities worked fine. Is there any documentation for "Workflow Utilities" that can be made available? Thanks for your help.Message 2
Hi,Thanks for providing an update to your SR and I'm glad to hear your issue is resolved. To find the information you're requesting, I queried SupportWeb using the keywords, "workflow utilities" and found the following documentation on Workflow Utilties.
Siebel Bookshelf:
Siebel eBusiness Application Integration Volume III > EAI HTTP Transport > Sending and Receiving Messages with the EAI HTTP Transport
Siebel eBusiness Application Integration Volume III > EAI MSMQ Transport > Configuring EAI MSMQ Transport for Various Send and Receive Scenarios > Receiving Inbound Messages with EAI MSMQ Transport
Siebel Business Process Designer Administration Guide for Financial Services > Predefined Business Services > Predefined Business Services
Siebel Business Process Designer Administration Guide > Predefined Business Services > Predefined Business Services
Additionally, this query on SupportWeb produced similar resolved SRs issues which may be of use to you should you encounter any other issues in the future.
Please let me know if you consider this SR resolved.
Thanks,
Siebel Technical Support
Applies to:
Product Release: V7 (Enterprise)Version: 7.5.2.211 [16061]
Database: Oracle 9.2.0.2
Application Server OS: Microsoft Windows 2000 Server SP 3
Database Server OS: HP-UX 11.0
This document was previously published as Siebel SR 38-1183283791.
Symptoms
SBL-BPR-00169Hello
I activate the message functionnality in Siebel;. To do it, I activated all
Workflow Policies and all Workflow processes concerned by this functionnality. I generated the
triggers too.
I activated the Workflow component too.
But I have always an error in
the log file. After starting the Worflow monitor agent for the group 'Siebel Messaging', all
workflow process are in error.
I send you in attachment the log files of the WFP (trace levels
have been increased).
We see that the WFP "Siebel Message send email" stops because it
does not find the message; If we watch the SQL, we see that it makes a query with the Id of the
Message but there is the condition of the recipient or the creator :
(T5.PRIV_FLG != 'Y' OR
T5.CREATED_BY = :1 OR T5.RECIP_ID = :2) AND
(T5.ROW_ID =
:3)
where bind variables are
Bind variable 1: 0-1 => SADMIN
Bind variable 2: 0-1
=> SADMIN
Bind variable 3: 1-6PPXJ
I tried to delete all messages. In this case, the
Workflow monitor is started normally but if I connected as an other user (XYZZZ for exemple), I
create a message and then the workflow processes are in error with the same log files !
It
searches ever all messages created by SADMIN or where the recipient is SADMIN !!!!
Could
you help me please ?
Regards
Solution
Message 1
For the benefit of other readers:Customer has set up all pre-requisites to use the Siebel Messaging functionality, which is driven by a set of Workflow Policies and Workflow processes within the 'Siebel Messaging' workflow group. One particular workflow policy was of concern:
Workflow Policy Name = Messaging Policy Invoke Send Email Process
Calls a Workflow Process = Siebel Message send email
Customer encountered the following error message within the workflow process:
GenericLog GenericError 1 2004-02-06 14:20:40 ((0) err=4300107 sys=33096) Object manager error: ([1] Row '1-6PPXJ' does not exist in business component 'Messaging'. (0x8148))
From the SQL query issued by the workflow process before the error message occurred, it's visible that the query is trying to check the record's Private Flag and also that the recipient is the login user or the creator is the login user:
(T5.PRIV_FLG != 'Y' OR T5.CREATED_BY = :1 OR T5.RECIP_ID = :2) AND
(T5.ROW_ID = :3)
where bind variables are
Bind variable 1: 0-1 => SADMIN
Bind variable 2: 0-1 => SADMIN
Bind variable 3: 1-6PPXJ
The workflow will fail if this condition is not met.
----------------------------------------------
[1/4]
Message 2
[2/4]The Workflow Policy will process records from the S_USR_MSG table.
The workflow process is based on the "Messaging" Business Object, which has "Messaging" as the primary business component.
When the workflow process first gets the ROW_ID from S_USR_MSG passed in from the Workflow Policy, the workflow process first tries to validate that the row is a valid record for the "Messaging" business component.
In doing so, a query is issued by the workflow process which contains the following WHERE CLAUSE:
SELECT ....
......
FROM
SIEBEL.S_CONTACT T1,
SIEBEL.S_ORG_EXT T2,
SIEBEL.S_USR_MSG_PREF T3,
SIEBEL.S_OPTY T4,
SIEBEL.S_USR_MSG T5
WHERE
T5.ACCNT_ID = T2.PAR_ROW_ID (+) AND
T5.OPTY_ID = T4.ROW_ID (+) AND
T5.SENDR_ID = T1.PAR_ROW_ID (+) AND
T5.SENDR_ID = T3.SENDR_ID (+) AND
(T5.PRIV_FLG != 'Y' OR T5.CREATED_BY = :1 OR T5.RECIP_ID = :2) AND
(T5.ROW_ID = :3)
ORDER BY
T5.MSG_NUM
ObjMgrSqlLog Detail 4 2004-02-06 14:20:45 Bind variable 1: 0-1
ObjMgrSqlLog Detail 4 2004-02-06 14:20:45 Bind variable 2: 0-1
ObjMgrSqlLog Detail 4 2004-02-06 14:20:45 Bind variable 3: 1-6PPXJ
The behaviour seems to be with part of the where clause, checking for: (T5.PRIV_FLG != 'Y' OR T5.CREATED_BY = :1 OR T5.RECIP_ID = :2).
......
Message 3
[3/4]This part of the where clause comes from "Messaging" Business Object, which has "Messaging" as the primary business component that the workflow process is based on, the workflow process first makes sure that the ROW_ID it has is a valid record for "Messaging" business component. To validate this, a query to check the properties of the "Messaging" business component, which also has a Search Specification of:
[Private Flag] <> 'Y' OR [Created By] = LoginId () OR [Recipient Id]=LoginId ()
This is why we see this part in the SQL where clause as well. The Search Spec is met if any one of the OR statements evaluates to TRUE.
There fields from the business component also has pre-default values which gets populated if the record was created by a user on the UI, the pre-defaults are:
Recipient Id = <blank>
Private Flag = Y
Created By = %EMP% // employee login that created the record.
When the workflow process manager task is ran on the server, it runs under the User Name (LoginId) of SADMIN.
If we go by the above predefaults and a regular user created the record, then there is no way that the row can pass the search spec expression when the Workflow Process Manager task (SADMIN user) is issuing this sql select statement. Thus, this is the reason why the error occurred, as the record could have been created by a regular user and not by SADMIN, but SADMIN is trying to valid this Search Spec.
.....
Message 4
[4/4]The workflow policy is triggered when a user creates a new message, but the task and query is ran by SADMIN, which will cause 0 records returned. Thus, it doesn't make sense that the Search Spec is set up this way and preventing the workflow process from running correctly by the SADMIN user.
This behaviour is due to a product defect for the Search Spec on Messaging business component:
Change Request # 12-DJCO53 has been logged: Siebel Messaging workflow only works when SADMIN is creator or receiver
The search spec of Messaging BusComp was introduced to addresss Messaging attachment security issue. To fix the behaviour for the Messaging workflow, please perform the following workaround for the Messaging business component:
1. Remove Messaging BusComp Search Spec.
2. Add the search spec to the "All Messaging List Applet":
[Private Flag] <> 'Y' OR [Created By] = LoginId () OR [Recipient Id]=LoginId ()
Search keywords: messaging, business component, process, workflow, error, row, does not exist in business component, search spec, recipient, creator, private flag, Messaging Policy Invoke Send Email Process, Siebel Message send email
.
No comments:
Post a Comment