PerformFind With In Clause ??

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

PerformFind With In Clause ??

Justin Dagostino
If I wanted to use perform find to query for a list of criteria as an 'or'
or 'in', how do we do this in "inputFields"?

Also, I don't really know what noConditionFind means..seems to only come
into play for filter by date.

I tried suffixing the field with '_in', but that didn't seem to work.

For example:
Perform Find for product IDs: 101, 102, and 103

From Webtools 'run service':
inputFields={productId_in = 101, productId_in = 102, productId_in = 103}
noConditionFind=Y
Returns 932 items

inputFields={productId = 100}
noConditionFind=Y
Returns 932 item

inputFields={productId = 100}
noConditionFind=N
Returns 0 items

FYI... The performFind service seems to behave differently than however the
FindGeneric Webtools feature works as expected:
/webtools/control/FindGeneric?entityName=Product
Specify productId = 101
Returns 1 item


Any insight would be very helpful.  Thanks.


---
Justin
Reply | Threaded
Open this post in threaded view
|

Re: PerformFind With In Clause ??

Adrian Crum-3
The noConditionFind parameter controls if results are returned when
there are no query parameters. The purpose is to prevent large result
sets being returned accidentally.

So, if you invoke the service with no constraints:

1. noConditionFind = "Y" returns all records
2. noConditionFind = "N" returns no records

Adrian Crum
Sandglass Software
www.sandglass-software.com

On 1/27/2014 6:11 PM, Justin Dagostino wrote:

> If I wanted to use perform find to query for a list of criteria as an 'or'
> or 'in', how do we do this in "inputFields"?
>
> Also, I don't really know what noConditionFind means..seems to only come
> into play for filter by date.
>
> I tried suffixing the field with '_in', but that didn't seem to work.
>
> For example:
> Perform Find for product IDs: 101, 102, and 103
>
>  From Webtools 'run service':
> inputFields={productId_in = 101, productId_in = 102, productId_in = 103}
> noConditionFind=Y
> Returns 932 items
>
> inputFields={productId = 100}
> noConditionFind=Y
> Returns 932 item
>
> inputFields={productId = 100}
> noConditionFind=N
> Returns 0 items
>
> FYI... The performFind service seems to behave differently than however the
> FindGeneric Webtools feature works as expected:
> /webtools/control/FindGeneric?entityName=Product
> Specify productId = 101
> Returns 1 item
>
>
> Any insight would be very helpful.  Thanks.
>
>
> ---
> Justin
>
Reply | Threaded
Open this post in threaded view
|

Re: PerformFind With In Clause ??

Justin Dagostino
Thanks Adrian.

How about the first part to this question?  :)

Can performFind be used to find based on an 'or' set of criteria?  If so,
how?
Again, I tried suffixing the param name with "_in", but that didn't seem to
do anything.


Any ideas?


---
*Justin Dagostino*
Director Of Engineering
TheCools.com


On Tue, Jan 28, 2014 at 11:45 AM, Adrian Crum <
[hidden email]> wrote:

> The noConditionFind parameter controls if results are returned when there
> are no query parameters. The purpose is to prevent large result sets being
> returned accidentally.
>
> So, if you invoke the service with no constraints:
>
> 1. noConditionFind = "Y" returns all records
> 2. noConditionFind = "N" returns no records
>
> Adrian Crum
> Sandglass Software
> www.sandglass-software.com
>
>
> On 1/27/2014 6:11 PM, Justin Dagostino wrote:
>
>> If I wanted to use perform find to query for a list of criteria as an 'or'
>> or 'in', how do we do this in "inputFields"?
>>
>> Also, I don't really know what noConditionFind means..seems to only come
>> into play for filter by date.
>>
>> I tried suffixing the field with '_in', but that didn't seem to work.
>>
>> For example:
>> Perform Find for product IDs: 101, 102, and 103
>>
>>  From Webtools 'run service':
>> inputFields={productId_in = 101, productId_in = 102, productId_in = 103}
>> noConditionFind=Y
>> Returns 932 items
>>
>> inputFields={productId = 100}
>> noConditionFind=Y
>> Returns 932 item
>>
>> inputFields={productId = 100}
>> noConditionFind=N
>> Returns 0 items
>>
>> FYI... The performFind service seems to behave differently than however
>> the
>> FindGeneric Webtools feature works as expected:
>> /webtools/control/FindGeneric?entityName=Product
>> Specify productId = 101
>> Returns 1 item
>>
>>
>> Any insight would be very helpful.  Thanks.
>>
>>
>> ---
>> Justin
>>
>>
Reply | Threaded
Open this post in threaded view
|

Re: PerformFind With In Clause ??

Adrian Crum-3
Unfortunately, the performFind service is poorly documented. The best
approach would be to reverse-engineer one of the "Find" screens in the
OOTB back office applications. Locate a screen that does something
similar to what you are trying to do, then trace the HTML FORM action to
the controller, then to the event, etc. Look at how the HTML FORM is
composing the request parameters for the SQL IN behavior.

Adrian Crum
Sandglass Software
www.sandglass-software.com

On 1/28/2014 12:17 PM, Justin Dagostino wrote:

> Thanks Adrian.
>
> How about the first part to this question?  :)
>
> Can performFind be used to find based on an 'or' set of criteria?  If so,
> how?
> Again, I tried suffixing the param name with "_in", but that didn't seem to
> do anything.
>
>
> Any ideas?
>
>
> ---
> *Justin Dagostino*
> Director Of Engineering
> TheCools.com
>
>
> On Tue, Jan 28, 2014 at 11:45 AM, Adrian Crum <
> [hidden email]> wrote:
>
>> The noConditionFind parameter controls if results are returned when there
>> are no query parameters. The purpose is to prevent large result sets being
>> returned accidentally.
>>
>> So, if you invoke the service with no constraints:
>>
>> 1. noConditionFind = "Y" returns all records
>> 2. noConditionFind = "N" returns no records
>>
>> Adrian Crum
>> Sandglass Software
>> www.sandglass-software.com
>>
>>
>> On 1/27/2014 6:11 PM, Justin Dagostino wrote:
>>
>>> If I wanted to use perform find to query for a list of criteria as an 'or'
>>> or 'in', how do we do this in "inputFields"?
>>>
>>> Also, I don't really know what noConditionFind means..seems to only come
>>> into play for filter by date.
>>>
>>> I tried suffixing the field with '_in', but that didn't seem to work.
>>>
>>> For example:
>>> Perform Find for product IDs: 101, 102, and 103
>>>
>>>   From Webtools 'run service':
>>> inputFields={productId_in = 101, productId_in = 102, productId_in = 103}
>>> noConditionFind=Y
>>> Returns 932 items
>>>
>>> inputFields={productId = 100}
>>> noConditionFind=Y
>>> Returns 932 item
>>>
>>> inputFields={productId = 100}
>>> noConditionFind=N
>>> Returns 0 items
>>>
>>> FYI... The performFind service seems to behave differently than however
>>> the
>>> FindGeneric Webtools feature works as expected:
>>> /webtools/control/FindGeneric?entityName=Product
>>> Specify productId = 101
>>> Returns 1 item
>>>
>>>
>>> Any insight would be very helpful.  Thanks.
>>>
>>>
>>> ---
>>> Justin
>>>
>>>
>
Reply | Threaded
Open this post in threaded view
|

Re: PerformFind With In Clause ??

Justin Dagostino
Yup.. that was my next step.


Thanks again.

---
*Justin Dagostino*
Director Of Engineering
TheCools.com


On Tue, Jan 28, 2014 at 12:21 PM, Adrian Crum <
[hidden email]> wrote:

> Unfortunately, the performFind service is poorly documented. The best
> approach would be to reverse-engineer one of the "Find" screens in the OOTB
> back office applications. Locate a screen that does something similar to
> what you are trying to do, then trace the HTML FORM action to the
> controller, then to the event, etc. Look at how the HTML FORM is composing
> the request parameters for the SQL IN behavior.
>
>
> Adrian Crum
> Sandglass Software
> www.sandglass-software.com
>
> On 1/28/2014 12:17 PM, Justin Dagostino wrote:
>
>> Thanks Adrian.
>>
>> How about the first part to this question?  :)
>>
>> Can performFind be used to find based on an 'or' set of criteria?  If so,
>> how?
>> Again, I tried suffixing the param name with "_in", but that didn't seem
>> to
>> do anything.
>>
>>
>> Any ideas?
>>
>>
>> ---
>> *Justin Dagostino*
>>
>> Director Of Engineering
>> TheCools.com
>>
>>
>> On Tue, Jan 28, 2014 at 11:45 AM, Adrian Crum <
>> [hidden email]> wrote:
>>
>>  The noConditionFind parameter controls if results are returned when there
>>> are no query parameters. The purpose is to prevent large result sets
>>> being
>>> returned accidentally.
>>>
>>> So, if you invoke the service with no constraints:
>>>
>>> 1. noConditionFind = "Y" returns all records
>>> 2. noConditionFind = "N" returns no records
>>>
>>> Adrian Crum
>>> Sandglass Software
>>> www.sandglass-software.com
>>>
>>>
>>> On 1/27/2014 6:11 PM, Justin Dagostino wrote:
>>>
>>>  If I wanted to use perform find to query for a list of criteria as an
>>>> 'or'
>>>> or 'in', how do we do this in "inputFields"?
>>>>
>>>> Also, I don't really know what noConditionFind means..seems to only come
>>>> into play for filter by date.
>>>>
>>>> I tried suffixing the field with '_in', but that didn't seem to work.
>>>>
>>>> For example:
>>>> Perform Find for product IDs: 101, 102, and 103
>>>>
>>>>   From Webtools 'run service':
>>>> inputFields={productId_in = 101, productId_in = 102, productId_in = 103}
>>>> noConditionFind=Y
>>>> Returns 932 items
>>>>
>>>> inputFields={productId = 100}
>>>> noConditionFind=Y
>>>> Returns 932 item
>>>>
>>>> inputFields={productId = 100}
>>>> noConditionFind=N
>>>> Returns 0 items
>>>>
>>>> FYI... The performFind service seems to behave differently than however
>>>> the
>>>> FindGeneric Webtools feature works as expected:
>>>> /webtools/control/FindGeneric?entityName=Product
>>>> Specify productId = 101
>>>> Returns 1 item
>>>>
>>>>
>>>> Any insight would be very helpful.  Thanks.
>>>>
>>>>
>>>> ---
>>>> Justin
>>>>
>>>>
>>>>
>>