tMDMReceive
Decodes a context parameter holding MDM XML data and transforms it into a flat
schema.
tMDMReceive
receives an MDM record in XML from MDM triggers or MDM processes.
tMDMReceive Standard properties
These properties are used to configure tMDMReceive running in the Standard Job framework.
The Standard
tMDMReceive component belongs to the Talend MDM family.
The component in this framework is available in all Talend
products.
Basic Settings
Property Type |
Either Built in or Repository. |
 |
Built-in: No property data stored |
 |
Repository: Select the repository |
Schema and Edit |
A schema is a row description, it defines the number of fields Click Edit
|
 |
Built-in: The schema will be |
 |
Repository: The schema already |
XML Record |
Enter the context parameter allowing to retrieve the last changes |
XPath Prefix |
If required, select from the list the looping xpath expression
/item: select this xpath prefix
/exchange/item: select this xpath |
Loop XPath query |
Set the XML structure node on which the loop is based. |
Mapping |
Column: reflects the schema as
XPath query: Type in the name of
Get Nodes: Select this check box to |
Limit |
Maximum number of rows to be processed. If Limit = 0, no row is |
Die on error |
This check box is selected by default. Clear the check box to skip |
Advanced settings
tStatCatcher Statistics |
Select this check box to gather the processing metadata at the Job |
Global Variables
Global Variables |
ERROR_MESSAGE: the error message generated by the
NB_LINE: the number of rows processed. This is an After A Flow variable functions during the execution of a component while an After variable To fill up a field or expression with a variable, press Ctrl + For further information about variables, see |
Usage
Usage rule |
Use this component as a start component. It needs an output |
Extracting information from an MDM record in XML
This scenario applies only to Talend MDM Platform and Talend Data Fabric.
The following scenario describes a simple Job which will extract the information of
interest from an MDM record in XML and display it on the console.
Scenario prerequisites
A data container Product and a data model
Product are created and deployed to MDM
server. The Product and Store data entities are defined and some data records already exist
in them.
The entities Product and Store are linked by a foreign key which is the
Name of the Store.
This example is designed to obtain the store information for a new product.
Therefore, when you create a new Product record,
make sure that the Store information is also
added for the new Product record.
The entities and their attributes are shown below.
For more information about MDM working principles, see the MDM part in
Talend Studio User Guide.
Dropping and linking the components
- Drop the following components from the Palette onto the design workspace: tMDMReceive, and tLogRow.
- Connect tMDMReceive to tLogRow using a Row > Main link.
- Rename the components to better identify their functions.
Configuring the components
Defining a context variable
-
From the Contexts tab, click the
[+] button to add one variable and name
it exchangeMessage. -
Fill in the variable value in the Value
field.Note that the XML record must conform to a particular schema. For more
information about the schema, see the description of processes and schemas
used in MDM processes to call Jobs in
Talend Studio User
Guide.One sample of XML record from the Update Report is as
follows:12345678910111213141516<exchange xmlns:mdm="java:com.amalto.core.plugin.base.xslt.MdmExtension"><report><Update><UserName>administrator</UserName><Source>genericUI</Source><TimeInMillis>1381486872930</TimeInMillis><OperationType>ACTION</OperationType><RevisionID>null</RevisionID><DataCluster>Product</DataCluster><DataModel>Product</DataModel><Concept>Product</Concept><Key>2</Key></Update></report><item><Product><Id>001</Id><Name>Computer</Name><Description>Laptop series</Description><Availability>true</Availability><Price>400</Price><OnlineStore>TalendShop@@http://www.cafepress.com/Talend.2</OnlineStore><Stores><Store>[Dell]</Store><Store>[Lenovo]</Store></Stores></Product></item></exchange>In this example, the XML record is trimmed like
this:1<exchange><report/><item><Product><Id>001</Id><Name>Computer</Name><Description>Laptop series</Description><Availability>true</Availability><Price>400</Price><OnlineStore>TalendShop@@http://www.cafepress.com/Talend.2</OnlineStore><Stores><Store>[Dell]</Store><Store>[Lenovo]</Store></Stores></Product></item></exchange> - Press Ctrl+S to save your changes.
Configuring tMDMReceive and tLogRow
-
Double-click the tMDMReceive component to
open its Basic settings view in
theComponent tab. -
Click the […] button next to Edit schema to define the desired data structure.
In this example, three columns are added: Product_ID, Product_Name,
and Store_Name. -
In the XML Record field, fill in the
context variable context.exchangeMessage. -
From the XPath Prefix list, select
“/exchange/item”. -
In the Loop XPath query field, type in
the name of the XML tree root tag. In this example, type in “/Product/Stores/Store”. -
The Column column in the Mapping table is populated with the columns
defined in the schema. In the XPath query
column, enter the XPath query accordingly. In this example, the information
of product ID, product name and store name will be extracted. -
Double-click the tLogRow component to
open its Basic settings view in the
Component tab. -
Select Table (print values in cells of a
table) in the Mode
area.
Saving and executing the Job
- Press Ctrl+S to save your Job.
-
Execute the Job by pressing F6 or
clicking Run on the Run tab.The product information of interest extracted from the XML record is
displayed on the console.