Hi,

If you are trying to achieve a condition where in you are filtering items
which has 20 (*20*) in it and ends with pipe (*pipe):

Then you can try out following code:

static void QueryExpressions(Args _args)
{
    Query                   query;
    QueryRun                queryRun;
    QueryBuildRange         qbr;
    InventTable             inventTable;
    str                     range;
    ;
    query = new Query();
    qbr =
query.addDataSource(tablenum(InventTable)).addRange(fieldnum(InventTable,
ItemName));
    range = strfmt('((%1 like "%2") && (%1 like "%3"))',
fieldStr(InventTable, ItemName), "*20*","*pipe");
    qbr.value(range);

    //Or you can just specify like this
    //qbr.value("*20*pipe");
    queryRun = new QueryRun(query);
    while(queryRun.next())
    {
        inventTable = queryRun.get(tablenum(InventTable));
        info(inventTable.ItemId);
    }
    info(queryRun.query().dataSourceNo(1).toString());
}
Hope this helps!

Regards,
Sumit
On Tue, Sep 22, 2009 at 12:24 PM, Anitha S <mail2eani...@gmail.com> wrote:

>
>
> hi ..
>
> Try this..
>
>
> static void QueryExpressions(Args _args)
> {
> Query Query;
> QueryRun QueryRun;
> QueryBuildDataSource QBDS;
> InventTable InventTable;
> ;
> Query = new Query();
> query.adddatasource(tablenum(InventTable));
> query.adddatasource(tablenum(Inventtable)).addrange(fieldnum(Inventtable,
> itemname)).*value(strfmt("Item Name %1 && Item Name %2", "*20*","*pipe"));
> *
>  QueryRun = new queryrun(query);
> while(queryrun.next())
> {
> inventtable = Queryrun.get(tablenum(Inventtable));
> info(inventtable.itemid);
> }
> }
>
>
>  On Tue, Sep 22, 2009 at 11:25 AM, Nagesh <nageshsi...@yahoo.com> wrote:
>
>>
>>
>> Hello everybody,
>>
>> I am running the following job and getting the error saying 'Query
>> extended range failure. right parentheses expected near pos 18.
>>
>> static void QueryExpressions(Args _args)
>> {
>>
>> Query Query;
>> QueryRun QueryRun;
>> QueryBuildDataSource QBDS;
>> InventTable InventTable;
>> ;
>>
>> Query = new Query();
>> query.addatasource(tablenum(InventTable));
>> query.datasource(tablenum(Inventtable)).addrange(fieldnum(Inventtable,
>> itemname)).value(strfmt('((Itemname "%1") && ItemName "%2"))', '*20*',
>> '*pipe*'));
>>
>> QueryRun = new queryrun(query);
>>
>> while(queryrun.next())
>> {
>> inventtable = Queryrun.get(tablenum(Inventtable));
>> info(inventtable.itemid);
>>
>> }
>> }
>>
>> I am not getting what is wrong with it. Its very urgent.
>>
>> Thanks in advance
>>
>>
>  
>

Reply via email to