Skip to Content

OData Query Activity

Introduction

An OData Query activity, using its OData connection, queries object data from an OData endpoint, and is intended to be used as a source to provide data in an operation.

Create an OData Query Activity

An instance of an OData Query activity is created from an OData connection using its Query activity type.

To create an instance of an activity, drag the activity type to the design canvas or copy the activity type and paste it on the design canvas. For details, see Creating an Activity Instance in Component Reuse.

An existing OData Query activity can be edited from these locations:

Configure an OData Query Activity

Follow these steps to configure an OData Query activity:

Step 1: Enter a Name and Specify Settings

In this step, provide a name for the activity and specify the object class to query and any necessary HTTP headers. Each user interface element of this step is described below.

OData Query Activity Configuration Step 1

Tip

Fields with a variable icon Variable icon support using global variables, project variables, and Jitterbit variables. Begin either by typing an open square bracket [ into the field or by clicking the variable icon to display a list of the existing variables to choose from.

  • Name: Enter a name to identify the activity. The name must be unique for each OData Query activity and must not contain forward slashes (/) or colons (:).

  • Select Object: This section displays object classes available in the OData endpoint.

    • Selected Object: After an object class is selected, it is listed here.

    • Search: Enter any part of the object name into the search box to filter the list of objects. The search is not case-sensitive. If objects are already displayed within the table, the table results are filtered in real time with each keystroke. To reload objects from the endpoint when searching, enter search criteria and then refresh, as described below.

    • Refresh: Click the refresh icon Refresh icon or the word Refresh to reload object classes from the OData endpoint. This may be useful if OData endpoint's schema has been updated to support new types of objects. This action refreshes all metadata used to build the table of objects displayed in the configuration.

    • Selecting an Object: Within the table, click anywhere on a row to select an object class. Only one object class can be selected. The information available for each object is fetched from the OData endpoint:

      • Name: The object class name from the OData endpoint.

      • Description: The object class description from the OData endpoint.

    Tip

    If the table does not populate with available object classes, the OData connection may not be successful. Ensure you are connected by reopening the connection and retesting the credentials.

  • Advanced HTTP Properties: Define HTTP headers for the query. The OData protocol accepts standard HTTP headers defined in RFC 2616 (Section 14) as well as any custom headers specific to the endpoint. Click the add icon add icon to add a header to the table below and enter a key-value pair for each request parameter.

    To save the row, click the submit icon submit icon in the rightmost column.

    To edit or delete a single row, hover over the rightmost column and use the edit icon edit icon or delete icon delete icon.

    To delete all rows, click Clear All.

    Note

    Custom headers must be configured in the endpoint for it to accept them as part of this request. If you are using Microsoft Azure to manage your OData endpoint, see Microsoft's documentation on Custom Headers in Accessing Endpoints That Require Authentication.

    Important

    Fields in the Advanced HTTP Properties table display the variable icon Variable icon only in edit mode. For these fields' variable values to be populated at runtime, the agent version must be at least 10.75 / 11.13.

  • Save & Exit: If enabled, click to save the configuration for this step and close the activity configuration.

  • Next: Click to temporarily store the configuration for this step and continue to the next step. The configuration will not be saved until you click the Finished button on the last step.

  • Discard Changes: After making changes, click to close the configuration without saving changes made to any step. A message asks you to confirm that you want to discard changes.

Step 2: Select Child Objects

In this step, select the child object classes to include in the query based on the object class selected in the previous step. Each user interface element of this step is described below.

OData Query Activity Configuration Step 2

  • Select Child Objects: This section is used to select child object classes to query. This section is optional and can be skipped by selecting Next.

    • Available Child Objects: This column displays child object classes to select from.

      • Search: Enter any part of the child object class name into the search box to filter the list of child object classes. The search is not case-sensitive. If object classes are already displayed within the table, the table results are filtered in real time with each keystroke. To reload child object classes from the endpoint when searching, enter search criteria and then refresh, as described below.

      • Refresh: Click the refresh icon refresh icon to reload child object classes from the OData endpoint. This may be useful if you have recently added child object classes to the OData endpoint.

      • Adding a Child Object: Within the column, click anywhere on a row to select one or more child object classes. Then click the add icon to add selected classes to the Selected Child Objects column:

        Add icon

    • Selected Child Objects: This column displays selected child object classes.

      • Removing a Child Object: Within the column, click anywhere on a row to select one or more child object classes. Then click the remove icon to return selected classes to the Available Child Objects column:

        Remove icon

  • Back: Click to temporarily store the configuration for this step and return to the previous step.

  • Next: Click to temporarily store the configuration for this step and continue to the next step. The configuration will not be saved until you click the Finished button on the last step.

  • Discard Changes: After making changes, click to close the configuration without saving changes made to any step. A message asks you to confirm that you want to discard changes.

Step 3: Define a Filter String

In this step, a query's Filter String is defined for a query using available object fields and query settings. Each user interface element of this step is described below.

Tip

Fields with a variable icon Variable icon support using global variables, project variables, and Jitterbit variables. Begin either by typing an open square bracket [ into the field or by clicking the variable icon to display a list of the existing variables to choose from.

The Filter String can be configured in the Basic or Advanced tabs.

Note

Changes made in one tab will not be reflected in the other. The filter string query for the mode that is selected when the connector is closed will be the query that is used for the connector.

  • Basic: Allows you to build the Filter String with guided fields:

    OData Query Activity Configuration Step 3

    • Object Fields: Select the fields to be used in the query based on the selected object class.

      • Search: Enter any part of a field name into the search box to filter the list of fields for the selected object. The search is not case-sensitive. The listed results are filtered in real time with each keystroke.

      • Refresh: Click the refresh icon Refresh icon or the word Refresh to reload fields of the object from the OData endpoint.

      • Select All in Object Class: When using the search box to filter, you can use this checkbox to select all visible fields at once.

      • Select Fields: Select the checkboxes of the fields you want included in the query to have them automatically added to the filter String. You can also select all of the fields at once using the parent checkbox.

    • Page Size: Enter the maximum number of results to retrieve for each page in the query response. If left empty, each page will contain 100 results.

      Note

      If client-side pagination is required, use the Skip and Top fields.

    • Include Count: Select to include the number of results from a query as part of the response. For example, if a query returns 5 results total, the response will also include "_odata.count": 5.

    • Full Text Search: Enter search terms to query for objects in the selected object class. The OData endpoint handles how the search is interpreted for an object class.

    • Skip: Enter the number of results to skip in the query response. Used for client-side pagination.

    • Top: Enter the maximum number of results to receive in the query response. Used for client-side pagination.

    • Conditional Clauses: To add conditionals, use these fields as input to help construct the clauses, which then appear in the Filter String.

      • Object: Use the dropdown to select the object class to use for the conditional.

      • Field: Use the dropdown to select the field from the object class to use for the conditional.

      • Operator: Use the dropdown to select an appropriate operator:

        Comparison
        Equals
        Greater Than
        Greater Than or Equals
        Less Than
        Less Than or Equals
      • Value: Enter the desired value to compare against the previous dropdown selections.

      • Remove: Click to remove the conditional.

      • Add: Click to add a new conditional to the Conditional Clauses table and Filter String.

      • Remove All: Click to remove all conditionals from the Conditional Clauses table and Filter String.

    • Filter String: As you fill out the other fields in the Basic tab, the filter string statement in this text box is automatically populated with the selected fields, conditions, and query options.

  • Advanced: Hides the guided fields and allows you to modify Filter String directly:

    OData Query Activity Configuration Step 3b

    • Page Size: Enter the maximum number of results to retrieve for each page in the query response. If left empty, each page will contain 100 results.

      Note

      If client-side pagination is required, use the $skip and $top query options in the Filter String field.

    • Filter String: Edit the filter sting statement directly.

  • Test Query: Click to validate the query. If the query is valid, a sample of up to 10 records retrieved from the query is displayed in a table. If the query is not valid, relevant error messages are displayed. The query must be valid and validated through this button in order to enable the Next button.

    OData Query Activity Configuration Step 3c

  • Back: Click to temporarily store the configuration for this step and return to the previous step.

  • Next: Click to temporarily store the configuration for this step and continue to the next step. The configuration will not be saved until you click the Finished button on the last step.

  • Discard Changes: After making changes, click to close the configuration without saving changes made to any step. A message asks you to confirm that you want to discard changes.

Step 4: Review the Data Schema

The response schema generated from the endpoint is displayed. Each user interface element of this step is described below.

OData Query Activity Configuration Step 4

  • Data Schema: This data schema is inherited by adjacent transformations and is displayed again during transformation mapping.

    Note

    Data supplied in a transformation takes precedence over the activity configuration.

    • Response:

      Response Schema Field/Node Description
      queryresponse Response from querying objects (entities)
      response Node representing the query response
      item Node representing the response items
      Object List Node representing the object list (entity set) queried from; for example, the Person node
      _odata.nextLink String of the OData annotation field with a URL used to retrieve the next subset of results from the requested query response
      _odata.count String of the OData annotation field with a the total count of objects returned from the query
      _odata.context String of the OData annotation field with a URL containing the location of the queried object list
      value Node representing the list of matching objects from the query
      item Node representing a matching object from the query
      Object Fields ... Fields specific to the object class (entity type) of objects in the object list; for example, fields in the item node, such as UserName and Concurrency
      _odata.etag String of the OData annotation field with a value that can be used in a subsequent request to determine if the value of the object has changed
      error Node representing error details from the query
      code String of the code associated with the error
      message String of the message associated with the error

    The OData connector uses the Apache Olingo OData 4.0 Java library. Refer to the library documentation for additional information on how the OData protocol is supported. General information regarding the OData protocol is also available at OData's documentation site.

  • Refresh: Click the refresh icon Refresh icon or the word Refresh to regenerate schemas from the OData endpoint. This action also regenerates a schema in other locations throughout the project where the same schema is referenced, such as in an adjacent transformation.

  • Back: Click to temporarily store the configuration for this step and return to the previous step.

  • Finished: Click to save the configuration for all steps and close the activity configuration.

  • Discard Changes: After making changes, click to close the configuration without saving changes made to any step. A message asks you to confirm that you want to discard changes.

Next Steps

After configuring an OData Query activity, complete the configuration of the operation by adding and configuring other activities, transformations, or scripts as operation steps. You can also configure the operation settings, which include the ability to chain operations together that are in the same or different workflows.

Menu actions for an activity are accessible from the project pane and the design canvas. For details, see Activity Actions Menu in Connector Basics.

OData Query activities can be used as a source with these operation patterns:

To use the activity with scripting functions, write the data to a temporary location and then use that temporary location in the scripting function.

When ready, deploy and run the operation and validate behavior by checking the operation logs.

Note

The OData Query activity may return an extra subelement warning depending on the endpoint's schema configuration. This is due to some OData fields not being included in the endpoint's metadata, but it does not affect the execution of the activity.