Scenario: Writing data in a Microsoft CRM database and putting conditions on columns to extract specified rows - 6.1

Talend Components Reference Guide

EnrichVersion
6.1
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Data Governance
Data Quality and Preparation
Design and Development
EnrichPlatform
Talend Studio

This scenario describes a four-component Job which aims at writing the data included in a delimited input file in a custom entity in a MicrosoftCRM database. It then extracts specified rows to an output file using the conditions set on certain input columns.

Warning

If you want to write in a CustomEntity in Microsoft CRM database, make sure to name the columns in accordance with the naming rule set by Microsoft, that is "name_columnname" all in lower case.

Setting up the Job

  1. Drop the following components from the Palette to the design workspace: tFileInputdelimited, tFileOutputDelimited, tMicrosoftCrmInput, and tMicrosoftCrmOutput.

  2. Connect tFileInputDelimited to tMicrosoftCrmOutput using a Row Main connection.

  3. Connect tMicrosoftCrmIntput to tFileOutputDelimited using a Row Main connection.

  4. Connect tFileInputDelimited to tMicrosoftCrmInput using OnSubjobOk connection.

Configuring tFileInputDelimited

  1. Double-click tFileInputDelimited to display its Basic settings view and define its properties.

  2. Set the Property Type to Repository if you have stored the input file properties centrally in the Metadata node in the Repository tree view. Otherwise, select Built-In and fill the fields that follow manually. In this example, property is set to Built-In.

  3. Click the three-dot button next to the File Name/Input Stream field and browse to the delimited file that holds the input data. The input file in this example contains the following columns: new_id, new_status, new_firstname, new_email, new_city, new_initial and new_zipcode.

  4. In the Basic settings view, define the Row Separator allowing to identify the end of a row. Then define the Field Separator used to delimit fields in a row.

  5. If needed, define the header, footer and limit number of processed rows in the corresponding fields. In this example, the header, footer and limits are not set.

  6. Click Edit schema to open a dialog box where you can define the input schema you want to write in Microsoft CRM database.

  7. Click OK to close the dialog box.

Configuring tMicrosoftCrmOutput

  1. Double-click tMicrosoftCrmOutput to display the component Basic settings view and define its properties.

  2. Enter the Microsoft Web Service URL as well as the user name and password in the corresponding fields.

  3. In the OrganizeName field, enter the name that is given the right to access the Microsoft CRM database.

  4. In the Domain field, enter the domain name of the server on which Microsoft CRM is hosted, and then enter the host IP address and the listening port number in the corresponding fields.

  5. In the Action list, select the operation you want to carry on. In this example, we want to insert data in a custom entity in Microsoft Crm.

  6. In the Time out field, set the amount of time (in seconds) after which the Job will time out.

  7. In the Entity list, select one among those offered. In this example, CustomEntity is selected.

    Note

    If CustomEntity is selected, a Custom Entity Name field displays where you need to enter a name for the custom entity.

    The Schema is then automatically set according to the entity selected. If needed, click Edit schema to display a dialog box where you can modify this schema and remove the columns that you do not need in the output.

  8. Click Sync columns to retrieve the schema from the preceding component.

Configuring tMicrosoftCrmInput

  1. Double-click tMicrosoftCrmInput to display the component Basic settings view and define its properties.

  2. Set the Property Type to Repository if you have stored the input file properties centrally in the Metadata node in the Repository tree view. Otherwise, select Built-In and fill the fields that follow manually. In this example, property is set to Built-In.

  3. Enter the Microsoft Web Service URL as well as the user name and password in the corresponding fields and enter the name that is given the right to access the Microsoft CRM database in the OrganizeName field.

  4. In the Domain field, enter the domain name of the server on which Microsoft CRM is hosted, and then enter the host IP address and the listening port number in the corresponding fields.

  5. In the Time out field, set the amount of time (in seconds) after which the Job will time out.

  6. In the Entity list, select the one among those offered you want to connect to. In this example, CustomEntity is selected.

  7. The Schema is then automatically set according to the entity selected. But you can modify it according to your needs. In this example, you should set the schema manually since you want to access a custom entity. Copy the seven-column schema from tMicrosoftCrmOutput and paste it in the schema dialog box in tMicrosoftCrmInput.

  8. Click OK to close the dialog box. You will be prompted to propagate changes. Click Yes in the popup message.

  9. In the Basic settings view, select And or Or as the logical operator you want to use to combine the conditions you set on the input columns. In this example, we want to set two conditions on two different input columns and we use And as the logical operator.

  10. In the Condition area, click the plus button to add as many lines as needed and then click in each line in the Input column list and select the column you want to set condition on. In this example, we want to set conditions on two columns, new_city and new_id. We want to extract all customer rows whose city is equal to "New York" and whose id is greater than 2.

  11. Click in each line in the Operator list and select the operator to bind the input column with its value, in this example Equal is selected for new_city and Greater Than for new_id.

  12. Click in each line in the Value list and set the column value, New York for new_city and 2 for new_id in this example. You can use a fixed or a context value in this field.

Configuring tFileOutputDelimited

  1. Double-click tFileOutputdelimited to display the component Basic settings view and define its properties.

  2. Set Property Type to Built-In and then click the [...] button next to the File Name field and browse to the output file.

  3. Set row and field separators in the corresponding fields.

  4. Select the Append check box if you want to add the new rows at the end of the records.

  5. Select the Include Header check box if the output file includes a header.

  6. Click Sync columns to retrieve the schema from the preceding component.

Job execution

Save the Job and press F6 to execute it.

Only customers who live in New York city and those whose "id" is greater than 2 are listed in the output file you stored locally.