• T F 2
  • NEWBIE
  • 0 Points
  • Member since 2015

  • Chatter
    Feed
  • 0
    Best Answers
  • 2
    Likes Received
  • 0
    Likes Given
  • 2
    Questions
  • 2
    Replies
In Omni-channel, the Service Presence Status object has a Busy field on it, but this doesn't seem to be present in the API version, so you can't tell what kind of status it is. See https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_servicepresencestatus.htm?search_text=busy


In the API version the ServiceChannel object has CapacityPercentage and CapacityWeight, but they don't appear on the UI.  See https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_servicechannel.htm?search_text=busy

I thought capacity should be set in the routing configuration, rather than the Service Channel, so what is this?

I'm using v35 API and essentially trying to fetch all service presences so that I can tell which are Busy, which aren't, and what Service Channels they pertain to. Any ideas?

Thanks
  • January 27, 2016
  • Like
  • 2
We have a production org with a managed packaged installed that is working fine.

A sandbox is created from this production org with no data and we see the following error when saving a new Case:

Apex trigger XXXXX.MC_CaseTrigger caused an unexpected exception, contact your administrator: XXXXX.MC_CaseTrigger: execution of AfterInsert caused by: System.QueryException: Non-selective query against large object type (more than 100000 rows). Consider an indexed filter or contact salesforce.com about custom indexing. Even if a field is indexed a filter might still not be selective when: 1. The filter value includes null (for instance binding with a list that contains null) 2. Data skew exists whereby the number of matching rows is very large (for instance, filtering for a particular foreign key value that occurs many times): (XXXXX)

This is the final statement in the debug log, so I guess this is what causes the problem:
15:23:46.313 (2313202218)|SOQL_EXECUTE_BEGIN|[8]|Aggregations:0|select id from CaseRoutingRequest__c

So it is selecting all Ids from CaseRoutingRequest__c. I know this is not ideal and the query should have a limit added, however there is change control in place around this managed package preventing change for the time being and it shouldn't be a problem because...

When I execute the same select in developer console it runs fine and comes back with zero rows.

There are no CaseRoutingRequest__c objects present, so why is Salesforce giving us this error? Is it undocumented behaviour? Is it a bug? Why does it work in some orgs but not this one?
  • January 27, 2015
  • Like
  • 0
In Omni-channel, the Service Presence Status object has a Busy field on it, but this doesn't seem to be present in the API version, so you can't tell what kind of status it is. See https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_servicepresencestatus.htm?search_text=busy


In the API version the ServiceChannel object has CapacityPercentage and CapacityWeight, but they don't appear on the UI.  See https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_servicechannel.htm?search_text=busy

I thought capacity should be set in the routing configuration, rather than the Service Channel, so what is this?

I'm using v35 API and essentially trying to fetch all service presences so that I can tell which are Busy, which aren't, and what Service Channels they pertain to. Any ideas?

Thanks
  • January 27, 2016
  • Like
  • 2
In Omni-channel, the Service Presence Status object has a Busy field on it, but this doesn't seem to be present in the API version, so you can't tell what kind of status it is. See https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_servicepresencestatus.htm?search_text=busy


In the API version the ServiceChannel object has CapacityPercentage and CapacityWeight, but they don't appear on the UI.  See https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_servicechannel.htm?search_text=busy

I thought capacity should be set in the routing configuration, rather than the Service Channel, so what is this?

I'm using v35 API and essentially trying to fetch all service presences so that I can tell which are Busy, which aren't, and what Service Channels they pertain to. Any ideas?

Thanks
  • January 27, 2016
  • Like
  • 2
We have a production org with a managed packaged installed that is working fine.

A sandbox is created from this production org with no data and we see the following error when saving a new Case:

Apex trigger XXXXX.MC_CaseTrigger caused an unexpected exception, contact your administrator: XXXXX.MC_CaseTrigger: execution of AfterInsert caused by: System.QueryException: Non-selective query against large object type (more than 100000 rows). Consider an indexed filter or contact salesforce.com about custom indexing. Even if a field is indexed a filter might still not be selective when: 1. The filter value includes null (for instance binding with a list that contains null) 2. Data skew exists whereby the number of matching rows is very large (for instance, filtering for a particular foreign key value that occurs many times): (XXXXX)

This is the final statement in the debug log, so I guess this is what causes the problem:
15:23:46.313 (2313202218)|SOQL_EXECUTE_BEGIN|[8]|Aggregations:0|select id from CaseRoutingRequest__c

So it is selecting all Ids from CaseRoutingRequest__c. I know this is not ideal and the query should have a limit added, however there is change control in place around this managed package preventing change for the time being and it shouldn't be a problem because...

When I execute the same select in developer console it runs fine and comes back with zero rows.

There are no CaseRoutingRequest__c objects present, so why is Salesforce giving us this error? Is it undocumented behaviour? Is it a bug? Why does it work in some orgs but not this one?
  • January 27, 2015
  • Like
  • 0