Skip to main content
1-Visitor
May 16, 2017
Solved

Query filter in "GenericThing" not working

  • May 16, 2017
  • 1 reply
  • 5538 views

Folks,

I'm trying to invoke a service and pass filter parameter in "GenericThing" template. The service returns all data ignoring the filter.  I need the service to return data based on filter parameter. Any help is appreciated. Here's my code for reference:

var filter = '{"filters": {"fieldName":"user_id","type":"EQ","value": "T1234"}}';

var params = {
    resourceProvider: "AdminUserProfileResourceProvider",
    serviceName: "GetUserProfiles",
    params: {
        dataShape: {
            fieldDefinitions: {              
                query: {
                    name: "query",
                    baseType: "QUERY"
                }
            }
        },
        rows: [{
            query: filter
        }]
    }
}

// result: INFOTABLE
var result = Things["PTC.Resource.ResourceManager"].CallServiceOnProvider(params);

Thanks!

Pavan

Best answer by ankigupta

Hi Pavan Kumar Kodur​,

Could you please explain the requirement to apply the filter in JavaScript when you have already applied the filter in the Sql Query?

Just try to run following service in your generic Thing and you will get the desired result.

var params = {

    UserId: "A1234" /* STRING */

};

// result: INFOTABLE

var result = Things["AdminUserProfileResourceProvider"].GetUserProfiles(params);

I hope it helps.

1 reply

5-Regular Member
May 17, 2017

Hi Pavan Kumar Kodur​,

Per my understanding the single quote should not used in the query:

Try this

var filter = {"filters": {"fieldName":"user_id","type":"EQ","value": "T1234"}};

I hope it helps.

pkodur1-VisitorAuthor
1-Visitor
May 17, 2017

Ankit Gupta,

Thank you for your response.

I tried changing the filter as per the suggestion. I still fetch all records. The issue still remains as "Filter" is not set.

5-Regular Member
May 17, 2017

Hi Pavan Kumar Kodur​,

The filter seems correct. Could you please CallServiceOnProvider Service; how is it applying the filter?