I've found that the search-string node of the property set isn't particularly useful unless your back-end data source has a column structure that matches your VBC. In the example above, you can quickly see how difficulty it could be for a Siebel developer to write a script to parse a property set containing a search-spec node with any complexity.
<siebel-xmlext-query-req>
<buscomp id="1">Contact</buscomp>
<remote-source>http://throth/servlet/VBCContacts</remote-source>
<max-rows>6</max-rows>
<search-string>=([Phone] IS NOT NULL) AND ([AccountId] = "1-6")</search-string>
<search-spec>
<node node-type="Binary Operator">AND
<node node-type="Unary Operator">IS NOT NULL
<node node-type="Identifier">Phone</node>
</node>
<node node-type="Binary Operator">=
<node node-type="Identifier">AccountId</node>
<node value-type="TEXT" node-type="Constant">1-6</node>
</node>
</node>
</search-spec>
<sort-spec>
<sort field="Location">ASCENDING</sort>
<sort field="Name">DESCENDING</sort>
</sort-spec>
</Siebel-xmlext-query-req>
In Siebel versions prior to 7.5, the Inputs property set was much simpler. Below, see an eScript snippet that unloads a search specification in the query method of a VBC Business Service using the older format of input:
var child = Inputs.GetChild(0);Where query specifications are entered into a form applet as field, the old format lets you easily retrieve input values and manipulate them in eScript variables.
var sPolicyNumber = child.GetProperty("Policy Number");
var sLastName = child.GetProperty("Date of Birth");
var sFirstName = child.GetProperty("First Name");
For Query input in the earlier, simpler format, add the following Business Component User Property to your VBC:
Name: VBC Compatibility Mode
Value: Siebel 7.0.4
1 comment:
Post a Comment