Skip to main content Skip to complementary content
  • New archived content: Talend MDM, Talend Data Catalog 8.0, and Talend 7.3 products reached their end of life in 2024. Their documentation was moved to the Talend Archive page and will no longer receive content updates.
Close announcements banner

Setting a dynamic element size in a flat structure

Use a SetElementProperty to define the size of an element based on the value of another element in a flat file.

Before you begin

You have a flat file to use as sample document. You can create one from the sample data provided below.

About this task

In this example, you have a flat file containing three elements named a, b and c. The a element is an integer that defines the size of the b element. Since this size can vary, you cannot set a fixed size in the b element properties. However, you still need to define its size to indicate where the b element ends and the c element starts.

You can use the following data for your sample input:
03bbbcc

Procedure

  1. Create your structure:
    1. In the Hierarchical Mapper, right-click Structures and click New > Structure.
    2. In the wizard that opens, select Create a new structure where you manually enter elements and click Next.
    3. Select a folder and enter a name for your structure, then click Next.
    4. Select the Flat Files representation and click Next.
    5. Click Import a file as document and click Next.
    6. Browse to the relevant folder and select your flat file, then click Finish.
  2. Right-click the section on the left of your workspace and click New Element to create a root element.
  3. Right-click the root element and create three child elements named a, b and c.
    Your structure should look like this:
  4. Click the a element and enter 2 in both Size Min/Max fields, then select Integer (32) in the Data Type drop-down list.
    This indicates that the a element is an integer with a fixed size of two bytes. When clicking this element in the structure, 03 is highlighted in the Document tab.
  5. Click the c element and enter 2 in both Size Min/Max fields.
    These properties define a fixed size for the c element, however it is not highlighted in the Document tab because there is no information specifying where the b element ends and the c element starts.
  6. Click the b element and drag and drop a SetElementProperty in its Util tab.
  7. Double-click the SetElementProperty and select Number of bytes in the Property drop-down list, then click OK.
  8. Drag and drop the a element on the Value argument.
    This indicates that the size of the b element is equal to the value of the a element.

Results

Your structure is now configured, when clicking the b element, the value bbb is highlighted in the Document tab, and cc is highlighted when clicking the c element.

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – please let us know!