Skip to main content

Error SBL-DAT-00523 or SBL-DAT-00523 Occurs When Modify Objects On My Workspace (Doc ID 2527635.1)

APPLIES TO:

Siebel Tools - Version 18.12 and later
Information in this document applies to any platform.
SYMPTOMS

Using SADMIN user can not modify any object, following error is displayed:

ERRORS:
----------------
The state of selected workspace has been modified by another user , workspace will refresh itself and proceed .(SBL-DAT-60295)

OR

The selected record has been modified by another user since it was retrieved.  Please continue. (SBL-DAT-00523)


STEPS
-----------------------
The issue can be reproduced at will with the following steps:
1. Log in to Siebel Tools using SADMIN
2. Try to modify an object
3. Above error is displayed

CAUSE
In the siebdevopenWS.log, there are below error messages:
ObjMgrLog Error 1 000000025ca60cc4:0 2019-04-04 08:12:11 (workspacemgr.cpp (2672)) SBL-DAT-00523: The selected record has been modified by another user since it was retrieved. Please continue.

ObjMgrBusCompLog Error 1 000000025ca60cc4:0 2019-04-04 08:12:11 (sqlobj.cpp (43149)) SBL-DAT-00523: The selected record has been modified by another user since it was retrieved. Please continue.

ObjMgrSessionLog Warning 2 000000025ca60cc4:0 2019-04-04 08:12:11 (physmod.cpp (5186)) SBL-DAT-00473: No transaction is in progress

ObjMgrLog Error 1 000000025ca60cc4:0 2019-04-04 08:12:11 (bcrepos.cpp (9534)) SBL-DAT-00523: The selected record has been modified by another user since it was retrieved. Please continue.

From my research, error SBL-DAT-00523: The selected record has been modified by another user since it was retrieved. Please continue." is generally caused by blank STATUS_CD in the S_WORKSPACE table.

Please find below INSERT statement from siebdev_creatednewWS.log:

INSERT INTO SIEBEL1.S_WORKSPACE (
CONFLICT_ID,
DB_LAST_UPD_SRC,
DB_LAST_UPD,
LAST_UPD,
CREATED,
LAST_UPD_BY,
CREATED_BY,
MODIFICATION_NUM,
ROW_ID,
COMMENTS,
INACTIVE_FLG,
LATEST_VER,
NAME,
OBJ_LOCKED_FLG,
PAR_WS_ID,
PAR_WS_VER,
REPOSITORY_ID,
BUILD_BRANCH_FLG)
VALUES (:1, :2, current_date, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, :15, :16, :17)

Note, there is no STATUS_CD column in the INSERT statement.
In vanilla, STATUS_CD is bind variable 18 in the in the INSERT statement when creating a new workspace.

This is caused by setting the Workapce Name to a dev_* workspace:
[Workspace]
Name = dev_sadmin_test2
Version = Latest

Although, it is able to go the correct workspace. when you open tools, setting Workapce Name to a dev_* workspace is not supported.

It's should set to Main or a Integration Workspace. Please see below example on setting the Workapce Name in a .cfg file:
Using Siebel Tools > Parallel Development Using Workspaces > Administering Parallel Development using Workspaces > Launching the Web Client with a Specified Workspace
https://docs.oracle.com/cd/E88140_01/books/UsingTools/parallel_development_using_workspaces9.html#wp1010563



SOLUTION

To fix the error,   please follow the below steps:
1) Open tools.cfg

2) Change tools.cfg to point to Main or a Integration Workspace.

Change from:
Workspace]
Name = dev_sadmin_test2
Version = Latest

To:
Workspace]
Name = Main
Version = Latest

3) Log in to Tools and test the behavior.

Source:
https://support.oracle.com/ Doc ID 2527635.1

Comments

Popular posts from this blog

How to set Profile Attribute in Siebel Workflow

For setting the Profile Attribute in Siebel Workflow, follow below steps: Add Business Service box in workflow. Open Business Service properties. Set  SessionAccessService in Business Service Name. Set  SetProfileAttr in Method Name. Then click on Business Service and set Input Arguments as below: Against Name argument you will add your profile attribute name and against Value argument you will add value for the new profile attribute, it could be from Process Property or Literal.

How to call Popup Applet through Server Script in Siebel

Below is the script for calling popup applet through script: if (MethodName == "MethodName") { var oServiceAF = TheApplication().GetService("SLM Save List Service"); var inputPropAF = TheApplication().NewPropertySet(); var outputPropAF = TheApplication().NewPropertySet(); inputPropAF.SetProperty("Applet Name","ABC Popup Applet"); inputPropAF.SetProperty("Applet Mode","6"); inputPropAF.SetProperty("Applet Height", "700"); inputPropAF.SetProperty("Applet Width", "700"); oServiceAF.InvokeMethod("LoadPopupApplet", inputPropAF, outputPropAF) return (CancelOperation); } Applet Modes:  1=Base, 2=New, 3=Edit, 5=Query, 6=EditList

How to query or find record in Siebel Business Component

You can perform query operation on Business Component through Workflow, eScript with the help of Siebel Operation, Inbound E-mail Database Operations (method: FindRecord) or EAI Siebel Adapter (method: Query but you need to create Integration Objects). This Business Component can be Virtual Business Component (VBC), External Business Component (EBC) or generic Business Component (BC).  See also: Difference Between Business Components and How to Create BC in Siebel through Object Wizard through Workflow with the help of Siebel Operation Create a workflow and provide the Business Object, business component should be in this BO for which you want to perform the query operation. From the Palettes window drag drop the Siebel Operation into workflow designer plane. Select the Siebel Operation box and open the properties window, provide the Business Component name from the drop down list and set Query in Operation field. You can set the search specification by two means either provide the fie