InforCRM (SData): Difference between revisions
Jkuehlthau (talk | contribs) No edit summary |
Jkuehlthau (talk | contribs) (→Origin) |
||
(17 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
=Origin= | =Origin= | ||
Your Origin (and Destination) should look something like this.<br> | |||
[[FILE:Infor_Origin_Example.png]] | |||
==Include== | |||
When querying a Table, put the name of a related Table into the Include field to include that Table's information. For example, if you are querying the "Opportunity" table, put "Account" into the Include field in order to see all of the parent Account's information. | |||
==Filters== | ==Filters== | ||
Infor SData is based on Sage Sdata. InforCRM was previously owned by Sage as SalesLogix. See this page for information about SData filters: http://sage.github.io/SData-2.0/pages/core/0212/. | Infor SData is based on Sage Sdata. InforCRM was previously owned by Sage as SalesLogix. See this page for information about SData filters: http://sage.github.io/SData-2.0/pages/core/0212/. This table was taken from that page. | ||
The query language supports the following operators: | |||
{| border="1" | |||
|- | |||
! | |||
Class | |||
! | |||
Operator | |||
! | |||
Meaning | |||
! | |||
Basic | |||
! | |||
Priority value | |||
! | |||
Example | |||
|- | |||
|Member | |||
|x.y | |||
|member access | |||
| | |||
|1 | |||
|billingAddress.country | |||
|- | |||
| rowspan="2" | Unary | |||
| | |||
-x | |||
|unary minus | |||
| | |||
|2 | |||
| | |||
- discount | |||
|- | |||
|not x | |||
|negation | |||
| | |||
|2 | |||
|not disabled | |||
|- | |||
| rowspan="3" | Multiplicative | |||
|x mul y | |||
|multiplication | |||
| | |||
|3 | |||
|price mul 1.07 | |||
|- | |||
|x div y | |||
|division | |||
| | |||
|3 | |||
|price div 2 | |||
|- | |||
|x mod y | |||
|modulus | |||
| | |||
|3 | |||
|index mod 2 | |||
|- | |||
| rowspan="2" | Additive | |||
| | |||
x + y | |||
| | |||
addition | |||
| | |||
| | |||
4 | |||
| | |||
price + tax | |||
|- | |||
| | |||
x - y | |||
| | |||
substraction | |||
| | |||
| | |||
4 | |||
| | |||
price - discount | |||
|- | |||
| rowspan="9" | Comparison | |||
| | |||
x eq y | |||
| | |||
equal | |||
| | |||
Yes | |||
| | |||
5 | |||
| | |||
countryCode eq 'GB' | |||
|- | |||
| | |||
x ne y | |||
| | |||
not equal | |||
| | |||
Yes | |||
| | |||
5 | |||
| | |||
countryCode ne 'GB' | |||
|- | |||
| | |||
x lt y | |||
| | |||
less than | |||
| | |||
Yes | |||
| | |||
5 | |||
| | |||
price lt 100.0 | |||
|- | |||
| | |||
x le y | |||
| | |||
less than or equal | |||
| | |||
Yes | |||
| | |||
5 | |||
| | |||
price le 100.0 | |||
|- | |||
| | |||
x gt y | |||
| | |||
greater than | |||
| | |||
Yes | |||
| | |||
5 | |||
| | |||
price gt 100.0 | |||
|- | |||
| | |||
x ge y | |||
| | |||
greater than or equal | |||
| | |||
Yes | |||
| | |||
5 | |||
| | |||
price ge 100.0 | |||
|- | |||
| | |||
x between y and z | |||
| | |||
between | |||
| | |||
| | |||
5 | |||
| | |||
price between 100.0 and 500.0 | |||
|- | |||
| | |||
x in (y, z) | |||
| | |||
contained in | |||
| | |||
| | |||
5 | |||
| | |||
countryCode in ('GB', 'US') | |||
|- | |||
| | |||
x like y | |||
| | |||
like | |||
| | |||
| | |||
5 | |||
| | |||
name like '%BANK%' | |||
|- | |||
| rowspan="2" | Logical | |||
| | |||
x and y | |||
| | |||
logical and | |||
| | |||
Yes | |||
| | |||
6 | |||
| | |||
countryCode eq 'GB' and amount gt 1000.0 | |||
|- | |||
| | |||
x or y | |||
| | |||
logical or | |||
| | |||
Yes | |||
| | |||
7 | |||
| | |||
countryCode eq 'GB' or countryCode eq 'US' | |||
|} | |||
The operators with the lowest priority value evaluate first. Within a given | |||
class, the operators associate from left to right, except for unary operators | |||
that associate right to left. | |||
Parentheses can be used to override the priority value or association rules. | |||
The following table gives some examples: | |||
===Filter Examples=== | ===Filter Examples=== | ||
Line 10: | Line 407: | ||
<source lang="vb"> | <source lang="vb"> | ||
Email ne "" | Email ne "" | ||
</source> | |||
==Sorting== | |||
As of April 3rd, 2018, you can sort Infor SData results. The sort(s) goes at the end of the filter, if you have one, and you can sort by multiple fields and use directions such as: | |||
Examples: | |||
<source lang="vb"> | |||
Email ne "" orderBy=AccountName | |||
</source> | |||
<source lang="vb"> | |||
Email ne "" orderBy=AccountName desc,FirstName asc | |||
</source> | |||
Some examples from the SData documentation: | |||
<source lang="vb"> | |||
orderBy=postalAddress.countryCode asc,name desc | |||
orderBy=orderDate desc | |||
orderBy=orderDate desc,orderId asc | |||
</source> | |||
=Errors= | |||
<source lang="json"> | |||
ERROR ASP.global_asax - Integration Messaging MessagingService unhandled exception [Saleslogix Error Id=SLX8363BC48B571C5D6] | |||
{ | |||
"slxErrorId": "SLX8363BC48B571C5D6", | |||
"mitigation": "AjaxMessagingServiceError (500)", | |||
"date": "2018-04-02T15:50:52", | |||
"utc": "2018-04-02T19:50:52", | |||
"message": "Thread was being aborted.", | |||
... | |||
</source> | |||
<source lang="json"> | |||
ERROR ASP.global_asax - SalesLogix SData Portal unhandled exception [Saleslogix Error Id=SLX59977E02B721F8A9] | |||
{ | |||
"slxErrorId": "SLX59977E02B721F8A9", | |||
"mitigation": "AjaxMessagingServiceError (500)", | |||
"date": "2018-04-02T15:50:52", | |||
"utc": "2018-04-02T19:50:52", | |||
"message": "Request timed out.", | |||
... | |||
</source> | |||
Both of these errors seem to have been resolved by setting the executionTimeout in the SData web.config file. In my case, the settings was not set before being added.<br> | |||
Exampe: | |||
<source lang="xml"> | |||
<httpRuntime maxRequestLength="32768" requestValidationMode="2.0" maxQueryStringLength="16384" executionTimeout="360"/> | |||
</source> | </source> |
Latest revision as of 21:13, 6 July 2023
Origin
Your Origin (and Destination) should look something like this.
Include
When querying a Table, put the name of a related Table into the Include field to include that Table's information. For example, if you are querying the "Opportunity" table, put "Account" into the Include field in order to see all of the parent Account's information.
Filters
Infor SData is based on Sage Sdata. InforCRM was previously owned by Sage as SalesLogix. See this page for information about SData filters: http://sage.github.io/SData-2.0/pages/core/0212/. This table was taken from that page.
The query language supports the following operators:
Class |
Operator |
Meaning |
Basic |
Priority value |
Example |
---|---|---|---|---|---|
Member | x.y | member access | 1 | billingAddress.country | |
Unary |
-x |
unary minus | 2 |
- discount | |
not x | negation | 2 | not disabled | ||
Multiplicative | x mul y | multiplication | 3 | price mul 1.07 | |
x div y | division | 3 | price div 2 | ||
x mod y | modulus | 3 | index mod 2 | ||
Additive
|
x + y
|
addition
|
4
|
price + tax
| |
x - y
|
substraction
|
4
|
price - discount
| ||
Comparison
|
x eq y
|
equal
|
Yes
|
5
|
countryCode eq 'GB'
|
x ne y
|
not equal
|
Yes
|
5
|
countryCode ne 'GB'
| |
x lt y
|
less than
|
Yes
|
5
|
price lt 100.0
| |
x le y
|
less than or equal
|
Yes
|
5
|
price le 100.0
| |
x gt y
|
greater than
|
Yes
|
5
|
price gt 100.0
| |
x ge y
|
greater than or equal
|
Yes
|
5
|
price ge 100.0
| |
x between y and z
|
between
|
5
|
price between 100.0 and 500.0
| ||
x in (y, z)
|
contained in
|
5
|
countryCode in ('GB', 'US')
| ||
x like y
|
like
|
5
|
name like '%BANK%'
| ||
Logical
|
x and y
|
logical and
|
Yes
|
6
|
countryCode eq 'GB' and amount gt 1000.0
|
x or y
|
logical or
|
Yes
|
7
|
countryCode eq 'GB' or countryCode eq 'US'
|
The operators with the lowest priority value evaluate first. Within a given class, the operators associate from left to right, except for unary operators that associate right to left.
Parentheses can be used to override the priority value or association rules. The following table gives some examples:
Filter Examples
UserId eq 'ADMIN' and Type eq 'atAppointment'
Email ne ""
Sorting
As of April 3rd, 2018, you can sort Infor SData results. The sort(s) goes at the end of the filter, if you have one, and you can sort by multiple fields and use directions such as:
Examples:
Email ne "" orderBy=AccountName
Email ne "" orderBy=AccountName desc,FirstName asc
Some examples from the SData documentation:
orderBy=postalAddress.countryCode asc,name desc orderBy=orderDate desc orderBy=orderDate desc,orderId asc
Errors
ERROR ASP.global_asax - Integration Messaging MessagingService unhandled exception [Saleslogix Error Id=SLX8363BC48B571C5D6] { "slxErrorId": "SLX8363BC48B571C5D6", "mitigation": "AjaxMessagingServiceError (500)", "date": "2018-04-02T15:50:52", "utc": "2018-04-02T19:50:52", "message": "Thread was being aborted.", ...
ERROR ASP.global_asax - SalesLogix SData Portal unhandled exception [Saleslogix Error Id=SLX59977E02B721F8A9] { "slxErrorId": "SLX59977E02B721F8A9", "mitigation": "AjaxMessagingServiceError (500)", "date": "2018-04-02T15:50:52", "utc": "2018-04-02T19:50:52", "message": "Request timed out.", ...
Both of these errors seem to have been resolved by setting the executionTimeout in the SData web.config file. In my case, the settings was not set before being added.
Exampe:
<httpRuntime maxRequestLength="32768" requestValidationMode="2.0" maxQueryStringLength="16384" executionTimeout="360"/>