Propagate Schema Backward and Forward

The project, PE_Backward_Forward_Schema_Propagation, demonstrates the Pipeline Execute Snap's capability of propagating schema in both directions – upstream and downstream. It contains the following Pipelines:

  • PE_Backward_Forward_Schema_Propagation_Parent

  • PE_Backward_Forward_Schema_Propagation_Child

The parent Pipeline is as shown below:

example-backward-forward-schema-propagation-parent.slp

The child Pipeline is as shown below:

Child pipeline image

example-backward-forward-schema-propagation-child.slp

The Pipeline Execute Snap is configured to call the Pipeline schema-child. This child Pipeline consists of a Mapper Snap that is configured as shown below:

The Mapper Snaps upstream and downstream of the Pipeline Execute Snap: Mapper_InputSchemaPropagation and Mapper_TargetSchemaPropagation are configured as shown below:



When the Pipeline is executed, data propagation takes place between the parent and child Pipeline:

  • The string expression $foo is propagated from the child Pipeline to the Pipeline Execute Snap.

  • The Pipeline Execute Snap propagates it to the upstream Mapper Snap (Mapper_InputSchemaPropagation), as visible in the Target Schema section. Here it is assigned the value 123.

  • This is passed from the Mapper to the Pipeline Execute Snap, which internally passes the value to the child Pipeline. Here, $foo is mapped to $bar. $baz is another string expression in the child Pipeline (assigned the value 2).

  • $bar, and $baz are propagated to the Pipeline Execute Snap and propagated forward to the downstream Mapper Snap (Mapper_TargetSchemaPropagation). This can be seen in the Input Schema section of the Mapper Snap.

Note: To reuse the example project ZIP files:
  1. Download and import the project ZIP file into your Environment.
  2. Open each SLP file from the project in the Designer.
  3. Configure Snap accounts.
  4. Provide Pipeline parameters, if any.