Search This Blog

SBL-DAT-00412: An error occurred calculating the default value for field '%1' in business component '%2'.

Applies to:

Siebel Loyalty Engine - Version: 7.8.1.1 [19044] - Release: V7
Sun Solaris SPARC (64-bit)
Product Release: V7 (Enterprise)
Version: 7.8.1.1 [19044]
Database: Oracle 9.2.0.6
Application Server OS: Sun Solaris 2.8
Database Server OS: Sun Solaris 2.8

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

Symptoms

We have a serious and very urgent problem with the import/export workflow impacting on the BC configuration.
Basically we noticed that when importing an exported Program with promotions, the import fails. The failure is due to tha field Partner Status left empty when creating a Tier Promotion (this is created automatically when creating a Tier).
Unfortunately there is a State Model preventing the import as the empty field is not part of the allowed values.
The reason this happens is because while the BC LOY Promotions (use when creating a promotion via GUI) has the value "In Progress" predefaulted, the similar BC LOY Tier Promotion (used when creating the default Tier Promotion) does not have the equivalent predefault value set.
We have two ways to solve the problem:
1. modify the BC LOY Tier Promotion adding the predefault value 2. modify the State Model

I personally believe the option 1. is preferred but I don't know if adding a Partner Status to a Tier Promotion would affect the engine or the approval path of the records.
Could you please advise.
NOTE: Please note that the version is now 7.8.2

Cause

 

Solution

Message 1

For the benefit of other users,

The behavior seen by the customer on using LOY EAI Import Program to import a loyalty program was reproducible in standard siebel environment.

The following was the behavior seen:

Log on to Siebel Tools as SADMIN connecting to SAMPLE db.

Set the debug options accordinly for simulation of workflow.
For the workflow LOY EAI Export Program changed the following properties in order to export High Miles program:
FileName - C:\Loyalty\eailoy.xml
Object Id - 2SIA-1565M

Simulated the workflow, and the loyalty program High Miles is exported to eailoy.xml file.

Edit the xml file and replace all High Miles to High Miles Test to change the loyalty program name.

Change the following property on LOY EAI Import Program
FileName - C:\Loyalty\eailoy.xml

On simulation, the above workflow errors out in step Write Program to Database step.


Error invoking service 'EAI Siebel Adapter', method 'Insert' at step 'Write Program to Database'.(SBL-BPR-00162)
--
Method 'NewRecord' of business component 'LOY Tier Class EAI' (integration component 'LOY Tier Class EAI') returned the following error:
"An error occurred calculating the default value for field 'Sequence' in business component 'LOY Tier Class EAI'.(SBL-DAT-00412)"(SBL-EAI-04376)

Error invoking service 'EAI Siebel Adapter', method 'Insert' at step 'Write Program to Database'.(SBL-BPR-00162)
(SBL-BPR-00162)--(SBL-DAT-00412)

-----Continued-----

Message 2

-----Continued-----


Hence it was not possible to import loyalty programs.

Change Request “LOY EAI Import program workflow does not work as expected to import loyalty program” (12-17YYH9E) was raised to address the above issue.

As per the above CR, please follow the repository fix instructions in the attached document for the LOY EAI Import program to work.

Thank you,
Siebel Technical Support


Applies to:

Siebel Tools - Version: 7.5.3.7 [16190] and later   [Release: V7 and later ]
z*OBSOLETE: Microsoft Windows 2000
Product Release: V7 (Enterprise)
Version: 7.5.3.4 [16180]
Database: Oracle 9.2.0.4
Application Server OS: Microsoft Windows 2000 Advanced Server SP 4
Database Server OS: Microsoft Windows 2000 Advanced Server SP 4

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

""Checked for Relevance on 21-May-2010""

Symptoms

We get an error when I click on the "New" button on the Opportunity applet. The error message is attached. The error message is:

"An Error Occurred calculating the Default value for Field "Opportunity Close Date" in business component 'Opportunity-SalesRep-VisMvgSqlBcDef (SBL-DAT-00412)."

I have checked the application and there is no BC with "VisMvgSqlBcDef". Please let me know the reason for this error. I have looked up the SupportWeb but could not find anything helpful to our situation.

We get this error in a new Dev environment (Dev 5) which has Patch 11 installed. We do not get this error in the Dev 3 environment. The only difference between the two environments is the Patch 11.

Cause

.

Solution

The behavior described by the customer is reproducible with a standard Siebel environment version 7.5.3.7 or higher by performing the steps below:

# Using Tools:

1. Change the pre-default value of field 'Opportunity Close Date' in Business Component (BC) 'Position' to:

Expr: "IIf ( ParentBCName () = 'Opportunity' , IfNull(ParentFieldValue ('Default Close Date') , Today ()), Today () )"

2. Add the following calculated field in BC 'Opportunity':

Name: Default Close Date
Calculated Value: Today() +2 (For example)
Link Specification: TRUE

# Using Siebel application:

1. Navigate to "My Opportunities" view
2. Create a new record:
> The following errors will occur:
- - -
[1] An error occurred calculating the default value for field 'Opportunity Close Date' in business component 'Opportunity-SalesRep-VisMvgSqlBcDef'.(SBL-DAT-00412).
[2] Could not evaluate expression 'Expr: "IIf ( ParentBCName () = 'Opportunity' , IfNull(ParentFieldValue ('Default Close Date') , Today()), Today() )"'' for field 'Opportunity Close Date' in business component 'Opportunity - Sales Rep - VisMvgSqlBCDef'.(SBL-DAT-00394)
[3] Unable to find value for parent field 'Opportunity.Default Close Date'. Make sure LinkSpec = TRUE is used on the parent field.(SBL-DAT-00467)
- - -

This issue is not reproducible with version 7.5.3.6 or below and with version 7.7 either.

Bug 12-VS5MUH has been logged to address this product defect.

Note that the issue occurs only if you try to use the ParentFieldValue function to pre-default an intersection field in a child BC with the value of a field in the parent BC. In the customer case the field 'Opportunity Close Date' in BC 'Position' is indeed based on column FCST_CLS_DT in table S_OPTY_POSTN. This table is an intersection table used by the M:M link between BC 'Opportunity' and BC 'Position'.

Moreover it occurs only when a child record is also created at the same time as the parent record. In the customer case the child position record is automatically created because of the visibility settings of BC 'Opportunity'. This BC has indeed the following BusComp View Mode:
- - -
Name: Sales Rep
Owner Type: Position
Visibility MVField: Sales Rep
Visibility MVLink: Position
- - -

For the customer the suggestion to pre-default the field 'Opportunity Close Date' using the value of a field in BC 'Opportunity' was to use scripting in the BusComp_NewRecord event of BC 'Opportunity'. The steps are the following:

(a) Instantiate the MVG BC associated to the MVF 'Sales Rep' in the current BC.
(b) Query the MVG BC to retrieve the position record automatically created.
(c) Set the value of field 'Opportunity Close Date' with the value wished (e.g. the value of the field 'Default Close Date' in the current BC.
(d) Destroy the instance of the MVG BC.

For further information about the programming possibilities and Siebel interface events and methods, please refer to the Bookshelf:

# Siebel Object Interfaces Reference
- Programming
- Interfaces Reference

# Siebel VB Language Reference
# Siebel eScript Language Reference

References

BUG:12-VS5MUH - ISSUE WHEN PARENTFIELDVALUE FUNCTION IS USED TO PRE-DEFAULT A FIELD BASED ON AN INTERSECTION COLUMN

Applies to:

Product Release: V8 (Enterprise)
Version: 8.0 [20405]
Database: Oracle 10.2.0.3
Application Server OS: HP 9000 Series HP-UX (64-bit)
Database Server OS: HP 9000 Series HP-UX (64-bit)

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

Symptoms

When processing a tier upgrade, we want to set the Qualifying miles with the remaining miles from the previous tier (field Point 1 Value).

E.g. members are upgraded from Base to Silver if they have 24.000 Qual Miles
A member is Base tier with 25.000 Qual Miles when processing the tier
After processing the tier, I want the member to be Silver with 1.000 Qual Miles

I parameterized the following rule:
- Criteria
        1. Miles >= 24.000
        2. Tier approval status <> Pending
        3. Tier not expired
- Actions
        1. Update Temporary Member Attribute = Miles Member Tier Attribute - 24.000 (in this case 1.000)
        2. Upgrade Tier to Silver
        3. Update Miles Member Tier Attribute = Temporary Member Attribute (Miles Member Tier Attribute was previously set to read only = False)

Then I added in LOY Member Tier BC the user prop LOY Engine Activate Field 1 / Point 1 Value to be able to update the field but I still have the error "An error occurred calculating the default value for field '<?>' in business component '<?>'.(SBL-DAT-00412)"

Solution

Message 1

For the benefit of other readers:-

The customer wanted the excess qualifying points for a tier to be awarded to the next tier. Currently when a member changes tier their qualifying points are reset to 0. For example to qualify for the next tier the member needs 25000 points, and then another 25000 points for the next tier. When the tier process is run the member actually has 30000 qualifying points. The customer wanted the 5000 surplus to be given as qualifying points towards the next tier i.e. in this case the member is only 20000 points away rather than 25000 points.

It is not possible to use the "update attribute" to update points as the customer was doing. Only the "Assign Points" action can be used. However using Assign points causes updates to both non qualifying and lifetime points. Hence even if the points are redeemed, the lifetime value will have excess points.

The solution to this is to write a custom method to handle this scenario. There are two approaches:

1. Update the member tier balance directly. However this means there will be no record of accrual items.
2. Update the member tier balance and create an accrual item with used value equal to the accrual value. This provides a record.

Neither solution is perfect, although the second does give tracking. The Change Request Enhancement 12-1MEBPLA has been raised for this scenario to be catered for in the standard application.

Siebel Technical Support


No comments:

Post a Comment