Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Data Mapper is a visual data-mapping tool used for mapping elements in advanced data integration projects. This tool allows you to specify source and target schemas and to map data fields from source schema to target schema.

...

This is the default and most commonly used method for mapping source and target elements.
 

Steps to map elements using Drag and Drop approach

...


Anchor
_Hlt184625854
_Hlt184625854
Anchor
onetoonemapping
onetoonemapping
One to One Mapping
If the number of leaf elements of the parent element in the source and target schema is same, then you can use the One to One mapping button to map all the source elements to the corresponding target elements. 

Steps to use One to One mapping 

  1. Ensure that the source and target schemas are loaded and all their elements are listed under their respective nodes.
  2. Click and drag the parent element of the source schema to the parent element of the target schema. This will apply template of the source parent element on the target parent element, and activate the One to One Mapping button.
  3. Click One to One Mapping ( ) button. All the leaf elements of the parent element in the source schema will be mapped to their respective leaf elements of the parent element in the target schema.

     

    Info

    Only leaf elements are mapped using this button. It does not map complex elements. To map complex elements, you need to use the drag and drop method.

    Info

    If multiple schemas are loaded, then dragging a source parent element will map all leaf elements of schemas displayed previous to the current schema.
    Moreover, in multiple schemas, mapping can be performed between parents at any level, if the number of their leaf elements is the same.

    Anchor
    automapper
    automapper

    Auto Mapper
    If the hierarchy and the names of the complex elements are similar, then you can use the Auto Mapper option to map the source elements to the corresponding target elements. In case of complex elements, the hierarchy and the name of all elements must be the same.

    Steps to use the Auto Mapper

...


Anchor
RemoveAllMappings
RemoveAllMappings
Remove All Mappings
You can use the Remove All Mappings option to remove all mappings from the Data Mapper.

Steps to remove all mappings between source and target elements 

  1. Click Remove all Mapping ( ) button. The Remove Options screen is displayed (see Figure 398).This screen displays a list of the properties, variables, custom methods, keys and templates associated with a mapped element, which can be removed with the mapping.

    Figure 398: Remove Options

    Info

    The Remove Mapping, Remove Comments, Remove For Each and Remove Local Variables options are always enabled. The other options are enabled only if they have been defined for the mapped element.

  2. Select the checkbox(s) of the options that you want to remove and click OK button. All the selected options and all mappings between source and target elements will be removed.

    Info

    You can remove mapping associated with each element individually. For details, refer to the section Remove Mapping of an Element.

    Anchor
    CustomAutoMap
    CustomAutoMap
    Anchor
    _Toc226191056
    _Toc226191056
    Anchor
    _Toc315524635
    _Toc315524635
    Anchor
    _Toc315524907
    _Toc315524907
    Custom Auto Map

    The Auto Mapper feature can be used only when the elements of source and target schema are at the same hierarchy level and have the same names. However, if you want to automatically map the elements when the names of the elements of source and target schemas are different, you cannot use this feature. For example, if the source schema has elements, EmpFirstName and EmpLastName and the target schema has the elements, firstName and lastName then you cannot define mapping between these two schemas using the Auto Mapper feature. 

    To define a mapping between the schemas when the elements of source and target schema are at the different hierarchy level (which may include elements at the different parent and child level) and have the different names, you can use the Custom Auto Map feature. This feature enables you to define the mapping between such schemas where elements to be mapped are stored in different parent and child level and in addition elements name are different. 

    Anchor
    _Toc344890217
    _Toc344890217
    Anchor
    _Toc385441547
    _Toc385441547
    Anchor
    _Toc387747386
    _Toc387747386
    Anchor
    _Toc387748659
    _Toc387748659
    Anchor
    _Toc401308956
    _Toc401308956
    Scope of a Custom Auto Map

    You can also select the scope of a Custom Auto Map at the time of defining and saving it. Scope of a Custom Auto Map is the context within which it is defined and is accessible within or across the user groups. A Custom Auto Map can be defined in any of the following scope:

...


Then, you can define the set of values in a csv file as:

  • EmpFirstName,firstName
  • EmpLastName, lastName
  • EmpMiddleInitial, middleNames

Steps to Define a Custom Auto Map Using a CSV File

...

When you define a Custom Auto Map, by default it is in deactivated state. To use a Custom Auto Map, you need to first activate it. Once you have activated the Custom Auto Map, you can use it in your mapping. Note that only activated Custom Auto Maps can be used in a mapping.
 

Steps to Activate a Custom Auto Map

...

After activating a Custom Auto Map, you can use it in your mapping. Note that only one Custom Auto Map can be activated in the current mapping. 

Steps to Use the Custom Auto Map in a Mapping 

  1. Load the respective source and target schema.
  2. Create and activate the Custom Auto Map.
  3. Map the parent record of the Source schema to the parent record of the Target schema.
  4. Right-click the parent record of the target schema and select Connect Matching Record options (see Figure 408).

    Figure 408: Select Connect Matching Children

    The Connect Matching Children Dialog window is displayed (see Figure 409).

    Figure 409: Connect Matching Children Options

     

  5. Select the mapping criteria from the Automap options list. Its options are listed as:
     
    • Ignore Case: The source and the target elements are mapped even if they are of different case. Their attributes are not mapped.
    • Ignore Namespace: The source and target elements are mapped, when their names are same but source schema has any namespace prefix.
    • Recursive: Elements of parent level as well as all child level with the corresponding target elements.
    • Mix Attributes: Attributes of source and target schemas are mapped.
  6. Select the mapping criteria from the Existing Options list. These options are :
     
    • Retain: If any source and target elements are already mapped, those mapping will not be overwritten.
    • Overwrite: Overwrites all the existing mappings.
  7. Click OK. This will map source and target schema as per the criteria selected (see Figure 410).

...


Editing a Custom Auto Map
In edit mode, you can edit the name of the Custom Auto Map and the source and target elements to be mapped. Note that you cannot edit the scope of a Custom Auto Map in edit mode. The radio buttons to select the scope becomes non-editable once you save the Custom Auto Map. However, you cannot edit the Custom Auto Map when it has been already been used in the mapping and that mapping has been saved.
 

Steps to Edit a Custom Auto Map

...


Moving a Custom Auto Map from Group to Global
You can also change the scope of a Custom Auto Map from the Parameters Panel by moving the Custom Auto Map from Group to Global. However, you cannot move a Custom Auto Map if it is in the activated state and has been used in mapping. In addition, you cannot move a Custom Auto Map from Global to Group.
 

Steps to Move a Custom Auto Map

...


This will change the scope of the selected Custom Auto Map and now the Custom Auto Map will be displayed under the Global folder.
 

Deleting a Custom Auto Map
Steps to Delete a Custom Auto Map

...


Then, you can define the set of values in a csv file as:
Low,L
Medium,M
High,H
 

Steps to Define a Value Map Using a CSV File

...


Editing a Value Map
In edit mode, you can edit the name of Value Map and the map set for an element value. Note that you cannot edit the scope of a Value Map in edit mode. The radio buttons to select the scope becomes non-editable once you save the Value Map. The radio buttons to select the scope becomes non-editable once you save the Value Map. However, you cannot edit the Value Map when it has been already been used in the mapping and that mapping has been saved.
 

Steps to Edit a Value Map

...


Moving a Value Map from Group to Global
You can also change the scope of a Value Map from the Parameters Panel by moving the Value Map from Group to Global. However, you cannot move a Value Map if it is has been used in mapping and that mapping has been saved. In addition, you cannot move a Custom Auto Map from Global to Group.
 

Steps to Move a Value Map

...


This will add the change the scope of the selected Value Map and now the Value Map will be displayed under the Global folder.
 

Steps to Delete a Value Map

...

Once you have mapped source and target elements, you can save the mapping and exit the Data Mapper.

Steps to save the mapping and exit the Data Mapper

...

  1. Click the XSL tab on the Tabs Panel to view the generated mapping XSL. The generated XSL code with line numbers is displayed (see Figure 445).

    Figure 445: Mapping XSL

  2. Click the Action menu and select Validate XSL option to validate the generated XSL. A dialog box is displayed confirming that the XSL is valid.

    Info

    If generated XSL is invalid, then an error is displayed as a selected line. Error details are displayed in the XSL Errors Pane. It displays one error at a time.

  3. Click OK to close the above dialog box.

     

    Info

    You can also validate the generated XSL from the Create Data Mapping screen. For more details, refer to the section Splitting Source Data.

     

    Anchor
    viewtargetXML
    viewtargetXML
    Anchor
    _Toc131572371
    _Toc131572371
    Anchor
    _Toc134848110
    _Toc134848110
    Anchor
    _Toc144023033
    _Toc144023033
    Anchor
    _Toc144314279
    _Toc144314279
    Anchor
    _Toc177977119
    _Toc177977119
    Anchor
    _Toc226191062
    _Toc226191062
    Anchor
    _Toc315524642
    _Toc315524642
    Anchor
    _Toc315524914
    _Toc315524914
    View Mapping XML

    The Data Mapper allows you to view the generated XML code, before saving the mapping activity.

    Steps to view Mapping XML

...

Once you have mapped source and target schema elements, you can view and validate the output of the mapping activity. This feature enables you to test the data and make modifications to the mapping activity, before saving it.
 

Steps to view and validate mapping output

...

If you have read-only rights, you can still view a mapping activity. You can view the applied mapping, create new mapping rules, edit existing mapping rules and run simulation. However, you cannot save the mapping activity.
 

Steps to view mapping in read-only mode

...

Splitting feature enables you to process large files. You must use splitting if your source file is huge. If you do not use splitting in this case, then Data Mapper may not be able to map it. If the data in the source file is huge, you can split the source data into different chunks. You can specify the size of the chunks in terms of the number of records or data streams. In the output, however, only one file is generated at the location specified in the target activity.
 

Steps to split the source data

...

You can remove a Splitter XPath that has been set for a source element.
 

Steps to remove Splitter XPath

...

Once you have split the source data by setting the Splitter XPath on a source element, you need to merge the split data at the target end. For this, you need to set the Merger XPath on a target element.
Setting the Merger XPath is largely dependent upon the Splitter XPath. You need to ensure that the number of Splitter XPaths and the Merger XPaths at the source and target schemas respectively are the same.
 

Steps to set Merger XPath

...

You can remove mapping associated with a particular element.
 

Steps to remove mapping of a particular element

...

Once you have created the context schema, you need to load it at source or target end depending on your need.
 

Steps to Load Context Schema Definition

...

Once you created the mapping activity using context schema you need to changes its streaming properties while creating process flow using this mapping activity.
If Context Schema is loaded at source side then there is no need to provide the source (dummy source) stream to the Mapping activity. Similarly if Context schema is loaded at target side then Mapping activity will not generate any output stream, so there is no need to attach dummy target. To achieve this Generate Stream and Consume Stream property has been added to Data Mapper activity in the Process Designer. User can disable these properties based on whether Context schema is loaded at source or target side.
 

Steps to disable input and output stream of mapping activity

...


You can use the required sub-function of Math mapping function to map elements. The process of using the Math function is the same for all its sub-functions. Thus, the mapping process using one sub- function is outlined below.
 

Steps to map elements using the 'Division' Math Mapping Function

...


You can use the required sub-function of String mapping function to map elements. The process of using the String function is the same for all its sub-functions. Thus, the mapping process using one sub- function is outlined below.
 

Steps to map elements using the 'Concat' String Mapping Function

...


You can use the required sub-function of Date mapping function to map elements. The process of using the Date function is the same for all its sub-functions. Thus, the mapping process using one sub- function is outlined below.
 

Steps to map elements using the 'Date-Difference' Date Mapping Function

...


You can use the required sub-function of Aggregation mapping function to map elements. The process of using the Aggregation function is the same for all its sub-functions. Thus, the mapping process using one sub- function is outlined below.
 

Steps to map elements using the 'Sum' Aggregation Mapping Function

...

 

Mapping Function

Sub-Functions

Description

Example

Conditional

IF Conditions

This function comprises of two sub functions:

 

For Filtering Records

Filters the records/elements on basis of the specified condition.

IF CONDITION {#Age=25} Value= [100]

Returns the filtered target node-set/node if the Age is 25 in the source record.

 

For Mapping To Elements

Returns a value if the specified condition is true.

IF CONDITION {#Age=25} Value= [100]
Returns 100 if the Age has the value of 25 in the source record.

 

When Condition

Returns a particular value if the specified condition is true, else it returns another value.

WHEN Condition {contains (Email_ID, '@')} Value= [100] Otherwise Value= [200]

Returns 100 if the Email_ID contains @, else it returns 200.

 

Select Query

This is a customized mapping function.
Returns the output based on the applied select query on a table in the any of the three databases (Oracle, Sql, IBM DB2).
Select Query supports single field selection and returns first matching record.

SELECT FIELD = [Value1] FROM DB.TAB = [Value2].[Value3] WHERE {Condition}

Here:
Value1 = Field name in the table, whose value is to be retrieved
Value 2 = Name of the Database Info object where the table exists. It contains database location and the user ID and password to connect to that database.
Value 3 = Name of the table for which the select query is implemented
Condition = Condition, based on which value is returned
For example:
SELECT FIELD = [EMPNO] FROM DB.TAB = [oracle_databaseserver].[EMP] WHERE {ENAME= 'Smith'}

Returns Employee number of employee from the table EMP with the name Smith.

 

Sequence

This is a customized mapping function.
Returns integer values starting from the first argument and incrementing it by the second argument for each record. Both the arguments must be integer constants.

Sequence {10, 20}

Returns 10, 30, 50….and so on.

You can also use multiple where condition. In case of multiple where condition each condition must be within square braces as shown in the example below:

SELECT FIELD = [EMPNO] FROM DB.TAB = [oracle_databaseserver].[EMP] WHERE {[ENAME= 'Smith'] AND [AGE = 28]}

 

Append

This is a customized mapping function.
Appends the second string after the first string. Used to append only IF Condition.

Append ('IF CONDITION {condition} Value [Value1]', ('IF CONDITION {condition} Value [Value2]'

Returns IF CONDITION {condition} Value [Value1] Value [Value2]

...

  1. Ensure that the source and target schemas are loaded and all their elements are listed under their respective nodes.
  2. Ensure that the source and target elements to be mapped are selected and displayed in the Mapping Graph Area.
  3. Click Boolean function menu and then select the >=Greater than Equal operator. A >= node is displayed in the Mapping Graph Area (see Figure 490).


    Figure 490: Add Greater Than or Equal To Boolean Function Node

    Info

    To learn more about Boolean Functions, refer to the section Using Boolean Functions.

  4. Add a constant value in the Mapping Graph Area.
  5. Create a link from the output of the source element to the first input of the >= operator node.
  6. Create a link from the output of the Constant node to the second input of the >= operator node (see Figure 491).

    Figure 491: Create Links between Nodes for Mapping Elements using Greater Than Equal To Function

  7. Click Conditional mapping function and select IF CONDITION sub-function. Further select For Mapping to Elements option. An IF CONDITION node is displayed in the Mapping Graph Area (see Figure 492).

    Figure 492: Add IF Conditional Function Node

  8. Create a link from the output of the >= operator element to the first input of the IF CONDITION node.
  9. Add a constant value of integer type (for example, 25) in the Mapping Graph Area.
  10. Create a link from the output of the Constant element to the second input of the IF CONDITION node.
  11. Create a link from the output of the IF CONDITION node to the input of the target element node (see Figure 493).
     


    Figure 493: Creating Links between Nodes for Mapping Elements using IF Conditional Function

     

    Info

    If the value of SALARY element in the source data is greater than or equal to 5000, output will be 3000. If the value of TESTCASENO element in the source data is less than 100, output will be an empty tag.

  12. Click Apply Mapping ( ) button. This maps elements using IF CONDITION function. A line is displayed between source and target panels showing the mapping of the source element to the target element.

    Info

    This function simply filters the records based on the specified Boolean condition, but it does not create a data stream of the filtered records. You need to explicitly create the filtered data stream by creating another mapping (or adding same output schema in Target Panel) and using the IFF CONDITION () function based on the opposite Boolean condition.

    Anchor
    _Toc88470441
    _Toc88470441
    Anchor
    axisfunction
    axisfunction
    Anchor
    _Toc131572384
    _Toc131572384
    Anchor
    _Toc134848123
    _Toc134848123
    Anchor
    _Toc144023047
    _Toc144023047
    Anchor
    _Toc144314293
    _Toc144314293
    Anchor
    _Toc177977135
    _Toc177977135
    Anchor
    _Toc226191080
    _Toc226191080

    Anchor
    _Toc315524665
    _Toc315524665
    Anchor
    _Toc315524937
    _Toc315524937
    Using Axis Function

    The Axis function contains a list of advance XSL functions that are used to map elements only when the For Each function is applied on the Target node. It comprises of various sub-functions, which are listed in the table below.

    Anchor
    _Toc144313783
    _Toc144313783
    Anchor
    _Toc144827061
    _Toc144827061
    Anchor
    _Toc156195265
    _Toc156195265
    Anchor
    _Toc177878242
    _Toc177878242
    Anchor
    _Toc208651138
    _Toc208651138
    Anchor
    _Toc315524517
    _Toc315524517
    Table 18: Sub-Functions of Axis Mapping Function

    Mapping Function

    Sub-Functions

    Description

    Example

    Axis

     

     

     

     

     

     

     

     

     

     

     

    File Path – XPath

    This is a customized mapping function.
    This is an XML Lookup which returns the value of the element/attribute within the XML file whose path is specified. The File path and XPath must be specified in single quotes.

    FilePath ['C:/correct_file.xml'] XPath {'/employees/employee/Name'}

    Returns value of Name element from the file correct_file.xml.

    Self

    Returns the element which is the context node itself.

    Self::Employee

    Returns Employee which is the context node itself.

    Child

    Returns the element which is the child of the context node.

    Child::Name

    Returns Name which is a child of the context node.

    Parent

    Returns the element, which is the parent (if any) of the context node.

    Parent::Name

    Returns Name which is a parent of the context node.

    Following-sibling

    This axis contains all the following siblings of the context node. It returns the first occurrence of the element/attribute in the next sibling of the context node. If the context node is an attribute node or namespace node, then this axis is empty.

    following-sibling: employee/Name

    Returns the first occurrence of Name in the next employee node.

    Ancestor

    Returns the element which is the ancestor of the context node. This axis always includes the root node, unless the context node is the root node.

    Ancestor::Name

    Returns Name which is an ancestor of the context node.

    Ancestor-or-self

    This axis contains the context node and the ancestors of the context node. It always includes the root node. It returns the context node or ancestors of the context node.

    ancestor-or-self::employees/@val

    Returns context node or ancestors of context node.

    Preceding-sibling

    This axis contains all the preceding siblings of the context node. It returns the first occurrence of the element/attribute in the preceding sibling of the context node. If the context node is an attribute node or namespace node, then this axis is empty.

    preceding-sibling: employee/Name

    Returns the first occurrence of Name in the previous employee node.

    Descendant

    Returns the element which is the descendant of the context node. This axis does not contain attribute nodes.

    descendant::Name

    Returns Name, which is a descendant of the context node.

    Descendant-or-self

    This axis contains the context node and the descendants of the context node. It returns the context node or descendants of the context node.

    descendant-or-self::employees/salary

    Returns context node or descendants of context node.

    Generate-id

    Generates a unique id for the element/attribute specified by the XPath argument.

    generate-id (employees/employee/Name)

    Returns unique ID for Name element

    Current

    Removes all tags from the specified xml file and returns the data.

    current()

    Returns data of the xml file without tags.


    You can use the required sub-function of Axis mapping function to map elements. The process of using the Axis function is the same for all its sub-functions.

    Anchor
    _Toc86096301
    _Toc86096301
    Anchor
    _Toc88470442
    _Toc88470442
    Anchor
    _Hlt97024182
    _Hlt97024182
    Anchor
    _Hlt113171947
    _Hlt113171947
    Anchor
    _Hlt113171950
    _Hlt113171950
    Anchor
    _Hlt118000374
    _Hlt118000374
    Anchor
    booleanfunction
    booleanfunction
    Anchor
    _Toc134848124
    _Toc134848124
    Anchor
    _Toc144023048
    _Toc144023048
    Anchor
    _Toc144314294
    _Toc144314294
    Anchor
    _Toc177977136
    _Toc177977136
    Anchor
    _Toc226191081
    _Toc226191081
    Anchor
    _Toc315524666
    _Toc315524666
    Anchor
    _Toc315524938
    _Toc315524938
    Using Boolean Function

    The Boolean mapping function enables you to map elements by applying various logical operators in building Boolean expressions. It comprises of various sub-functions, which are listed in the table below.

    Anchor
    _Toc156195266
    _Toc156195266
    Anchor
    _Toc177878243
    _Toc177878243
    Anchor
    _Toc208651139
    _Toc208651139
    Anchor
    _Toc315524518
    _Toc315524518
    Table 19: Sub-Functions of Boolean Mapping Function

    Mapping Function

    Sub-Functions

    Description

    Example

    Boolean

     

     

     

     

     

     

     

    Equal

    Returns TRUE the first variable argument is equal to the second variable argument.

    (5) = (5) returns true

    Not Equal

    Returns TRUE the first variable argument is not equal to the second variable argument.

    (5) != (50) returns true

    Greater Than

    Returns TRUE the first variable argument is greater than the second variable argument.

    (5)> (3) returns true

    Less Than

    Returns TRUE the first variable argument is less than the second variable argument.

    (5) < (8) returns true

    Greater than Equal

    Returns TRUE the first variable argument is greater than or equal to the second variable argument.

    (5)>= (5) returns true
    (5)>= (3) returns true

    Less than Equal

    Returns TRUE the first variable argument is less than or equal to the second variable argument.

    (5) <= (8) returns true
    (5) <= (5) returns true

    Or

    Returns TRUE if either of the two variable arguments evaluate to TRUE otherwise FALSE. These variable arguments can only be of Boolean data type. Hence, their value can either be TRUE or FALSE only.

    (True) Or (True) returns true
    (True) Or (False) returns true

    And

    Returns TRUE if both of the two variable arguments evaluate to TRUE otherwise FALSE. These variable arguments can only be of Boolean data type. Hence, their value can either be TRUE or FALSE only.

    (True) And (True) returns true
    (True) And (False) returns false


    Anchor
    _Toc88470443
    _Toc88470443
    A Boolean sub-function is always used in conjunction with a Conditional function. Thus for the process of using the Boolean function, refer to Steps to map elements using the IF Conditional Mapping Function.

    Anchor
    contextfunction
    contextfunction
    Anchor
    _Toc131572385
    _Toc131572385
    Anchor
    _Toc134848125
    _Toc134848125
    Anchor
    _Toc144023049
    _Toc144023049
    Anchor
    _Toc144314295
    _Toc144314295
    Anchor
    _Toc177977137
    _Toc177977137
    Anchor
    _Toc226191082
    _Toc226191082
    Anchor
    _Toc315524667
    _Toc315524667
    Anchor
    _Toc315524939
    _Toc315524939
    Using Context Functions

    The Context mapping function enables you to map elements by setting or getting value of process flow context variables.

    Anchor
    _Toc122847169
    _Toc122847169
    It comprises of various sub-functions, which are listed in the table below.
    Anchor
    _Toc144313784
    _Toc144313784
    Anchor
    _Toc144827062
    _Toc144827062
    Anchor
    _Toc156195267
    _Toc156195267
    Anchor
    _Toc177878244
    _Toc177878244
    Anchor
    _Toc208651140
    _Toc208651140
    Anchor
    _Toc315524519
    _Toc315524519
    Table 20: Sub-Functions of Context Mapping Function

    Mapping Function

    Sub-Functions

    Description

    Example

    Context

    Set-Context

    This is a customized mapping function.
    Sets the value of the specified variable argument in the process flow context. This value can be string constant, numeric constant, XPath or output of limited set of mapping function, which can be used before set-context function.
    This function does not return a value. If mapped to a target element, it creates an empty tag of that target element in output XML.


    set-context ('index', '123')

    sets the value of index variable as 123 in the process flow.

     

    Get-Context

    This is a customized mapping function.
    Returns the value of the specified variable argument from process flow Context. This value can be string constant, numeric constant, XPath or output of limited set of mapping function. If no value has been set, then the value specified in the second argument is returned.

    get-context ('index', '100')

    Returns the value of index variable from the process flow. If no value has been set for index, then 100 is returned.

    In get-context function you can also use any variable, which is not declared. In such case get-context creates a variable with the specified name and value, which can be further used with the selected target element. This can be done only in Textual Rule panel.


    You can use the Set-Context sub-function of Context mapping function to set value of the process flow variable and send it to the Process Designer. The Get-Context sub-function is used to return the value of the process flow variable.

    Using Set-Context Function

    You can use the Set-Context Function in various ways. These are outlined as:

...


Anchor
_Hlt131565065
_Hlt131565065
Anchor
_Toc131572386
_Toc131572386
Anchor
_Hlt133816007
_Hlt133816007
Anchor
_Toc134848126
_Toc134848126
Map Set-Context Function using Local Variable
 

Steps to pass output of mapping function or condition to a local variable

  1. Ensure that the [ source and target schemas are loaded and all their elements are listed under their respective nodes.
  2. Click Node tab displayed in the Mapping Graph Area. All tabs of the Node tab are displayed.
  3. Click the Local Variables tab. The Local Variable pane is displayed. (refer to Figure 527).
  4. Click any target element to declare the local variable in the Local Variable pane.
  5. Click Local Variable Name text field and enter the name of the local variable you want to create (e.g.
    Anchor
    OLE_LINK3
    OLE_LINK3
    BolSalary8K). Press the Tab or Enter key. This takes the control to the Local Variable Value field.
  6. Enter the value of the local variable in the Local Variable Value field. In this example, you have to specify the WHEN condition as displayed in Figure 494.

    Figure 494: Create Local Variable

  7. Click the Save Local Variable ( ) button to save the declared local variable.

...

  1. Ensure that the source and target schemas are loaded and all their elements are listed under their respective nodes.
  2. Click the Node tab displayed in the Mapping Graph Area. All tabs of the Node tab are displayed.
  3. Click the Local Variables tab. The Local Variable pane is displayed. (refer to Figure 527).
  4. Click any target element to declare the local variable in the Local Variable pane.
  5. Click Local Variable Name text field and enter the name of the local variable you want to create (e.g. Var1). Press the Tab or Enter key. This takes the control to the Local Variable Value field.
  6. Click Context mapping function menu and select Set-Context sub-function. Syntax for Set-Context function is displayed in Local Variable Value field.
  7. Enter the process flow variable name you want to create (e.g. ContextVar) in the first argument of the Set-Context function.
  8. Enter the value of the variable in the second argument of the Set-Context function (see Figure 495).

    Info

    Second argument can be string constant, integer constant, XPath, local variable or output of limited set of mapping function, which can be used before Set-Context function. In this example, BolSalary8K variable is used as second argument of set-context function.


    Image Modified
    Figure 495: Mapping Set-Context to Local Variable

  9. Click Save Local Variable ( ) button to save the declared local variable.

...

  1. Ensure that the source and target schemas are loaded and all their elements are listed under their respective nodes.
  2. Click the Global tab displayed in the Mapping Graph Area. All tabs of the Global tab are displayed.
  3. Click the Context Variables tab. The Context Variables pane is displayed (see Figure 496).

    Figure 496: Context Variables Pane

  4. Click the Context Variable Name text field and enter the name of process flow context variable you want to create (e.g. Var1) Press the Tab or Enter key. This takes the control to the Context Variable Value field.
  5. Enter the value of process flow context variable in the Context Variable Value field (see Figure 497).

    Image Modified

    Figure 497: Enter Context Variable Value

  6. Click the Save Context Variable ( ) button to save the declared process flow context variable. This context variable is added to the list of existing context variables in the Context Variables tab. It is also displayed under Context Variables in the Parameters Panel. If you shift focus to another node, or click any of the Mapping Rules, Textual Rules, Node, Properties, XSL or Debugger tabs, without saving the context variable, an alert message is displayed (refer to Figure 522).
  7. Click No to save the context variable and shift focus to the other object. If you click Yes, then the defined context variable is cleared and the focus is shifted to the other object.

    Info

    You can also set the value of a context variable that is used in a particular condition. For example, if the context variable Var1 is used in an IFF condition in such a way the value of Var1 depends on the condition being True or False. If it is True then Var1 will have a different value. You can set this value of Var1 if the condition is True, using the Set Context function.
    Similarly, you can retrieve the value of a context variable used in a particular condition, if the condition is True.

    Info

    You can edit or delete a context variable from the Parameters Panel itself. For details, refer to the Managing a Global Variable from Parameter Panel section.


    Anchor
    mappingstecontexttotargetelement
    mappingstecontexttotargetelement
    Mapping Set-Context function to any target element
    Concept
    You can map the Set-Context function to a target element. Since this function does not return a value, it will create an empty tag of that target element in output XML. Thus, it is recommended that you should map the Set-Context function to a target element, whose value is not required at the target end.
    Advantages

...

  1. Ensure that the source and target schemas are loaded and all their elements are listed under their respective nodes.
  2. Select the target element that you want to map with Set-Context function.
  3. Click Context mapping function menu and select Set-Context sub-function. A set-context node is displayed in the Mapping Graph Area (see Figure 498).

    Figure 498: Set-Context Node

  4. Add a constant node with the name of variable (e.g. index), whose value is to be set in the process flow context.
  5. Create a link from the output of the constant node (index) to the first input of the set-context node.
  6. Add another constant node for the second argument (e.g. 100) of the set-context function.

    Info

    Second argument can be string constant, integer constant, XPath, local variable or output of limited set of mapping function, which can be used before Set-Context function.

  7. Create a link from the output of second constant node (100) to the second input of the set-context node.
  8. Create a link from the output of the set-context node to the target element (see Figure 499).

    Figure 499: Create Links between Nodes for Mapping Set-Context Function to Target Element

  9. Click the Apply Mapping ( ) button. This maps the Set-Context function to the target element. The defined variable (index) is passed to the process flow with the value 100. If you shift focus to another node, or click any of the Mapping Rules, Textual Rules, Node, Properties, XSL or Debugger tabs, without applying the mapping, an alert message is displayed (refer to Figure 522).
  10. Click No to apply the mapping and shift focus to the other object. If you click Yes, then the mapping activity is cleared and is replaced by the previous mapping in the Mapping Graph Area and the focus is shifted to the other object.

    Info

    At times the mapping is too large and the applet memory may exceed 256M. In such cases, the mapping will fail and return an error of insufficient memory. You can overcome this situation by increasing the applet memory. For details, refer to Appendix A in the Administrator Guide.

    Anchor
    _Toc125446729
    _Toc125446729
    Anchor
    _Toc131572389
    _Toc131572389
    Anchor
    _Toc134848129
    _Toc134848129

    Anchor
    usingDBfunction
    usingDBfunction
    Anchor
    _Toc177977138
    _Toc177977138
    Anchor
    _Hlt184625530
    _Hlt184625530
    Anchor
    _Toc226191083
    _Toc226191083
    Anchor
    _Toc315524668
    _Toc315524668
    Anchor
    _Toc315524940
    _Toc315524940
    Anchor
    _Toc385441568
    _Toc385441568
    Anchor
    _Toc387747407
    _Toc387747407
    Anchor
    _Toc387748680
    _Toc387748680
    Anchor
    _Toc401308977
    _Toc401308977
    Using DB Function

    The DB function enables you to get data from the database, based on a condition. It comprises of a sub-function, which is listed in the table below.

    Anchor
    _Toc177878245
    _Toc177878245
    Anchor
    _Toc208651141
    _Toc208651141
    Anchor
    _Toc315524520
    _Toc315524520
    Table 21: Sub-Function of DB Mapping Function

    Mapping Function

    Sub-Functions

    Description

    Example

    DB

    DBQuery

    Returns data from the database, based on a query.

    DBQuery( 'select EmpID from EMP where EMPID=1035', var1, 'true') returns all the records from the EMP table, where EMPID is 1035.
    Here, 'var1' is the Connection Info variable.
    If you change the last boolean argument from true to false, only the first record is returned.

     

    PreparedQuery

    Returns data from the database, based on a query.

    PreparedQuery ('SELECT EMPID FROM EMP WHERE EMPNAME=? AND EMPCITY=? AND EMPISMALE=?, $oracle_databaseserver, true ,('Smith','Chicago','true')').
    Here, '=?' is the variable name that you pass in the braces.
    The '$oracle_databaseserver' is the name of the Connection Info variable.
    If you change the last boolean argument from true to false, only the first record is returned.


    You can use this sub-function of DB mapping function to get data from the database. The process of using this sub-function is outlined below.

    Steps to get data from the database using the 'DBQuery' DB Mapping Function

...

  1. Ensure that the source and target schemas are loaded and all their elements are listed under their respective nodes.

  2. Ensure that a Connection Info variable is created for the PreparedQuery and is listed in the Parameters Panel.

    Info

    For details on creating a Connection Info variable, refer to the Declaring Connection Info Variable section.

  3. Double-click the target element that you want to map with the PreparedQuery. It is displayed in the Mapping Graph Area.
  4. Click the DB function and select the PreparedQuery sub-function. A PreparedQuery node is displayed in the Mapping Graph Area (see Figure 503).

    Figure 503: Add PreparedQuery Sub-Function Node

  5. Add a constant node with the query for searching data from the database based on the specified condition (e.g. Select EMPID from EMP where EMPNAME=? AND EMPCITY=? AND EMPISMALE=?, $oracle_databaseserver, true ,('Smith','Chicago','true')).
  6. Create a link from the output of the constant node to the first input of the PreparedQuery node.
  7. Double-click the required Connection Info variable under Connection Info in the Parameters Panel. The selected Connection Info variable node is displayed in the Mapping Graph Area (see Figure 504).

    Image Modified

    Figure 504: Connection Info Variable in Mapping Graph Area

  8. Create a link from the output of the Connection Info variable to the second input of the PreparedQuery node.
  9. Add another constant node for the third argument of the PreparedQuery function. This is a Boolean value as true or false.
  10. In the fourth argument of the PreparedQuery function you can pass values through either as a variable, or as a constant, or as a xpath.
  11. Create a link from the output of this constant node to the third input of the PreparedQuery node.
  12. Create a link from the output of the PreparedQuery node to the input of the target element (see Figure 505).

    Image Modified

    Figure 505: Create Links between Nodes for Mapping PreparedQuery Function to Target Element

  13. Click the Apply Mapping ( ) button. This maps the PreparedQuery function to the target element. The defined query is passed to the database where a connection is created using the Connection Info variable. If the Boolean value is set as 'True' then the database fetches all the values that match the query. If the value is 'False', then the database fetches only the first matching value. If you shift focus to another node, or click any of the Mapping Rules, Textual Rules, Node, Properties, XSL or Debugger tabs, without applying the mapping, an alert message is displayed (see Figure 506).


    Figure 506: Mapper Warning

  14. Click No to apply the mapping and shift focus to the other object. If you click Yes, then the mapping activity is cleared and is replaced by the previous mapping in the Mapping Graph Area and the focus is shifted to the other object.

    Info

    At times the mapping is too large and the applet memory may exceed 256M. In such cases, the mapping will fail and return an error of insufficient memory. You can overcome this situation by increasing the applet memory. For details, refer to Appendix A in Administrator Guide.

    Anchor
    _Toc177977139
    _Toc177977139
    Anchor
    _Toc184405107
    _Toc184405107
    Anchor
    _Toc226191084
    _Toc226191084
    Anchor
    _Toc315524669
    _Toc315524669
    Anchor
    _Toc315524941
    _Toc315524941
    Anchor
    _Toc344890238
    _Toc344890238
    Anchor
    _Toc385441569
    _Toc385441569
    Anchor
    _Toc387747408
    _Toc387747408
    Anchor
    _Toc387748681
    _Toc387748681
    Anchor
    _Toc401308978
    _Toc401308978
    Using Textual Rules

    Textual Rules are used for mapping source elements, mapping functions or constants to target elements, by defining the elements in syntax form.

    Steps to map elements using the Concat function using Textual Rules
  1. Ensure that the source and target schemas are loaded and all their elements are listed under their respective nodes.
  2. Select the target element that you want to map. It is displayed in the Mapping Graph Area.
  3. Click the Textual Rules tab in the Mapping Graph Area.
  4. Click String mapping function and select Concat sub-function. The syntax for the Concat sub-function is displayed in the Mapping Graph Area (see Figure 507).

    Image Modified

    Figure 507: Syntax for Concat Sub-Function

  5. This syntax has two parameters. Double-click a source element that you want to set as the first parameter. This displays the selected source element in the syntax.
    Similarly, double-click another source element as the second parameter. This is displayed in the syntax (see Figure 508).

    Figure 508: Parameters of the Concat Syntax

    Info

    You can indent the textual rule content as per your requirement.

  6. Click the Apply Mapping ( ) button. This maps elements using the concat sub-function. A line is displayed between the source and target panels showing the mapping of the source element to the target element

...

Namespace allows you to add, view, edit, and remove the namespace in the XSL. All the Namespaces present in the source and target XSD's are automatically placed in the XSL generated. These Namespaces can be viewed using View Namespace option in the Namespace submenu.

Anchor
_Toc177977141
_Toc177977141
Anchor
_Toc226191086
_Toc226191086
Anchor
addingnamespace
addingnamespace
Anchor
_Toc315524671
_Toc315524671
Anchor
_Toc315524943
_Toc315524943
Adding Namespace
 

Steps to add a Namespace in the XSL

...


Anchor
_Toc177977142
_Toc177977142
Anchor
_Toc226191087
_Toc226191087
Anchor
_Toc315524672
_Toc315524672
Anchor
_Toc315524944
_Toc315524944
Editing Namespace
Steps to edit a Namespace in the XSL

...


Once you have created a XSL template, you can use it to map elements. On the Manage XSL Template screen, by default the XSL Rules tab is selected. To create a XSL template using the Mapping Rules, click the Mapping Rules tab.
 

Steps to create an XSL template using the XSL Rules

...


Anchor
createglobalvar
createglobalvar
Anchor
_Toc131572401
_Toc131572401
Anchor
_Toc134848141
_Toc134848141
Declare Global Variable
 

Steps to declare a Global Variable

...

Anchor
managingvar
managingvar
Managing a Global Variable from the Parameters Panel
Once the global variable is added to the Parameters Panel, you can edit it or delete it anytime from this Panel itself.
 

Steps to manage a Global Variable from the Parameters Panel

...

Anchor
_Toc131572402
_Toc131572402
Anchor
_Toc134848142
_Toc134848142

Map Global Variable to Target Element
Once you have created a global variable, you can map it to a target element.
 

Steps to map Global Variable to target element

...

  1. Ensure that the source and target schemas are loaded and all their elements are listed under their respective nodes.
  2. Click Node tab displayed in the Mapping Graph Area. All tabs of the Node tab are displayed.
  3. Click the Local Variables tab. The Local Variable pane is displayed in the Mapping Graph Area (see Figure 527).

    Figure 527: Local Variable Pane

  4. Anchor
    _Hlt123365871
    _Hlt123365871
    Click Local Variable Name text field and enter the name of the local variable you want to create (e.g. varQuery). Press the Tab or Enter key. This takes the control to the Local Variable Value field.
  5. Anchor
    _Hlt123365869
    _Hlt123365869
    Enter the value of the local variable in the Local Variable Value field. You can enter the value of the local variable using one of the listed methods:
     
    • Click required source element
    • Select the required Mapping function
    • Type the required value manually
    • Select a Custom Method
  6. Enter comments for the local variable in the Add Comment field (see Figure 528). For example, if the local variable value contains complex XSLT logic, you can enter its description in this field.
     

    Info

    The Comments field is resizable.



    Figure 528: Enter Name, Value and Comment for Local Variable

     

    Info

    To select a Custom Method as the value of a local variable, double click the desired Custom Method under Custom Methods in the Parameters Panel. The selected Custom Method is displayed in the Variable Definition field.
    To learn how to declare a Custom Method, refer to section Using Custom Method.

  7. Click the Save Local Variable ( ) button to save the local variable for the selected target element. This local variable is added to the list of existing variables in the Local Variable Name field. It is also displayed under Local Variables in the Parameters Panel. If you shift the focus to another node, or click any of the Mapping Rules, Textual Rules, Global Variables, Properties, XSL or Debugger tabs, without saving the local variable, an alert message is displayed (refer to alertmsg Figure 522). The comments added for the local variable are saved and displayed above the local variable declaration in the Mapping XSL (refer to Figure 523).

    Info

    The alert message is also displayed when shifting focus between Global and Node tabs.

  8. Click No to save the local variable and shift the focus to the other object. If you click Yes, then the defined local variable is cleared and the focus is shifted to the other object.

    Info

    Once the local variable is saved, it is categorized as Current Variable or Ancestor Variable in the Parameters Panel. If it is created for a child node, then it is saved as a Current Variable. If it is created for a parent's parent node, then it is saved as an Ancestor Variable.

    Info

    You can rearrange the local variables by dragging it up or down in the list.

     

    Steps to manage a Local Variable from the Parameters Panel

  1. Right-click the local variable that you want to edit or delete. This displays the right dropdown menu.
  2. Select Edit to edit the variable. This displays the selected local variable in Edit mode. You can edit the value of the local variable in the Local Variable Value field. You can also edit the name of the local variable in the Local VariableName field (see Figure 529).

    Figure 529: Edit Name, Value and Comment for Local Variable

  3. Click the Save Local Variable ( ) button to save the edited local variable. An alert message is displayed.

    Figure 530: Alert Message

  4. Click OK to save the changes.

    Info

    To remove a local variable, select the local variable and click Remove selected local variable ( ) button.
    To remove all local variables, click Remove all local variables ( ) button.
    Alternately, you can delete a local variable from the Parameters Panel itself. For details, refer to the Managing a Global Variable from Parameter Panel section.

    Anchor
    _Toc131572405
    _Toc131572405
    Anchor
    _Toc134848145
    _Toc134848145
    Map Local Variable to Target Element
    Once you have created a local variable, you can map it to the specific target element or attribute.

    Steps to map Local Variable to specific target element

...


Anchor
_Toc131572408
_Toc131572408
Anchor
_Toc134848148
_Toc134848148
Map Custom Method to Target Element
Once you have created a custom method, you can map it to a target element.
 

Steps to map Custom Method to target element

...

  1. Ensure that the source and target schemas are loaded and all their elements are listed under their respective nodes.
  2. Right-click the cloned element that you want to remove and select the Remove Clone option. A screen is displayed confirming the removal of the selected clone (see Figure 556).


    Figure 556: Confirm Remove Clone

  3. Click Yes to remove the clone. This removes the selected clone from the target schema.

    Info

    If more than one clone has been created for an element, then you need to remove the clones in descending order.

    Anchor
    _Toc131572417
    _Toc131572417
    Anchor
    _Toc134848157
    _Toc134848157
    Anchor
    _Toc144023064
    _Toc144023064
    Anchor
    _Toc144314310
    _Toc144314310
    Anchor
    _Toc177977161
    _Toc177977161
    Anchor
    _Toc184405120
    _Toc184405120
    Anchor
    _Toc226191107
    _Toc226191107
    Anchor
    _Toc315524693
    _Toc315524693
    Anchor
    _Toc315524965
    _Toc315524965
    Anchor
    removeschema
    removeschema
    Anchor
    _Toc344890252
    _Toc344890252
    Anchor
    _Toc385441583
    _Toc385441583
    Anchor
    _Toc387747422
    _Toc387747422
    Anchor
    _Toc387748695
    _Toc387748695
    Anchor
    _Toc401308992
    _Toc401308992
    Adding a Character Data ( CData) Section

    The XML parsers normally parse the complete text in an XML document i.e., when an XML element is parsed, the text data between the XML tags is also parsed. Consider the following example:,
    <message>This text will also be parsed</message>
    In this example, the message between the <message> and </message> text will normally be parsed by the XML parser. Consider another example:
    <name><first>Hello</first><last>User!</last></name>
    In this example also, the XML parser will break the XML tags and parse the text data as Hello User!
    The text data that is parsed by the XML parser is termed as Parsed Character Data or PCData.
    However, the user may require to add some text data that should not be parsed by the XML parser. The Character Data or CData is the text data that should not be parsed by the XML parser. CData is also termed as Unparsed Data.
    Adeptia Suite enables you to add a CData section with the target schema. The text data inside a CDATA section is ignored by the parser.
    A CDATA section starts with "<![CDATA[" and ends with "]]>". CDATA sections are useful for writing XML code as text data within an XML document.

     

    Info

    A CDATA section cannot contain the string "]]>" and therefore it is not possible for a CDATA section to contain nested CDATA sections.
    You can use multiple CDATA sections by splitting each occurrence of the "]]>"just before the ">".


    Steps to add a CData section

...

You can add a namespace prefix to a target element. This prefix is displayed next to the target element in the target schema, and is automatically displayed in the Output section on the Debugger screen.
 

Steps to add a namespace prefix to a target element

...