ExecuteSearch Method

Executes the search on products using the input search option, such as product class, class attributes, attribute constraints, pricing criteria, and so on. Based on the input parameters, the ExecuteSearch method supports pagination, returning the search output in pages. This is an external method.

Syntax

Product Data Service.InvokeMethod(“ExecuteSearch", Input Arguments,Output Arguments);

Arguments

There are two types of search supported: SearchByProduct or SearchByClass. SearchOption is a required input to indicate the type of search performed.

Arguments for SearchByProduct Type Description

Input Arguments

In

SearchOption: SearchByProduct. This input argument is required.

IO: an instance of Integration Object PDS Product Interface. This input argument is required.

PricingMode: Y/N (calculates price or not). Optional. Default value: Y.

EligibilityMode: 0, 1, 2 (eligibility display mode. 0 do not run; 1 run; 2 run but only return eligible ones). Optional. Default value: 1.

ContextMode: SiebelContext or ExternalConext. Optional, but if it's not provided,it won't run pricing and eligibility.

Context: an instance of Integration Object PDS Catalog Context. It either contains SiebelContext or ExternalContext. Optional only if ContextMode is not provided; otherwise, required.

PriceSearchExpression: price field search expression. For example: is greater than 100 and is less than 1000. Optional.

ProductSearchSpec: product business component search specification. For example: [Name] like "IBM*". Optional.

ResultSize: number of products returned. Optional. Default Value 30.

Output Arguments

Out

Hierarchy: SiebelMessage (Integration object PDS Product Interface)

Arguments for SearchByClass Type Description

Input Arguments

In

SearchOption: SearchByClass. This input argument is required.

IO: an instance of Integration Object PDS Product Class Attributes Interface. This input argument is required. The user must specify class ID, attribute ID, and an attribute value in attribute LOV value structure (that is, an array with 1 element for either freeform or LOV type attribute).

PricingMode: Y/N (calculates price or not). Optional. Default value: Y.

EligibilityMode: 0, 1, 2 (eligibility display mode. 0 do not run; 1 run; 2 run but only return eligible products). Optional. Default value is 1.

ContextMode: SiebelContext or ExternalContext. Optional, but if it is not provided, it won't run pricing and eligibility.

Context: an instance of Integration Object PDS Catalog Context. It either contains SiebelContext or ExternalContext. Optional only if ContextMode is not provided; otherwise, required.

PriceSearchExpression: price field search expression. For example: is greater than 100 and is less than 1000. Optional.

ProductSearchSpec: product business component search specification. For example: [Name] like "IBM*". Optional.

ResultSize: number of products returned. Optional. Default Value 30.

Output Arguments

Out

Hierarchy: SiebelMessage (Integration object PDS Product Interface)

Properties of Input Arguments

Property Type Value Description

ContextMode

String

SiebelContext, ExternalContext

SiebelContext: Using existing Quote/Order Information in Siebel database. In this case, the API constructs the context using the provided row_id.

ExternalContext: External Call provides the context information, API passes them directly to the Pricing and Eligibility Process.

ResultSize

Number

For example, 30

The number of products that would be retrieved from the query result.

Context

Hierarchy: SiebelMessage (Integration object PDS Catalog Context)

See the following examples.

None

Integration Object

SiebelMessage

PDS Product Interface

None

StartRowNum

Number

For example, 0.

Determines the starting point for record retrieval. This is the zero-based index of the record within the record set.

PageSize

Number

For example, 5.

The number of records to be returned.

RecordCountNeeded

String

True

When this is set to True, then this parameter indicates that a record count is needed as part of the output for this search. Valid values are True or False.

Properties of Output Arguments

Property Type Value Description

RecordCount

String

For example, 30.

If the RecordCountNeeded input parameter is set to True, then this output parameter provides the number of elements returned by the search specification.

LastPage

String

True or False

Indicates if the returned record is the last record in the record set.

Example of Input Arguments

PropertySet@0012C82C p#7 c#3 type="" vt=0 value=""
{
    p["EligibilityMode"] = "1";
    p["ProductSearchSpec"] = "";
    p["PriceSearchExpression"] = "";
    p["ContextMode"] = "SiebelContext";
    p["ResultSize"] = "";
    p["PricingMode"] = "Y";
    p["SearchOption"] = "SearchByClass";
    c[0] PropertySet@0A7AEFC0 p#4 c#1 type="Context" vt=0 value=""
    {
        p["MessageId"] = "";
        p["IntObjectName"] = "PDS Catalog Context";
        p["MessageType"] = "Integration Object";
        p["IntObjectFormat"] = "Siebel Hierarchical";
        c[0] PropertySet@0A778688 p#0 c#1 type="ListOfPDS Catalog Context" vt=0 value=""
        {
            c[0] PropertySet@0A7F7CE0 p#0 c#1 type="Context" vt=0 value=""
            {
                c[0] PropertySet@0AAD12D8 p#0 c#1 type="ListOfSiebel Context" vt=0 value=""
                {
                    c[0] PropertySet@0AA29A88 p#4 c#0 type="Siebel Context" vt=0 value=""
                    {
                        p["BusObjName"] = "Quote";
                        p["ContextRowId"] = "1-10MLH";
                        p["SignalMode"] = "Quote";
                        p["BusCompName"] = "Quote";
                    }
                }
            }
        }
    }
    c[1] PropertySet@0AA524A0 p#4 c#1 type="ClassAttributes" vt=0 value=""
    {
        p["MessageId"] = "";
        p["IntObjectName"] = "PDS Product Class Attributes Interface";
        p["MessageType"] = "Integration Object";
        p["IntObjectFormat"] = "Siebel Hierarchical";
        c[0] PropertySet@0AACF400 p#0 c#1 type="ListOfPDS Product Class Attributes 
Interface" vt=0 value=""
        {
            c[0] PropertySet@0AA92A18 p#1 c#1 type="ISS PS Direct Subclass" vt=0 value=""
            {
                p["Class Id"] = "99-27K1T";
                c[0] PropertySet@0AA53858 p#0 c#1 type="ListOfISS Class Attribute" vt=0 
value=""
                {
                    c[0] PropertySet@0A9B38B8 p#2 c#0 type="ISS Class Attribute" vt=0 
value=""
                    {
                        p["Value"] = "Professional";
                        p["Attribute Id"] = "OM_Edition";
                    }
                }
            }
        }
    }
    c[2] PropertySet@054B87F0 p#4 c#1 type="SiebelMessage" vt=0 value=""
    {
        p["MessageId"] = "";
        p["IntObjectName"] = "PDS Product Interface";
        p["MessageType"] = "Integration Object";
        p["IntObjectFormat"] = "Siebel Hierarchical";
        c[0] PropertySet@00C8E8F8 p#0 c#1 type="ListOfPDS Product Interface" vt=0 value=""
        {
            c[0] PropertySet@0A798FF8 p#0 c#0 type="Product" vt=0 value=""
        }
    }
}
PropertySet@0012CCB8 p#0 c#1 type="" vt=0 value=""
{
    c[0] PropertySet@02C806E0 p#4 c#1 type="SiebelMessage" vt=0 value=""
    {
        p["MessageId"] = "";
        p["MessageType"] = "Integration Object";
        p["IntObjectName"] = "PDS Product Interface";
        p["IntObjectFormat"] = "Siebel Hierarchical";
        c[0] PropertySet@02B9FF00 p#0 c#2 type="ListOfPDS Product Interface" vt=0 value=""
        {
            c[0] PropertySet@0B97D3F8 p#24 c#0 type="Product" vt=3 value="99-27KMW"
            {
                p["Class Id"] = "99-27K1T";
                p["Product Def Type Code"] = "Customizable";
                p["Reference Price"] = "";
                p["Vendor Integration Id"] = "";
                p["Id"] = "99-27KMW";
                p["Eligibility Reason"] = "";
                p["Pre Pick"] = "N";
                p["Product Id"] = "99-27KMW";
                p["Part #"] = "";
                p["Eligibility Status"] = "";
                p["Parent Item Id"] = "";
                p["Inclusive Eligibility Flag"] = "N";
                p["Integration Id"] = "";
                p["Net Price"] = "";
                p["Effective To"] = "";
                p["List Price"] = "";
                p["Product Configuration Model Id"] = "99-27KMW";
                p["Product Line Id"] = "No Match Row Id";
                p["Effective From"] = "";
                p["List Price Type Code"] = "STANDARD";
                p["Product Type Code"] = "Product";
                p["Quantity"] = "1";
                p["Name"] = "OM_Windows NT";
                p["Price List Id"] = "99-27LE5";
            }
            c[1] PropertySet@0B824EB8 p#24 c#0 type="Product" vt=3 value="99-27KN1"
            {
                p["Class Id"] = "99-27K1T";
                p["Product Def Type Code"] = "None";
                p["Reference Price"] = "";
                p["Vendor Integration Id"] = "";
                p["Id"] = "99-27KN1";
                p["Eligibility Reason"] = "";
                p["Pre Pick"] = "N";
                p["Product Id"] = "99-27KN1";
                p["Part #"] = "";
                p["Eligibility Status"] = "";
                p["Parent Item Id"] = "";
                p["Inclusive Eligibility Flag"] = "N";
                p["Integration Id"] = "";
                p["Net Price"] = "";
                p["Effective To"] = "";
                p["List Price"] = "";
                p["Product Configuration Model Id"] = "99-27KN1";
                p["Product Line Id"] = "No Match Row Id";
                p["Effective From"] = "";
                p["List Price Type Code"] = "STANDARD";
                p["Product Type Code"] = "Product";
                p["Quantity"] = "1";
                p["Name"] = "OM_Windows XP";
                p["Price List Id"] = "99-27LE5";
            }
        }
    }
}
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 must 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.