ADO.NET Provider for Workday

Build 25.0.9434

Prompts

Many WQL data sources, reports, REST endpoints, and SOAP services have prompts that affect what rows Workday reports. The provider exposes these prompts as input columns that have the _Prompt suffix. Most prompts accept only a single value, but prompts that accept multiple values can be set with IN or equals:

SELECT * FROM [Account Balance Data]
WHERE Company_Prompt IN ('1234567890abcdef', 'f1234567890abcde')
AND Region_Prompt = 'ef1234567890abcd'
AND Include_Managers_Prompt = TRUE
AND Start_Date_Prompt = '2022-01-01'

Other filters may be included with prompts. These do not affect the way Workday generates the report, but the provider removes non-matching rows from the response:

SELECT * FROM [Account Balance Data]

/* Prompts */
WHERE Company_Prompt IN ('1234567890abcdef', 'f1234567890abcde')
AND Region_Prompt = 'ef1234567890abcd'
AND Include_Managers_Prompt = TRUE
AND Start_Date_Prompt = '2022-01-01'

/* Other filters */
AND Department = 'Sales and Marketing'
AND Account_Type = 'LIABILITY'

SOAP-Only Input Columns

The provider's SOAP data model includes other types of input columns that are not found on other data models. They allow you to control other aspects of the SOAP request. Like prompt columns, each type of input has its own suffix to distinguish it from other inputs.

Request References

Request reference inputs accept a reference to a Workday entity, given as a WID or another type of unique identifier (such as an account code). Providing a request reference allows the Workday API to only return data related to that entity. This improves performance compared to reading all data and filtering out related rows client-side.

Normally the provider matches a request reference to its data field. When this happens the provider exposes only the data field and translates filters on the data field into request reference parameters. However, if the provider cannot match a request reference to a data field, it instead adds a separate column with a _RequestRef suffix.

Response Filters

Response filter inputs control the date inputs within the response filter. These inputs have a _RespFilter suffix.
  • As_Of_Effective_Date_RespFilter tells Workday to retrieve records as they appeared on a given date. This allows you to either exclude changes after that date (if set to the past), or include changes before that date (if set to the future). By default the provider uses an effective date two years in the future.
  • As_Of_Entry_DateTime_RespFilter tells Workday to retrieve records that were created as of the given timestamp. At the start of a query, Workday determines what records should be returned and caches them on the current session. The provider provides the same entry timestamp for each page so that Workday returns consistent results from the cache. Setting this field is not recommended as most SOAP tables have data fields that store the created and last modified timestamp for each record. This field is included for cases where the default entry datetime causes the request to fail.

Response Groups

Response group inputs control what columns are populated in the data that Workday returns. These are either include inputs that start with an Include_ prefix, or exclude inputs that start with an Exclude_ suffix. Both include inputs and exclude inputs have a _RespGroup suffix.

Normally the provider determines the response groups automatically. Either the response group is hardcoded (see IgnoreHardcodedIncludes), or the provider calculates response groups based on the table and columns in the query. This process does not always given correct results because the Workday API does not explicitly report what fields each include and exclude affects. The provider has to guess based on the names of the response groups.

Setting response groups manually is useful for tables with response groups that do not follow the usual pattern. You should make sure that queries return the expected data when you provide response groups manually. Providing a single response group input will disable all hardcoded and automatically determined groups for the table you are querying. Incorrect response groups can return too little data, or reduce read performance by returning too much data.

Aggregate Prompts

The SOAP data model includes endpoints with more complex prompts than other services. SOAP includes structured prompt values that the provider typically flattens into individual prompts. These can be provided as simple values (like text and timestamps) which the provider uses to build the XML for the SOAP request.

Sometimes this is not possible because the prompt contains complex repeated values that must appear together. For these cases the provider supports aggregate prompts provided as XML. The XML must have a root element called Rows, which contains child elements that match the criteria field. The criteria field itself has a different structure depending upon the specific table and prompt you are using. Refer to the Workday SOAP documentation for full definitions of each criteria type.

For example, the Workers table in the Human Resources schema has a prompt called Eligibility_Criteria_Data_Prompt. Workday documents the Eligibility_Criteria_Data structure as having three values: a single field, an optional effective date, and an optional entry timestamp. The following query provides two of these eligibility criteria values:

SELECT * FROM Human_Resources.Workers WHERE Eligibility_Criteria_Data_Prompt = 
'<Row>
  <Eligibility_Criteria_Data>
    <Field_Reference Descriptor="field a">
      <ID type="WID">abc123</ID>
    </Field_Reference>
    <As_Of_Effective_Date>2024-05-28</As_Of_Effective_Date>
  </Eligibility_Criteria_Data>
  <Eligibility_Criteria_Data>
    <Field_Reference Descriptor="field b">
      <ID type="WID">def456</ID>
    </Field_Reference>
    <As_Of_Entry_DateTime>2024-05-28T14:27:42-05:00</As_Of_Entry_DateTime>
  </Eligibility_Criteria_Data>
</Row>'

Note the following differences between the XML you provide here and what Workday natively accepts:

  • The provider inserts namespace prefixes on all elements and attributes. Your aggregate must not include any namespaces.
  • The provider does not change the text content of elements or the values of attributes. Workday rejects requests that have incorrectly formatted data, so you must be careful to format values according to Workday requirements. In this example, providing the value "May 28 2024" in the As_Of_Effective_Date element would cause the request to fail.

Copyright (c) 2025 CData Software, Inc. - All rights reserved.
Build 25.0.9434