Concept: gerelateerde bedrijfsobjecten in WQL
U hebt toegang tot velden vanuit een gerelateerd bedrijfsobject (RBO) in de
SELECT
component met accolade {}
notatie. U kunt queryresultaten ook filteren op RBO-velden met behulp van de
WHERE ON
clausule. In WHERE ON
clausules, accolade weglaten {}
notatie voor de RBO-velden.De antwoorden van deze eindpunten retourneren nu het gerelateerde bedrijfsobject voor elk veld:
- GET /dataSources/{ID}/fields
- GET /dataSources/{ID}/dataSourceFilters/{subresourceID}
Syntaxis
SELECTfield1{relatedBusinessObjectField1, relatedBusinessObjectField2} FROMdataSource
Voorbeeld:
SELECT dependents{age} FROM allWorkers
U kunt verwijzen naar één veld of naar meerdere, door komma's gescheiden velden in een RBO-veld.
U kunt ook een aangepaste alias aan een RBO-veld toewijzen. Voorbeeld:
dependents{age} as DependentsAge
Voorbeelden
Retourneer de medewerker en meerdere velden van de groep 'RBO
voor gezinsleden
in 1':SELECT worker, dependents{legalName_FirstName, legalName_LastName, age} FROM allWorkers
Retourneer de medewerker en meerdere velden van de RBO
voor gezinsleden
als afzonderlijke groepen: SELECT worker, dependents{legalName_FirstName} as FirstName, dependents{legalName_LastName} as LastName, dependents{age} as Age FROM allWorkers
Gebruik een unieke veldalias wanneer u meerdere velden afzonderlijk van hetzelfde opzoekveld aanroept.
Beperkingen
Wanneer het opzoekveld voor het RBO-veld meerdere instances is, ondersteunt Workday maximaal 500 waarden voor het RBO-veld. Voorbeeld: u geeft een medewerker op als primair bedrijfsobject en gezinsleden als het RBO. Wanneer de query meer dan 500 gezinsleden voor een medewerker retourneert, wordt in WQL een fout weergegeven. Overweeg in plaats daarvan een gegevensbron te gebruiken die is gebaseerd op een gegevensbron voor gezinsleden.
U hebt geen toegang tot velden vanuit RBO's:
- In query's die a . gebruikenGROUP BYclausule.
- BuitenSELECTandWHERE ONclausules.
Wanneer u een API-client van derden gebruikt, moet u mogelijk eerst de query coderen. Sommige clients van derden verwerken geen accolade
{}
notatie. Voorbeeldquery vóór codering:
SELECT worker, dependents{legalName_FirstName} as FirstName FROM allWorkers
Voorbeeldquery na codering:
SELECT%20worker%2C%20dependents%7BlegalName_FirstName%7D%20as%20FirstName%20FROM%20allWorkers