Search This Blog

SBL-CFG-00158: There is a conflict with your last request. Please click the Undo button to undo your last request.

Applies to:

Siebel eConfigurator - Version: 8.0.0.4 SIA [20417] - Release: V8

Information in this document applies to any platform.

Goal

How do you change the order and the label text for the buttons “Proceed”, “Undo” and “Explanation” that appear in configurator when a constraint conflict error is displayed (SBL-CFG-00158).

Solution

The position and order of the buttons is defined in the web template file “eCfgObj_Status_ConflictJS.swt”.
The button label text can be changed in Tools for the applet "Cfg Cx Runtime Instance Frame (JS HI)" by changing the caption of the controls.




Applies to:

Siebel eConfigurator - Version: 8.1.1 [21112] and later   [Release: V8 and later ]
Information in this document applies to any platform.

Symptoms


eConfigurator UI, conflict page, DEU.
There is an inconsistency between caption where Explain has been translated with "Erläuterung" and the explanation which advises to click button "Erklärung". It's a slight difference but can be confusing.

Text mentions:

Konflikt mit letzter Anfrage ....

Weitere Angaben zum Konflikt erhal. Sie d. Klicken auf "Erklärung".(SBL-CFG-00158)

But caption of button is "Erläuterung"

Cause

CR 12-1XLAL7D

Solution


Comments
--------
For CR 12-1XLAL7D request a patch or request to have it included in the next avaialable fix pack or train users.

References

BUG:12-1XLAL7D - GERMAN ERROR MESSAGE: EXPLANATION = ERL�UTERUNG / ERKL�RUNG

Applies to:

Product Release: V7 (Enterprise)
Version: 7.7.2 [18325]
Database: Oracle 9.2.0.6
Application Server OS: Sun Solaris 9
Database Server OS: Sun Solaris 9

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

Symptoms

As a part of Order Management module's Provide/ Modify Order journey, we are expecting a product with the multiple line items.

For progressing this order via B2B channel, we want to use eConfigurator API calls via scripting as we will not have eConfigurator UI for B2B. We have the incompatibility rules for various CNF products and the same node of MainNumber with CNF child products will get repeated multiple times. We want to get consolidated rule explanations fired while setting the product structure into memory so that users will get all the business rule violations at the first response itself.

At high level,product structure is as follows:

<RootProductName>
    <MainNumber>
        <CNF1>
        <CNF2>
        <CNF3>
        .
        .    
    <MainNumber>
        <CNF1>
        <CNF2>
        <CNF4>
        .
        .    
    .
    .
    .
</RootProductName>

We are using API calls like EnumObject, AddItem, SetAttributes, GetAllPorts etc.

We are facing problem while giving 'AddItem' API call for second 'MainNumber', if there is any product rule violation while adding CNF products under first 'MainNumber'.

Following is the error which we are getting:

ObjMgrLog    Error    1    0    2007-07-18 11:59:17    (cxobses.cpp (1340)) SBL-CFG-00158: <b>There is a conflict with your last request.</b> Please click the Undo button to undo your last request. If you wish to keep your last request, please click the Proceed button to undo the following previous requests:<br><br>Added 1 of to in .<br> <br> For a detailed explanation of this conflict, please click the Explanation button.

Solution

Message 1

For the benefit of other users,

Customer had a few issues with AddItem and violated rules:

1) How to handle rule errors in headless mode:
We offer an API for error cases as well. Please see Siebel bookshelf, Siebel Product Administration Guide > Configurator API Reference > Instance APIs to Interact with Conflicts and Messages. This describes the API we ofer for batch mode.

You will find a code sample under technote 515:
Please download the Horizontal or Vertical zip file and read file "eConfigurator API Demo Instructions for 7.5.x HOR.doc" (or the vertical file).

API Demo #1 - Batch Quote Creation and Manipulation shows how AddItem could throw an error via an exception and how it is cleaned up with upper described API calls.

If AddItem fails you could use 2 API calls:
- RemoveFailedRequests
- UndoLastRequest


2) Error messages from violated rules in headless mode
GetDetailedExplanation returns a useful message which explains the failure. You can call this function in the catch block. See following coce sample:
// we should get an error because we have a rule defined which does not allow this product
...
try {
s.InvokeMethod("AddItem",inp,out);
}

catch( e )
{
inp.Reset();
out.Reset();
inp.SetProperty("IntObjName", io);
inp.SetProperty("ObjId",head);
inp.SetProperty("RootId",item);
s.InvokeMethod("GetDetailedReqExpl",inp,out);
s.InvokeMethod("UndoLastRequest",inp,out);
}
...

MORE ...

Message 2

CONT ...

3) AddItem and Parent Path
AddItem needs Parent Path as parameter. "Path" is a different name for the Integration Id of an item and can be retrieved from different API calls, i.e. from EnumObjects or GetInstance.

Example for following structure and EnumObjects:
<Root Object>
   ----> andi1
   ----> andi2
   
If you want to add items under andi1 or andi2 you will need the path or integration id of these items. If you call EnumObjects on <Root Object> you get following property set:
CHILD PROPERTY SET 0
    Type: Instance Value:
    Product Id = 1-3MAL9
    Current Price =
    Sequence Number = 1
    List Price =

--> Path is the Integration Id to add a child under andi1
    Path = 1-3MBO2
    Quantity = 1
    Name = andi1

CHILD PROPERTY SET 1
    Type: Instance Value:
    Product Id = 1-3MAL9
    Current Price =
    Sequence Number = 2
    List Price =

--> Path is the Integration Id to add a child under andi2
    Path = 1-3MBO7
    Quantity = 1
    Name = andi2


Siebel Technical Support
Keywords: path, parent path, EnumObjects, GetDetailedReqExpl, UndoLastRequest, AddItem


No comments:

Post a Comment