JDBC Driver for SAP Concur

Build 26.0.9770

LegalEntities

Retrieves the legal entities defined for the company.

View-Specific Information

Company-Level Authentication Requirement

You can only query LegalEntities when AuthScheme is set to CompanyLevelAuth. The SAP Concur Legal Entity v4.1 API resolves the company from a company-level access token, so it rejects a user-level token with a 400 status and the message "This endpoint requires a company ID." No filter or connection property can supply the company identifier in place of that token.

When any other AuthScheme is in effect, the driver fails the query before it sends the request and reports that LegalEntities requires CompanyLevelAuth.

Select

The driver retrieves legal entities using the SAP Concur Legal Entity v4.1 API's search endpoint. The operators that the driver can offload to the SAP Concur APIs differ by column:

  • Id supports = only.
  • Phone supports =, !=, and LIKE.
  • Active, Name, ReferenceId, RegisteringOrganization, TaxId, Email, AddressStreetAddress, AddressLocality, AddressRegion, AddressPostalCode, and AddressCountry support = and !=.

The driver processes filters that refer to CompanyId, Created, or LastModified client-side within the driver. The search endpoint resolves the company from the company-level access token, so it does not accept companyId as a filter.

Even on a column listed above, the driver processes a filter client-side in the following cases:

  • The filter value contains a plus sign (+), which the SAP Concur search endpoint does not accept. This most often affects Phone numbers written in E.164 format, such as '+44-20-1234-5678'.
  • A LIKE pattern is anything other than a prefix ('44%'), suffix ('%5678'), or contains ('%1234%') match. Patterns with interior wildcards, and the unrestricted pattern '%', are processed client-side.

For example, the driver offloads the processing of the following queries to the SAP Concur APIs:

SELECT * FROM LegalEntities WHERE Id = 'le-660e8400-e29b-41d4-a716-446655440001'
SELECT * FROM LegalEntities WHERE Active = true AND AddressCountry = 'US'
SELECT * FROM LegalEntities WHERE Name != 'Contoso Ltd'
SELECT * FROM LegalEntities WHERE Phone LIKE '44%'

In contrast, the driver processes the filters in the following queries client-side:

SELECT * FROM LegalEntities WHERE Id != 'le-660e8400-e29b-41d4-a716-446655440001'
SELECT * FROM LegalEntities WHERE CompanyId = 'bb312305-42ca-4d23-98f1-9e19913a12f3'
SELECT * FROM LegalEntities WHERE Name LIKE 'Acme%'
SELECT * FROM LegalEntities WHERE Phone = '+44-20-1234-5678'

Retrieving legal entities requires the company.legalentity.read OAuth scope.

Columns

Name Type References Description
Id [KEY] String The unique identifier of the legal entity.
CompanyId String The unique identifier of the company that owns the legal entity.
Active Boolean Indicates whether the legal entity is active.
Name String The name of the legal entity.
ReferenceId String The unique reference identifier of the legal entity.
RegisteringOrganization String The organization that issued the legal entity's registration.
TaxId String The tax identification number of the legal entity.
Email String The contact email address for the legal entity.
Phone String The contact phone number for the legal entity.
AddressStreetAddress String The street address of the legal entity.
AddressLocality String The city or locality of the legal entity's address.
AddressRegion String The state or region of the legal entity's address.
AddressPostalCode String The postal code of the legal entity's address.
AddressCountry String The 2-letter ISO 3166-1 country code of the legal entity's address.
Created Datetime The date and time the legal entity was created.
LastModified Datetime The date and time the legal entity was last modified.

Copyright (c) 2026 CData Software, Inc. - All rights reserved.
Build 26.0.9770