Search This Blog

SBL-SVC-00149


pplies to:

Siebel CRM - Version: 8.0 [20405] to 8.1 [21039] - Release: V8 to V8
Information in this document applies to any platform.

Symptoms

It was reported that when the Order field "Status" is set up with a State Model to allow certain transitions, the State Model works correctly when the transition is carried out manually by the end user on an order record, i.e moved from 'Booked' status to 'Pending'.
However, when the order is revised by using the "Revise" button, the status changes from 'Booked' to 'Pending' and the following error message is seen:
SBL-SVC-00149: You do not have the privileges to change the value of field 'Status' from '' to ''


This behavior can be seen by following these steps:

1) Set up State Model for Orders to allow certain transitions including transition from "Booked" to "Pending" and from "Pending" to "Booked"
2) Enable the State Model
3) Manually change the Status field from an Order from "Booked" to "Pending" and see that the transition is allowed with no errors
4) Change another Order by clicking on the "Revise" button which changes the state from "Booked" to "Pending"  and the following error message appears:

"SBL-SVC-00149: You do not have the privileges to change the value of field 'Status' from '' to ''"

Cause

The BC "Order Entry - Orders" is not based on class CSSBCBase but on a subclass of CSSBCBase called CSSSIABCOrder.

Per Bookshelf, State Model is not supported for Business Components that are not based directly on the CSSBCBase class.

From Bookshelf:
"Siebel Applications Administration Guide >State Models > Configuring Business Components for State Models"
Per bookshelf you can:

" create state models on business components that are:
  • State-model enabled in the preconfigured application
  • Based directly on the CSSBCBase class and that are enabled using the procedure given in this section
Creating state models for business components based on subclasses of CSSBCBase class is not supported by Siebel Systems. In particular, do not create or modify state models on the Enterprise Service Definitions, SRM Request, and SRM Repeating Request business components. These are used for server administration. "

Solution

This issue has been logged as an Enhancement Request, Bug 10556850 ( bug 10556850 ).
The reason this is logged as an Enhancement Request and not a Product Defect is due to the class that the "Order Entry - Orders" BC is based on. This BC "Order Entry - Orders" is not based on class CSSBCBase but on a subclass of CSSBCBase called CSSSIABCOrder, and this is not supported for State Model, per Bookshelf.




pplies to:

Siebel CRM Service - Version: 7.8.2.9 [19238] and later   [Release: V7 and later ]
Information in this document applies to any platform.

Symptoms

It was reported that the following error message was given when State Model had been implemented for the "Service Request" business component's "Status" field (which is a mandatory or required field.


"[1]Wrong field values or value types detected in field Status. Please re-enter your field values. If you need additional assistance, please refer to the documentation.(SBL-UIF-00299)
[2] You do not have the privileges to change the value of field 'Status' from 'Closed' to ".(SBL-SVC-00149)"


This can be illustrated with the following steps:

1. Initially don't enabled any "State Model" on the field "Status" of "Service Request" BC.
2. Go to Service request screen and select any record and try to remove the existing data in the "Status" field and try to save it as null.
3. It will popup a message saying that, "SR Status is required field"..
4. Now, go to Administration - Application -> State Model and create a new record for the BC "Service Request" and for the "Status" field with some transitions and states.
5. Now repeat the step 2 it will throw the above error messages (SBL-UIF-00299 and SBL-SVC-00149).

EXPECTED BEHAVIOR:
--------------------------

It was expected that when the status field is NULL, the application should popup a message saying "SR Status is required field".

Cause

It was confirmed that the error being given is an expected behavior as per application design.

Upon research, found the following details from the log files for this scenario:

sscfom +0x35659 = CSSBusComp::Execute() +0x609
SSCASSMC +0x69f2 = CSSSMCacheService::InitCache() +0x1e2
SSCASSMC +0x6b4f = CSSSMCacheService::GetStateModelCache() +0x2f
SSCASSMC +0x7624 = CSSSMCacheService::DoInvokeMethod() +0x94
sscfom +0x1817a = CSSService::InvokeMethod() +0x1ba
SSCACMBC +0x45373 = CSSBCBase::LoadStateModel() +0x133
SSCACMBC +0x16901 = CSSBCBase::SqlCreate() +0x431
sscacabc +0x93ab = CSSBCActivity::SqlCreate() +0x3b
sscfom +0x4aba = CSSModel::ConstructBusComp() +0xaa
sscfom +0x52d38 = CSSBusObj::GetBusComp() +0x128
sscfom +0x533e6 = CSSBusObj::GetBusComp() +0x16
sscfom +0xc8e8 = CSSModel::BeginSetupView() +0x3c8
sscfom +0xcbfe = CSSModel::BeginSetupView() +0x5e
sscaswbc +0x742c0 = CSSSWEUdfLoader::BeginSetupView() +0x30
sscaswbc +0xc1653 = CSSSWEFrameMgrInternal::BuildView() +0x13e3
sscaswbc +0xc28f6 = CSSSWEFrameMgrInternal::BuildView() +0x36
sscaswbc +0xd37fa = CSSSWEContentHandler::DoGotoView() +0x1ba
sscaswbc +0xcffeb = CSSSWEContentHandler::ActionGotoView() +0x13b
sscaswbc +0x9b6ff = CSSSWEActionMgr::ActionGotoView() +0x4f
sscaswbc +0x9d1b2 = CSSSWEActionMgr::DoPostedAction() +0x262
sscaswbc +0x9d505 = CSSSWEActionMgr::GotoPostedAction() +0x65
sscaswbc +0xa4c39 = CSSSWECmdProcessor::_ProcessCommand() +0x4e9
sscaswbc +0xa5d3d = CSSSWECmdProcessor::ProcessCommand() +0x76d
sscaswbc +0xa6242 = CSSSWECmdProcessor::ProcessCommand() +0xc2
sscaswbc +0x1c9042 = CSSServiceSWEIface::Request() +0x2e2
sscaswbc +0x1c9d3d = CSSServiceSWEIface::DoInvokeMethod() +0x61d
sscfom +0x1817a = CSSService::InvokeMethod() +0x1ba
siebel +0x229a0 = CSSViewWebTemplateItemDef::AddChild() +0x16d10
siebel +0x23a36 = CSSViewWebTemplateItemDef::AddChild() +0x17da6
siebel +0x914f
MFC71U +0x33992 = Ordinal3942() +0x6a

Here the Service Request class file is executing the bus comp related statements after it goes through the process of State Model.

So, when a state model is enabled, the call is passing through a different path altogether. That is the reason that the State Model related messages are being shown.

Solution

As per the document, " State Model Trigger Point (Doc ID 480041.1) " which says that, "BusComp_PreSetFieldValue" event gets triggered before the "State Model" invocation.

So, using this we can display the required messages if needed using the script in the BC.
1. Login to Tools.
2. Query for the BC "Service Request"
3. In the scripts part, "BusComp_PreSetFieldValue" for this method write the required code here to display the needed required field message.




Applies to:

Siebel Customer Order Management Administrator - Version: 8.1.1.6 SIA [21233] and later   [Release: V8 and later ]
Information in this document applies to any platform.

Goal


We had introduced state model on Asset Mgmt - Asset BC for Asset Status filed and after introduction of State model the auto asset is failing for the ABO suspend order. The error message shown is -
---------------------------
Siebel
---------------------------
[1] Error invoking service 'EAI Siebel Adapter', method 'Synchronize' at step 'Sync Asset'.(SBL-BPR-00162)
[2] You do not have the privileges to change the value of field 'Status' from 'Active' to ''.(SBL-SVC-00149)

---------------------------
OK
---------------------------
From the logs we can find that it is trying to set the asset status from Active to blank. Since we have state model on asset status the transition to blank value is failing. Why is Siebel trying to set the status to blank before making it as 'Suspended'? also find the attached logs which has the error captured.


Solution


The BC "Asset Mgmt - Asset " is not based on class CSSBCBase but on a class called CSSBCSHMAsset.

Per Bookshelf, State Model is not supported for Business Components that are not based directly on the CSSBCBase class.

From Bookshelf:
"Siebel Applications Administration Guide >State Models > Configuring Business Components for State Models"

Per bookshelf you can:

" create state models on business components that are:

State-model enabled in the preconfigured application
Based directly on the CSSBCBase class and that are enabled using the procedure given in this section

Creating state models for business components based on subclasses of CSSBCBase class is not supported by Siebel Systems. In particular, do not create or modify state models on the Enterprise Service Definitions, SRM Request, and SRM Repeating Request business components. These are used for server administration. "
 

No comments:

Post a Comment