Skip to main content

Programmers reference for Microsoft Dynamics 365 Writer

In TQL, you specify the writer type by providing its fully qualified name. To use this writer, specify Global.MicrosoftDynamics365Writer when creating a target. This identifies the specific writer implementation to use and allows you to configure its connection and behavior through the available properties.

Microsoft Dynamics 365 Writer properties

Property

Type

Default value

Notes

Connection properties

ADFS Server

String

Specifies the ADFS server value. This property applies only for FinOps On-Premise.

You can retrieve the ADFS Server value for FinOps On-Premise by checking the System Parameters in the System Administration module.

Client ID

String

Specifies the OAuth application's client ID.

Client Secret

Password

Specifies the OAuth application's client secret.

Connection Pool Size

Integer

20

Specifies the maximum number of active connections.

Connection Profile Name

String

Select the MicrosoftDynamics365 connection profile from the list.

Edition

String

The edition of Microsoft Dynamics 365 being used.

Organization URL

String

To find your Microsoft Dynamics 365 organization's URL, sign in at https://m365.cloud.microsoft/ with your credentials. After logging in, you'll be directed to the Dynamics 365 home page.

The organization’s URL will appear in the browser’s address bar and will look like: https://<yourorgname>.crm.dynamics.com/. The <yourorgname> part is a unique identifier specific to your organization.

Refresh Token

Password

Refresh token that can be used to generate and refresh access tokens.

Tenant ID

String

Specifies a tenant ID. This value is the directory ID in the Azure Portal > Azure Active Directory > Properties.

Use Connection Profile

Boolean

False

Set to true to use a connection profile instead of individual properties.

Scheming and data handling

Batch Policy

String

eventCount:999, Interval:90

The batch policy includes the event count and interval. Events are buffered locally on the Striim server and sent as a batch to the target every time either of the specified values is exceeded. When the app is stopped, any remaining data in the buffer is discarded. To disable batching, set to EventCount:1,Interval:0.

With the default setting, data will be written every 90 seconds or sooner if the buffer accumulates 999 events.

Mode

String

MERGE

With the default value of MERGE, inserts and deletes in the source are handled as inserts and deletes in the target (as detailed in the notes for Merge API).

Set to APPENDONLY to handle all operations as inserts. With this setting:

  • Updates and deletes from DatabaseReader, IncrementalBatchReader, and SQL CDC sources are handled as inserts in the target.

Data selection

Tables

String

The name(s) of the table objects(s) to write to, in the format <table_object>. The tables must exist when the application is started.

When the input stream of the target is the output of a DatabaseReader, IncrementalBatchReader, or SQL CDC source (that is, when replicating data from one database to another), it can write to multiple objects. In this case, specify the names of both the source and target objects. You may use wildcards for the object names. If the reader uses three-part names, you must use them here as well.

Note that SQL Server source table names must be specified in three parts when the source is Database Reader or Incremental Batch Reader (source.schema.%,%) but in two parts when the source is MS SQL Reader or MS Jet (schema.%,%).

Examples:

  • source.emp,Employee__c: This format matches a specific table from the source to a specific object on the target.

  • source.mydatabase.Emp%,%: This format writes to all objects starting with Emp to the target instance. All objects must exist in the target.

  • source1.%,%: This format tries to write all matching objects on the target instance.

  • source1.tab1,Tab1;source2.tab2,Tab2: This format writes to multiple tables in Microsoft Dataverse.

Note

Partial wildcards not allowed. For example source.Business%,B% is not an allowed combination

Both Object name and field names are case sensitive.

Additional properties

Application Error Count Threshold

Integer

0

Application-specific Discarded Event count threshold. The application will HALT if the number of Ignorable errors crosses the threshold value.

Ignorable Exception

String

A comma-separated list of exceptions which are ignored while calculating the Application error count threshold.

Connection Timeout

String

300

Specifies the maximum duration an API call should wait for a response before triggering a timeout exception.

Datatype support

Striim type

Dynamics 365 data type

String

Single Line of Text

String

Multiple Lines of Text

String

Option Set

String

MultiSelect Option Set

boolean

Two Options

String

Status

String

Status Reason

Long

Whole Number

Double

Floating Point Number

Double

Decimal Number

Double

Currency

org.joda.time.DateTime

Date and Time

String

Lookup

String

Owner

String

Unique Identifier

java.lang.Object

Image

String

Customer

String

Owner

Sample objects supported by each edition

  • Customer Service: Cases, Activities, Users, Entitlements, Queues, SocialPosts, etc.

  • Field Service: WorkOrders, Resources, ServiceBookings, Agreements, Inventory, Products, ServiceCalls, etc.

  • FinOpsOnline (Dynamics 365 Supply Chain Management): Products, Purchase Orders, SalesOrders, Invoices, Inventory, Warehouses, Costing, Procurement, Transactions, etc.

  • FinOpsOnPremise (Dynamics 365 Supply Chain Management): Same as FinOpsOnline, but specifically for on-premise deployments.

  • Human Resources: Employees, Positions, Compensation, Benefits, Requests, Requisitions, AbsenceManagement, Statements, Recruiting, etc.

  • Marketing: Campaigns, Segments, Leads, MarketingLists, Forms, Events, Emails, Posts, etc.

  • Project Operations: Projects, Tasks, Milestones, Budgets, Invoices, Entries, Resources, Contracts, etc.

  • Sales: Accounts, Contacts, Opportunities, Leads, Competitors, Quotes, Orders, Invoices, etc.

  • Commerce: Products, Carts, Orders, Payments, Customers, Stores, Catalogs, Price Lists, Transactions, Categories, etc.