Search This Blog

SBL-DAT-00279: The ability to insert records is not available in this screen or applet.

Applies to:

Siebel Tools - Version: 7.5.3 [16157] to 8.1 [21039] - Release: V7 to V8
Information in this document applies to any platform.
Error Message Area:Data Manager - DAT
Version:Siebel 7.5.3

Purpose

This document is intended to provide cause and corrective action information about Siebel Error Message SBL-DAT-00279: The ability to insert records is not available in this screen or applet.

Scope

This document is informational and intended for any user.

SBL-DAT-00279: The ability to insert records is not available in this screen or applet.

Explanation

Below are some reported causes for this error:

1) Inserting a record is not allowed either through workflow, scripting, Siebel EAI or the Siebel UI due to one of the following configuration aspects:

- No Insert or No Update properties set to TRUE for the following repository objects; applet, business component, multi-value link (MVL), link and pick list. In particular keep in mind the following rules that restrict record updates;
a) when the No Insert or No update properties are set to TRUE for the underlying MVG business component or the underlying Link (referenced via the MVL) has the No Insert property set to TRUE and
b) when the Admin Mode Flag is set to FALSE for a view and No Insert property of the parent business component is set to TRUE.

- Record is being set to read-only by business component user properties, especially those described in Siebel Bookshelf version 8.0 > Configuring Siebel eBusiness Applications > Configuring Business Components > Configuring Data-Driven Read-Only Behavior. Please refer to Siebel Bookshelf version 8.0 > Siebel Developer's Reference for more information on these user properties.

- No Update parameter set to TRUE for State Models under the Application Administration screen.

- Incorrect database configuration, especially the sort parameter.

2) Visibility Type property set to "Manager" for view, drilldown object or link objects and does not match the active position of the user currently logged in.

3) Attempting to associate a record through an MVG applet in a Smart Script session.

4) Specialized class behavior prevents update to target record, for example created a new record under Agreements > Line Items > Invoice Plan when a bundled product (already added to the agreement) has been expanded and the list pointer set to first root item numbered "1".

5) Running workflow from runtime events causes error, however simulator runs through.

Corrective Action

Below are the corrective actions to try for the reported causes:

1) Test the application by resetting the configuration aspects as follows:

- Either set No Insert or No Update properties to FALSE for the respective repository objects or set the Admin Mode Flag to TRUE for the corresponding view in order to override these settings.

- Deactivate all business component user properties containing the string "*Read Only Field*"

- Set the No Update parameter to FALSE for State Models under the Application Administration screen.

- Ensure that the database sort parameter is set correctly. For more information please refer to the Siebel Bookshelf version 8.0 > Upgrade Guide > Database and UI Upgrade Planning > About Database Sort Order.

2) Ensure that the active position of the currently logged in user is eligible to update records in the corresponding view. For My Team's context views ensure that the active position is managerial based.

3) This is not supported and Change Request 12-28SSTT was logged to address this product enhancement request. The only alternative is to use scripting techniques that call the GetAssocBusComp method.

4) Specialized applet and business component classes often set fields or rows to read-only based on hard-coded rules in the corresponding C++ modules. To resolve this matter the corresponding applet or business component should be cloned and based on a standard class.

In the case of the example setting the applet class to CSSFrameListQuoteItem for FS Agreement Item Invoices List Applet (currently set to CSSFrameList) suppresses the error message. The workaround is to compress all bundled products (as opposed to expanding) before adding new line items. Change Request 12-RFVZRJ was logged to address this product defect.

5) The Workflow Simulator behaves slightly differently to that of the Runtime Events manager, because it ignores the No Insert property set at the business component level. Change Request 12-GWAPI4 was logged to address this product defect.


Applies to:

Product Release: V7 (Enterprise)
Version: 7.5.3 [16157] Com/Med
Database: Oracle 8.1.7.3
Application Server OS: Microsoft Windows 2000 Server SP 2
Database Server OS: Sun Solaris 8

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

Symptoms

SBL-DAT-00279

When the selected record is a child Agreement Line Item (ie. a Parent Agreement Line Item), and the New Button is pressed in the List Applet (works fine in the Form Applet), the error "the ability to insert records is not available in this screen or applet. (SBL-DAT-00279) is returned.

It appears to only occur in the Invoice Plan view under the Agreements>Line Items tab. This view uses the FS Agreement Item Invoices List Applet. When trying to create this new line item in the Agreement>Line Items default view, which uses the FS Agreement Item List Applet, it works fine.

Question 1/ It appears to be based on the different classes used in these two applets. If I change the class to CSSFrameListQuoteItem instead of CSSFrameList, the error doesn't occur.

Question 2/ What is causing this to occur and is there a fix? If there isn't a fix, can I clone the offending List Applet and change it's class to CSSFrameListQuoteItem?

Question 3/ I noticed that the New Button gets disabled when a child Agreement Line Item record is selected. Is this hardcoded within the FS Agreement Item Class, and is there a workaround to ensure it isn't greyed out?

Question 4/ What is the vanilla method of assigning a Parent Agreement Line Item (ie. creating a hierarchical relationship)? The field exists in FS Agreement Item BC, however isn't exposed in any of the Line Items applets. I have exposed the Parent Agreement Item Id in a cloned Line Item list applet, and assigned a Pick Applet to it. It acts in the same manner then as Parent Agreements and Parent Accounts for example.

I appreciate your upcoming answers to all four questions.

Regards

Solution

Message 1

For the benefit of others,

SUMMARY:
Why is the error message "The ability to insert records is not available in this screen or applet.(SBL-DAT-00279)" displayed when trying to create new line items under Agreements > Line Items > Invoice Plan (FS Agreement Invoice Plan View)? And why is the error message suppressed when changing the applet class of FS Agreement Item Invoices List Applet from CSSFrameList to CSSFrameListQuoteItem?

SOLUTION:
Change Request #12-RFVZRJ [Error when creating new line item records in the FS Agreement Invoice Plan View (SBL-DAT-00279)] has been logged to address this Product Defect.

It is not recommended to change the applet class of FS Agreement Item Invoices List Applet to CSSFrameListQuoteItem, because this is a specialized class and not currently documented. Therefore no information publicly exists to this effect. When creating a cloned object such as a business component or applet, Siebel best practices stipulate that the class of the cloned object be standard and not specialized. The reason being that fields and user properties in the cloned object might no longer function according to the code logic in the corresponding C++ module.

Note that this error message is not displayed in the FS Agreement Invoice Plan View if all bundled products are first compressed - that is only the root line item (parent) of a bundled product is displayed - and then New is selected.

(MORE)...

Message 2

...(CONT)

In terms of why the New button is unavailable - that is greyed out - and how Parent Ids can be associated to agreement line items, this process is described in the Siebel Bookshelf under Siebel Sales User Guide, Quotes, Adding a Line Item to a Quote. In general, the hierarchy created in this specialized list applet is maintained by the specialized applet and business component classes. These specialized classes offer particular functions that manipulate the line item hierarchy as described in the Bookshelf reference. Amending the hierarchy manually using unused business component fields is not recommended, because this might cause unexpected behavior in combination with the specialized class functions.

To manually indent new line items - there is a process described in the Siebel Bookshelf under Siebel Order Management Guide, Creating a Quote or Order, Common Tasks for Creating Quotes and Orders, Adding Products to a Quote or Order, Adding a Package of Line Items - where it states that a line item associated with the Product explicitly named "Package" must first be created and then the newly created product line item can be indented.

KEYWORDS:
SBL-DAT-00279, indenting, inserting, adding, slotting in, hanging off parent, parent-child, record items, grayed out, NewRecord

James O'Rourke
Siebel Technical Support


Applies to:

Product Release: V7 (Enterprise)
Version: 7.5.3 [16157] Com/Med
Database: Oracle 8.1.7.3
Application Server OS: Microsoft Windows 2000 Server SP 2
Database Server OS: Sun Solaris 8

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

Symptoms

SBL-DAT-00279

When the selected record is a child Agreement Line Item (ie. a Parent Agreement Line Item), and the New Button is pressed in the List Applet (works fine in the Form Applet), the error "the ability to insert records is not available in this screen or applet. (SBL-DAT-00279) is returned.

It appears to only occur in the Invoice Plan view under the Agreements>Line Items tab. This view uses the FS Agreement Item Invoices List Applet. When trying to create this new line item in the Agreement>Line Items default view, which uses the FS Agreement Item List Applet, it works fine.

Question 1/ It appears to be based on the different classes used in these two applets. If I change the class to CSSFrameListQuoteItem instead of CSSFrameList, the error doesn't occur.

Question 2/ What is causing this to occur and is there a fix? If there isn't a fix, can I clone the offending List Applet and change it's class to CSSFrameListQuoteItem?

Question 3/ I noticed that the New Button gets disabled when a child Agreement Line Item record is selected. Is this hardcoded within the FS Agreement Item Class, and is there a workaround to ensure it isn't greyed out?

Question 4/ What is the vanilla method of assigning a Parent Agreement Line Item (ie. creating a hierarchical relationship)? The field exists in FS Agreement Item BC, however isn't exposed in any of the Line Items applets. I have exposed the Parent Agreement Item Id in a cloned Line Item list applet, and assigned a Pick Applet to it. It acts in the same manner then as Parent Agreements and Parent Accounts for example.

I appreciate your upcoming answers to all four questions.

Regards

Solution

Message 1

For the benefit of others,

SUMMARY:
Why is the error message "The ability to insert records is not available in this screen or applet.(SBL-DAT-00279)" displayed when trying to create new line items under Agreements > Line Items > Invoice Plan (FS Agreement Invoice Plan View)? And why is the error message suppressed when changing the applet class of FS Agreement Item Invoices List Applet from CSSFrameList to CSSFrameListQuoteItem?

SOLUTION:
Change Request #12-RFVZRJ [Error when creating new line item records in the FS Agreement Invoice Plan View (SBL-DAT-00279)] has been logged to address this Product Defect.

It is not recommended to change the applet class of FS Agreement Item Invoices List Applet to CSSFrameListQuoteItem, because this is a specialized class and not currently documented. Therefore no information publicly exists to this effect. When creating a cloned object such as a business component or applet, Siebel best practices stipulate that the class of the cloned object be standard and not specialized. The reason being that fields and user properties in the cloned object might no longer function according to the code logic in the corresponding C++ module.

Note that this error message is not displayed in the FS Agreement Invoice Plan View if all bundled products are first compressed - that is only the root line item (parent) of a bundled product is displayed - and then New is selected.

(MORE)...

Message 2

...(CONT)

In terms of why the New button is unavailable - that is greyed out - and how Parent Ids can be associated to agreement line items, this process is described in the Siebel Bookshelf under Siebel Sales User Guide, Quotes, Adding a Line Item to a Quote. In general, the hierarchy created in this specialized list applet is maintained by the specialized applet and business component classes. These specialized classes offer particular functions that manipulate the line item hierarchy as described in the Bookshelf reference. Amending the hierarchy manually using unused business component fields is not recommended, because this might cause unexpected behavior in combination with the specialized class functions.

To manually indent new line items - there is a process described in the Siebel Bookshelf under Siebel Order Management Guide, Creating a Quote or Order, Common Tasks for Creating Quotes and Orders, Adding Products to a Quote or Order, Adding a Package of Line Items - where it states that a line item associated with the Product explicitly named "Package" must first be created and then the newly created product line item can be indented.

KEYWORDS:
SBL-DAT-00279, indenting, inserting, adding, slotting in, hanging off parent, parent-child, record items, grayed out, NewRecord

James O'Rourke
Siebel Technical Support


Applies to:

Siebel Tools - Version: 7.5.3.12 [16272] and later   [Release: V7 and later ]
z*OBSOLETE: Microsoft Windows 2000
Product Release: V7 (Enterprise)
Version: 7.5.3.12 [16272]
Database: Oracle 9.2.0.5
Application Server OS: Microsoft Windows 2000 Server SP 4
Database Server OS: Sun Solaris 2.8

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

Symptoms

Object manager is crashing on TEST environment. From the log files it was found that AOM is crashing while creating 'Quote' and 'while pushing the order which is random.

On Test environment there are 2 App servers where each one is crashing randomly.


Cause

In first callstack the 'sscfjs' is the eScripting dll that is causing the crash.

Solution

Customer observed following 2 Object Manager crashes:

(1) First callstack:

sscfjs +0x37d16 = seobjGetMemberStructEx() +0x26
sscfjs +0x37dfe = seobjGetMember() +0xe
sscfjs +0x414bf = seobjCallDynamicProperty() +0x64f
sscfjs +0x40048 = sevarGetFuncVar() +0x98
sscfjs +0x4030d = sevarConvertToString() +0x1d
sscfjs +0x33a13 = callPrintError() +0x93
sscfjs +0x3a493 = secodeInterpret() +0x1c43
sscfjs +0x3ba20 = callFunctionFully() +0x30

(2) Second callstack:

<invalid> 0x396
sscfom +0x12b89 = CSSBusComp::ActivateField() +0x129
sscacmbc +0x4ed15 = CSSBCBase::OnFieldUpdateInvoke() +0x665
sscacmbc +0xba80 = CSSBCBase::SqlUndoRecord() +0x4b0
sscfom +0x3a2e8 = CSSBusComp::UndoRecord() +0x368
sscfom +0x23236 = CSSBusComp::PrepareForDelete() +0x156
sscfom +0x43cd5 = CSSBusObj::~CSSBusObj() +0x75
sscfom +0x47f05 = CSSBusObj::`vector deleting destructor'() +0x45
sscfom +0x46d28 = CSSBusObj::Release() +0x28
sscfomlg +0x89c2 = CSSELBusObjImpl::`vector deleting destructor'() +0x42

Customer recieved following an error (SBL-DAT-00279) The ability to insert records is not available in this screen or applet." prior to crash in respective OM logs with reference to first callstack.

In addition, they also recieved (SBL-DAT-00501) Invalid search specification 'IIf ((LookupValue ("QUOTE_TYPE", "CSPR") , "MR Quote", "Product Quote")'.." prior to second callstack in respective OM log.

After reviewing OM logs, it was noticed that first callstack was occuring on "Quote Form Applet (WriteRecord)" and second one was on "Quote Entry Applet (WriteRecord).

In first callstack the 'sscfjs' is the eScripting dll that is causing the crash. Support asked customer to check their script on "Quote Form Applet (WriteRecord)".

In addition, they also had been asked to check their script on "Quote Entry Applet (WriteRecord)"


No comments:

Post a Comment