Search This Blog

SBL-DAT-00418: You have attempted to insert the value for column '%1' in table '%2' twice in the same statement.

Applies to:

Siebel CRM - Version: 7.8.2.6 SIA [19230] - Release: V7

Information in this document applies to any platform.

Symptoms


When trying to ungroup an order line item the following pop-up error message appears:
[1]Error invoking service 'SIS OM PMT Service', method 'Ungroup' at step 'Explode Order Item'.(SBL-BPR-00162)
[2]You have attempted to insert the value for column 'NET_PRI' in table 'S_ORDER_ITEM' twice in the same statement.(SBL-DAT-00418)

Cause


This error message is due to multiple fields in the business component referring to the same table column.
The S_ORDER_ITEM column 'NET_PRI' is used by the following fields in business component 'Order Entry - Line Items':
Allocated Price and Net Price

The following change request has been created for this issue:
CR 12-1CZM8A6: Copy record throws error under sales order ->Pricing->Assets
It has been fixed in Siebel version 8.0.

Solution

The recommended solution for Siebel application versions prior to v8.0 is to perform the following in Siebel Tools connected to your repository:
1. Search for all occurrences of 'Allocated Price' in entire repository, variable maps and code (there are around 110 occurrences of 'Allocated Price' in the repository, which belong to quotes and orders and TNT).
2. Inactivate the field 'Allocated Price' and modify all the objects, which are referring to this field, to refer to 'Net Price' instead.

\

Applies to:

Siebel Tools - Version: 7.8.2.5 SIA [19227] and later   [Release: V7 and later ]
Information in this document applies to any platform.
""Checked for Relevance on 03-Dec-2010""

Symptoms

We have a really strange bug. We are trying to create a new account and add a new address using MVG applet. When we go to Account Screen, create new record and click on Street Name MVG field. It shows up a MVG applet for Customer Addresses.

 When we click on custom "New" button, which invoke BC.NewRecord() method in the MVG applet, an error occurs:
- - -
You have attempted to insert the value for column 'MODIFICATION_NUMBER' in table 'S_CON_ADDR' twice in the same statement.(SBL-DAT-00418)
- - -

An expected result should be:  New record is created and we should enter some mandatory fields and choose Street Name from another field. Save record.

This error is reproducible on server environment ONLY. We are not getting error when we are trying the same test case on dedicated client with the same srf and connection string. There is no way to debug it. It happens not always, for example if we are testing it after restart couple of records could be created successfully, but after that error will be showed again. We were trying to spool sql (level 4), but there are no any sql statements inside log file created during test time. We guess that Siebel is trying to save record, which are not yet completed.

Cause

The objects involved in the customer scenario was the following: A MVG applet based on BC 'CUT Address' and invoked from an applet based on BC 'Account'.

A review of the customized BC 'CUT Address' revealed the following custom join:
- - -
Table: S_CON_ADDR
Alias Name: S_CON_ADDR
Outer Join Flag: FALSE
- - -

with the join specification below:
- - -
Name: Identificador
Destination Column: ADDR_PER_ID
Source Field: Identificador
- - -

The custom field 'Identificador' was mapped to the ROW_ID column of table S_ADDR_PER.

Note that S_CON_ADDR table is the intersection table of several M:M links where BC 'CUT Address' is the child BC , in particular the link 'Account/CUT Address' that is involved in the customer scenario. Therefore an implicit join to S_CON_ADDR table exists in BC 'CUT Address' and there is no need to create an explicit join.

Solution

The issue was resolved once the explicit join to S_CON_ADDR was removed.

For further information about implicit joins please refer to the Bookshelf:

Configuring Siebel Business Applications
Configuring Joins
About Implicit Joins

Configuring Siebel eBusiness Applications
Configuring Tables and Columns
About Intersection Tables

and also Note 475503.1.

References

NOTE:475503.1 - Implied Joins

Applies to:

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

Symptoms

When the customer was trying to copy any record in the accounts list,
the following error occurs.

ERROR
-----------------------
You have attempted to insert the value for column '<?>' in table '<?>' twice in the same statement.(SBL-DAT-00418)

Cause

When there is multiple MVL to a same BC, with "No Copy" set to FALSE, then while copying the Parent BC record, multiple copy record would be triggered in the Child BC, causing an error. A copy record would be triggered for all the active links, with "No Copy" set to FALSE, on the view from which the Parent BC record is copied.

In customer's environment, customer had 8 MVL to the Position BC, configured on the Account BC. Of these, 5 MVL did not have "No Copy" property set to FALSE. This was causing multiple copy of the records on the Position BC and hence the error was thrown.

Solution

Setting "No Copy" property to FALSE for all the MVLs (except one) mapped to the same BC would resolve the issue.

The below steps helped the customer to resolve the issue:

(1) In Siebel Tools, go to the Account BC, which has the custom MVLs to Position BC.
(2) Set "No Copy" property to FALSE for all the custom MVL to the Position BC.
(3) Compile the changes.

Applies to:

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

Symptoms

After upgrading the configuration, a process of Siebel Thin Application (eEnergy Object Manager) started to report following error then new record  of "Channel Partner" Business Component (BC) was adding in Siebel DB, using Siebel Business Components API (invoked from external application - the Siebel Adapter of Tibco):
ObjMgrLog Error 1 (sqllog.cpp (2016)) SBL-DAT-00418: You have attempted to insert the value for column 'PR_CON_ID' in table 'S_ORG_EXT' twice in the same statement.


Changes

Siebel Application (customized solution) upgrade from 7.5 SIA to 8.1.1 SIA

Cause

In Siebel 8.1.1. SIA release, the standard (as shipped) Business Component (BC): "Channel Partner", exposes the Multi-Value Link (MVL): "Auto CF Agency Primary Contact Id" of the "Channel Partner/Contact" Link.

This MVL requires presence of  the BC field: "Auto CF Agency Primary Contact Id" (the MVL's Primary Id), which is based on the the "PR_CON_ID" Column of the "S_ORG_EXT" table.

The source custom solution (that was used in Siebel 7.5 SIA release before upgrade)
has brought (added) another and new (to 8.1.1) MVL to the same BC - the  "Primary Contact" MVL. This MVL was merged with standard 8.1.1 objects into the destination configuration after upgrade to Siebel 8.1.1 SIA release

This 2nd MVL, is also based on the  "Channel Partner/Contact" Link nd requires
 and requires presence of the BC Field: "Primary Contact Id" (the MVL's Primary Id).  This filed is also based on the the "PR_CON_ID" Column of the "S_ORG_EXT" table.

* * *

The problem (the reported error) occurs at instantiation the BC, since both MVLs: the "Primary Contact"  (custom from 7.5 SIA) and the "Auto CF Agency Primary Contact" (standard in 8.1.1 SIA) requests active participation of their primary id fields (the "Primary Contact Id" and "Auto CF Agency Primary Contact Id") in Siebel transaction. It is because both fields, have to pools and update the same column (the "PR_CON_ID" one) in the same row of the table ("S_ORG_EXT").

Solution

  Id application implementation permits, inactivate  of conflicting primary id, MVL and MVFs.

For example to keep upgraded configuration working, inactivate the standard objects around the "Auto CF Agency Primary Contact Id" Field and all its related BC child objects:
- the Field: "Auto CF Agency Primary Contact Id"
- the MVL: "Auto CF Agency Primary Contact"
- all MVFs (of this MVL): "Auto CF Agency Primary Contact Name"



References

NOTE:740494.1 - It is not possible to create new address for customer - Error SBL-DAT-00418

No comments:

Post a Comment