Siebel Order Management Guide > Product Data Service and Import/Export API Reference > Product Data Services API Methods >

ExecuteSearch Method


Executes the search on products based on the input search option, such as product class, class attributes, attribute constraints, pricing criteria, and so on. External

Syntax

ErrCode ExecuteSearch (const CCFPropertySet& inputArgs, CCFPropertySet& outputArgs);

Arguments
Argument
Type
Description

const CCFPropertySet& inputArgs

In

Option, OptionId, Context, ContextMode, SearchSpec, ResultSize, BatchNumOfId, SiebelMessage

CCFPropertySet& outputArgs

Out

Hierarchy :SiebelMessage

Details of Input Arguments

Property
Type
Value
Description

Option

String

For example: Application Software

Product class name or All (flat product class search)

NOTE:  This property must be provided if the OptionId property is not specified.

OptionId

String

For example:
1-3CE27

Indicates the Row_id of the product class record.

NOTE:  This property must be provided if the Option property is not specified.

Hierarchy

See the examples that follow this table.

SearchSpec

If the Option property is not set to All, or the OptionId is specified, this property set contains the constraints on the class attributes.

If the Option property is set to All, this property set contains the criteria on product fields or an individual child property set (where SearchSpec can be specified for the explicit SearchSpec expression).

ContextMode

String

SiebelContext, ExternalContex, NoEligibility

SiebelContext: Using existing Quote/Order Information in Siebel Database. In this case, the API will construct the Context based on the provided row_id

ExternalContext: External Call will provide the context information, API will pass them directly to the Pricing and Eligibility Process.

NoEligibility: Does not check eligibility.

ResultSize

Number

For example: 30

The number of products that are retrieved from the query result.

BatchNumOfId

Number

For example: 50

The number of row IDs that are concatenated at once and that respond to the SQL QUERY statement. This number is set to 50 by default, depending on the database configuration.

Context

Hierarchy

See the examples that follow this table.

None.

Integration Object

SiebelMessage

PDS Product Interface

None.

Example of Input Arguments

CCFPropertySet@0013BA34 p#3 c#2 type="" vt=0 value=""

{

p["ContextMode"] = "SiebelContext";

p["ResultSize"] = "50";

p["Option"] = "All";

c[0] CCFPropertySet@0C1EA490 p#0 c#2 type="ContextWrapper" vt=0 value=""

{

c[0] CCFPropertySet@0C1BEDE0 p#4 c#0 type="Context" vt=3 value=""

{

p["BusObjName"] = "Quote";

p["ContextRowId"] = "2-47J4V";

p["SignalMode"] = "Quote";

p["BusCompName"] = "Quote";

}

}

c[1] CCFPropertySet@0C1B3F50 p#0 c#2 type="SearchSpecWrapper" vt=0 value=""

{

c[0] CCFPropertySet@0C1454D0 p#0 c#3 type="SearchSpec" vt=3 value=""

{

c[0] CCFPropertySet@0B87A2C8 p#0 c#0 type="SearchSpec" vt=3 value="[Name] = 'UANProduct1' or [Name] = 'UANProduct3'"

c[1] CCFPropertySet@0AFDBAC0 p#0 c#0 type="ListPrice" vt=3 value="[List Price]>45"

}

}

}

Example of ExternalContext Input

CCFPropertySet@0013B958 p#11 c#0 type="Header" vt=3 value="2-47J4V"

{

p["Account Id"] = "";

p["City"] = "";

p["Currency Code"] = "USD";

p["State"] = "";

p["Eligibility Display Mode"] = "1";

p["Discount Percent"] = "";

p["Account Contracted Products Only Flag"] = "";

p["Exchange Date"] = "03/04/2005";

p["Account Type"] = "";

p["Postal Code"] = "";

p["Price List Id"] = "2-47J4M";

}

Example of Output Arguments

CCFPropertySet@0013C1F0 p#0 c#1 type="" vt=0 value=""

{

c[0] CCFPropertySet@0C203838 p#4 c#1 type="SiebelMessage" vt=0 value=""

{

p["MessageId"] = "2-3ZPA";

p["IntObjectName"] = "PDS Product Interface";

p["MessageType"] = "Integration Object";

p["IntObjectFormat"] = "Siebel Hierarchical";

c[0] CCFPropertySet@0BADEAE0 p#0 c#2 type="ListOfProduct" vt=0 value=""

{

c[0] CCFPropertySet@0C1EDBC0 p#7 c#1 type="ListOfInternalProduct" vt=0 value=""

{

c[0] CCFPropertySet@0C1FA3C0 p#21 c#0 type="Internal Product" vt=0 value=""

{

p["PrePick"] = "Y";

p["Id"] = "2-47J3S";

p["Name2"] = "UANProduct1";

p["PriceType"] = "One-Time";

... ...

}

c[0] CCFPropertySet@0C1FA3C0 p#21 c#0 type="Internal Product" vt=0 value=""

{

p["PrePick"] = "Y";

p["Id"] = "2-47J4E";

p["Name2"] = "UANProduct3";

p["PriceType"] = "One-Time";

... ...

}

}

}

}

}

Error Conditions
Error Message
Description

The 'Data Sync Service: ExecuteSearch' user property is not defined in business service 'PDS Product Data Service

The specified user property can not be found on the business service, which should have value PDS Product by default.

Cannot get property set 1%.

The required property set input 1% is not provided.

Unable to locate record with row id as '%1' in '%2

The specified row_id 1% in BC 2% could not be found.

Unable to create the Business Service PDS Product

Can not initiate the business service.

Siebel Order Management Guide Copyright © 2009, Oracle and/or its affiliates. All rights reserved. Legal Notices.