Search This Blog

SBL-DAT-00457: Queries in multi-valued fields '%1' requires the term 'EXISTS' within your query criterion.

Applies to:

Siebel System Software - Version: 8.0.0.5 [20420] - Release: V8
Information in this document applies to any platform.

Symptoms

We are trying to get our Search Center working with the 8.0.0.5 Patch.

We have a Field in our Search Applet, which refers to a Multi Value Field. When we now search on this field for "+41794046334" we get the following message:
---
Queries in multi-valued fields 'MSISDN Find SCM' requires the term 'EXISTS' within your query criterion. Please refer to the documentation if you need more information.(SBL-DAT-00457)
---
When we try to enter "EXISTS +41794046334" it cuts the Number again to "+41794046334" and displays the same error message.

I tried to have a look at the Search Criteria sent to the Business Service "Search Execution Service":
---
SearchText:11#12#+417940463340#0#0#0#0#0#0#0#0#0#
FindFields:11#15#MSISDN Find SCM11#Account Nr.4#Name17#MSISDN Status SCM10#MSISDN SCM20#Account Nr. Find SCM11#BSK Nr. SCM27#Street Address for Find SCM23#Street Nr. for Find SCM24#Postal Code for Find SCM17#City for Find SCM
---
Output is the same with the EXISTS search.

The general functionality of the Search Center seems to be OK. Also the search for EXISTS in other GUI fields works without any issues.

Cause

NOTE: The Find feature is supported in version 8.0.0.2 and higher and it is necessary to follow "Configuration Instructions for ACR 367" that can be found in Maintenance Release Guide, Siebel CRM version 8.0 and also on in Note 475394.1 on Metalink 3.

The behavior described by the customer is a product defect reproducible using Siebel application version 8.0.0.5 SIA against the sample database. Here are the steps:

# Using Siebel Tools:

1. Add this MVF in BC 'Contact':
- - -
Name: Account Phone Number
Multivalue Link: Account
Field: Phone Number
- - -

2.  Add it as Find Field to the 'Corporate Contact' Find object

NOTE: Phone Number is also a MVF in BC 'Account'

# Using Siebel Call Center application:

1. Open the Search center
2. Choose "Contacts" in "Look In" dropdown list
5. Perform a search on field "Account Phone Number":
> You will get this error
- - -
Queries in multi-valued fields 'Account Phone Number' requires the term 'EXISTS' within your query criterion. Please refer...(SBL-DAT-00457)
- - -

I you perform another test with another following MVF in BC 'Contact', for example:
- - -
Name: Account City
Multivalue Link: Account
Field: City
- - -

you will observe the same behavior.

Note that this behavior occurs when the Find results are displayed in applet 'Find Results List Applet' under the search criteria applet 'Find Applet', namely when the 'Find Applet' has the following user property:
- - -
Name: GotoView
Value: Find Results View
- - -

This behavior does not occur when the Find results are displayed directly in the destination view, namely when the GotoView user property mentioned above has an empty Value or is inactive.

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

Solution

The suggestion to workaround this behavior is to use a joined field instead of a MVF.

For example the steps for the 2nd scenario mentioned above (MVF 'Account City') would be like the following:

1. Add a join in BC 'Contact':
- - -
Table: S_CON_ADDR
Alias: Acc Addr
Outer Join Flag: TRUE
- - -

with this join specification
- - -
Name: Account Id
Destination Column: ACCNT_ID
Source Field: Account Id
- - -

2. Add a joined field:
- - -
Name: Acc Addr Id
Join: Acc Addr
Column: ADDR_PER_ID
- - -

3. Add another join:
- - -
Table: S_ADDR_PER
Alias: Addr
Outer Join Flag: TRUE
- - -

with this join specification
- - -
Name: Addr Id
Destination Column: ROW_ID
Source Field: ROW_ID
- - -

4. Add another joined field:
- - -
Name: Joined Account City
Join: Addr
Column: CITY
- - -

5. Use field 'Joined Account City' as Find Field for the 'Corporate Contact' find object instead of the MVF 'Account City'.

References

NOTE:475394.1 - Find Functionality Is Now Supported in Siebel Fix Pack Version 8.0.0.2

Applies to:

Siebel eService - Version: 7.8.2.10 [19241] - Release: V7
Information in this document applies to any platform.

Symptoms

The following behavior was reproduced with etraining in SEA ( horizontal) application:

1. Set a shortcut to point to etraining.cfg and connect to Sample database.
2. On the Home page, select All Trainings link.
3. Select a language in the Language field
4.Press Go.

The following error occurs:

Queries in multi-valued fields 'Language Name' requires the term 'EXISTS' within your query criterion. Please refer to the documentation if you need more information.(SBL-DAT-00457)



Cause


The behavior reproduced is a product defect.

Solution

  Bug 12-1VR2PHX was logged to address this defect.
The following workaround through configuration was found:

The applet involved is 'Find Training By Media Course Search Form', based on BC 'Training Course For Find'.
The BC field involved is the MVF 'Language Name' that uses 'Training Course Language' as MVL.
This MVL has the "Use Primary Join" property set to TRUE.

A possible workaround would be to set the "Use Primary Join" property to FALSE.
Tests should be performed to ensure there is no adverse impact on performance.

References

BUG:12-1VR2PHX - ETRAINING: SEARCH OF TRAINING COURSES BY LANGUAGE PRODUCES "SBL-DAT-00457" ERROR

No comments:

Post a Comment