Versions Compared

Key

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

In this article

true
Table of Contents
minLevel1
maxLevel2
absoluteUrl
Table of Contents
stylenone

Overview

You can use this Snap to enable looping on pipeline executions based on a stop condition or iteration limit. The output document of each iteration is fed into the next iteration as the input document, and execution continues until the stop condition is met or the iteration limit is reached. Learn more.

...

Snap Type

The <Snap name> PipeLoop Snap is a Read/Write/Parse/Transform/ Flow/Format-type Snap that reads/fetches/writes/parses/executes/transforms/calls/creates…

Prerequisites

  • Valid client ID.

  • A valid account with the required permissions.

None.

Support for Ultra Pipelines

 

Limitations

None.

Prerequisites

  • Child pipelines must have one input view and one output view.

Support for Ultra Tasks

Limitations

  • Reuse is currently not supported because of the requirement to close an input view to force flush all documents out.

  • Reads only the first output document for a specific input document (the remaining documents are ignored and dropped).

  • Supports expressions on the pipeline specification, but only evaluates the input document to PipeLoop, not for each iteration.

Known Issues

None.

Snap Views

Type

Format

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input 

Document

  • Binary

Binary or
  • Document

  • Min: 1

  • Max: 1

  • Mapper

  • Copy

  • ..

  • Requires the EDI data and internal ID as a JSON document.

    Output

    Document

    Binary

    Binary or Document

    • Min:

    • Max:

    • ..

    • ..

    The EDI transaction ID and order confirmation

    The document or binary data to send to the child pipeline. For a single document input, only the first output document is captured in the output document and the remaining documents are ignored.

    Output

    • Binary

    • Document

     

    • Min: 1

    • Max: 1

    • Mapper

    If you select the Debug iterations output checkbox, an additional _iteration_documents is added to the output document alongside the output documents and passthrough documents.

    _iteration_documents contains the following fields:

    • iteration: The index of the loop iteration.

    • child_pipeline_output: The output document of the respective iteration.

    • stop_condition_evaluation: The evaluated result of the stop condition.

    Error

    Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter when running the pipeline by choosing one of the following options from the When errors occur list under the Views tab:

    • Stop Pipeline Execution: Stops the current pipeline execution if the Snap encounters an error.

    • Discard Error Data and Continue: Ignores the error, discards that record, and continues with the remaining records.

    • Route Error Data to Error View: Routes the error data to an error view without stopping the Snap execution.

    Learn more about Error handling in

    Pipelines

    pipelines.

    Snap Settings

    Appsplus panel macro confluence macro
    data{"features":["title","icon","rounded","collapsible","border"],"title":"Documenting Fields Based On Data Type/UI Element","titleColor":"#000000","titleColorBG":"#ff5c30","titleSize":"14","titleBold":true,"titleItalic":false,"titleUnderline":false,"lozenge":"Hot stuff","lozengeColor":"#172B4D","lozengeColorBG":"#fff0b3","height":200,"panelPadding":12,"panelColor":"#172B4D","panelColorBG":"#FFFFFF","borderColor":"#ff5c30","borderRadius":3,"borderStyle":"solid","borderWidth":1,"icon":"editor/info","iconPrimary":"#FFFFFF","iconSecondary":"#0052CC","newMacro":false}

    **Delete Before Publishing**

    Choose from the following sentences to document specific field types.

    Drop-down lists/Option Buttons (radio buttons):

    You must list the LoV and describe them if their meaning isn't apparent. In this case, format the LoV in italics, regular font for the LoV's description. In either case, list the LoVs as a bullet list.

    • <State what the option should do in this field>. The available options are: <bullet list of LoVs>
      Specify the Salesforce API to be used. The available options are:...

    • Select the <category> that you want to use. Available options are...
      * Option 1<italicized>. <third person singular form of the verb>
      * Option 2<italicized>. <third person singular form of the verb>
      Select the API that you want to use. Available options are:
      Bulk API. Sends the Snap execution request details as a bulk API call.
      REST API. ...
      OR
      Select one of the three following modes in which the Snap executes:
      * Validate & Execute. Performs limited execution of the Snap and generates a data preview during Pipeline validation, then performs full execution of the Snap (unlimited records) during Pipeline runtime.
      * Execute only. Performs full execution of the Snap during Pipeline execution without generating preview data.
      * Disabled. Disables the Snap and all Snaps downstream from it.

    Check boxes:

    • If selected, <Snap behavior>.
      If selected, an empty file is written when the incoming document has no data.

    • If selected, <behavior>. If not selected/Otherwise, <behavior>
      Use "If not selected" if the first sentence is long.
      If selected, the Snap uses the file path value as is. Otherwise, the Snap uses the file path value in the URL.
      If selected, an empty file is written when the incoming document has empty data. If there is no incoming document at the input view of the Snap, no file is written regardless of the value of the property.

    • Select to <action>
      Use this if the behavior is binary. Either this or that, where the converse behavior is apparent/obvious.
      Select to execute the Pipeline during validation.

    Text Fields

    • Describe what the user shall specify in this field. Additional details, as applicable, in a separate sentence. Include caveats such as the field being conditionally mandatory, limitations, etc.
      Enter the name for new account.
      Specify the account ID to use to log in to the endpoint.
      Required if IAM Role is selected.
      Do not use this field if you are using batch processing.

    Numeric Text Fields

    • Describe what the field represents/contains. Additional details, as applicable, in a separate sentence. Include caveats such as the field being conditionally mandatory, limitations, etc. Include special values that impact the field's behavior as a bullet list.
      The number of records in a batch.
      The number of seconds for which you want the Snap to wait between retries.
      The number of seconds for which the Snap waits between retries.
      Use the following special values:
      * 0: Disables batching.
      * 1: Includes all documents in a single request.

    Notes in field descriptions

    • Confluence’s new editor does not allow nesting of most macros inside another macro, especially the Note/Alert/Warning/Info (Panel) macros inside a table macro and Excerpt macros inside Expand or Panel Macro+ macros. So, as a workaround use the Footnotes approach as mentioned below:

      • Assign numbers at the Note locations in the form of follow through phrases like See Note 2 below this table. or such.

      • Add your Notes---an appropriate Note/Alert/Warning/Info (Panel) macro---immediately below the macro (for example, Table macro) beginning the content with the corresponding number assigned.

    Info
    • Expression icon ((blue star)): Indicates the value is an expression (if enabled) or a static value (if disabled). Learn more about Using Expressions in SnapLogic.

    • Suggestion icon ((blue star)): Indicates a list that is dynamically populated based on the configuration.

    • Upload icon ((blue star)): Indicates that you can upload files. Learn more about managing Files.

    ...

    Field Name

    ...

    Field Type

    ...

    Field Dependency

    ...

    Description

    Label*

    Default ValueELT Database Account
    ExampleELT RS Account

    ...

    String

    ...

    None.

    The name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your pipeline.

    Number of records

    Default Value
    Example:

    ...

    String/Expression

    ...

    Sampling Type is Number of records.

    ...

    Enter the number of records to output.

    ...

    fieldset Name

    Specify advanced parameters that you want to include in the request.

    ...

    Field 1*

    Default Value<value> or None.
    Example<value>

    ...

    String

    ...

    Debug mode check box is not selected.

    ...

    Field 2

    Default Value<value> or None.
    Example<value>

    ...

    String

    ...

    Info
    • Expression (blue star): JavaScript syntax to access SnapLogic Expressions to set field values dynamically (if enabled). If disabled, you can provide a static value. Learn more.

    • SnapGPT (blue star): Generates SnapLogic Expressions based on natural language using SnapGPT. Learn more.

    • Suggestion (blue star): Populates a list of values dynamically based on your Account configuration.

    • Upload (blue star): Uploads files. Learn more.

    Learn more about the icons in the Snap Settings dialog.

    Field Name

    Field Type

    Description

    Label*

     

    Default ValuePipeLoop
    ExampleSimpleLoop

    String

    Specify the name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snaps in your pipeline.

     

    Pipeline*

     

    Default Value: N/A
    Example: demo-child-pipeline

    String/Expression

    Specify the path of the pipeline to execute.

    Pipeline Parameters

    Use this field set to define child pipeline parameters to use for executing the pipeline.

    Parameter name

    Default Value: N/A
    Exampletools

    String/Suggestion

    Specify the parameter's name. You can also select the Pipeline Parameters defined for the pipeline selected in the Pipeline field.

    Parameter value

    Default Value: N/A
    Example$tools

    String/Expression

    Specify the value for thepipeline parameter, which can be an expression based on incoming documents or a constant. 

    If you configure the value as an expression based on the input, then each incoming document or binary data is evaluated against that expression when invoking the pipeline. The result of the expression is JSON-encoded if it is not a string. The child pipeline then needs to use the JSON.parse() expression to decode the parameter value.

    Loop options

    Define the iteration configuration.

    Stop condition

    Default Value: N/A
    Example: $num >= 10

    String/Expression

    Specify the condition to be evaluated during execution that decides whether the execution should stop or continue. The iteration continues until the stop condition is met or the iteration limit is reached. The Snap errors out if the Stop condition cannot be evaluated at run time. The stop condition is evaluated on the output document from each iteration.

    Iteration limit

    Default Value10
    Example: 15

    Integer/Expression

    Specify the maximum limit for the number of iterations to run to avoid infinite loops.

    Debug iteration outputs

    Default ValueDeselected

    Checkbox

    Select this checkbox to include the index, output document, and stop condition evaluation for each iteration as part of the output format.

     

    Execution options

    Define the child pipeline execution configuration.

    Execute on

    Default ValueLOCAL_NODE
    Example: LOCAL_SNAPLEX

    Dropdown list

    Select one of the following Snaplex options to specify the target Snaplex for the child pipeline:

    • LOCAL_NODE: Runs the child pipeline on the same node as the parent pipeline.

    • LOCAL_SNAPLEX: Runs the child pipeline on one of the available nodes in the same Snaplex as the parent pipeline.

    Execution label

    Default Value: N/A
    Example: demo

    String/Expression

    Specify the label to display in the Dashboard for the current execution.

    Snap Execution

    Default ValueValidate & Execute
    Example:

    Validate &

    Execute only

    Dropdown list

    N/A

    Select one of the following three modes in which the Snap executes:

    • Validate & Execute: Performs limited execution of the Snap and generates a data preview during pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during pipeline runtime.

    • Execute only: Performs full execution of the Snap during pipeline execution without generating preview data.

    • Disabled: Disables the Snap and all Snaps that are downstream from it.

    ...

    Example

    ...

    Error

    ...

    Reason

    ...

    Resolution

    ...

    Account validation failed.

    ...

    The Pipeline ended before the batch could complete execution due to a connection error.

    ...

    Verify that the Refresh token field is configured to handle the inputs properly. If you are not sure when the input data is available, configure this field as zero to keep the connection always open.

    Examples

    Excluding Fields from the Input Data Stream

    We can exclude the unrequired fields from the input data stream by omitting them in the Input schema fieldset. This example demonstrates how we can use the <Snap Name> to achieve this result:

    <screenshot of Pipeline/Snap and description>

    Download this Pipeline. 

    Downloads

    Info
    1. Download and import the pipeline into the SnapLogic application.

    2. Configure Snap accounts, as applicable.

    3. Provide pipeline parameters, as applicable.

    Attachments
    patterns*.slp, *.zip
    sortByname

    Snap Pack History

    ...

    titleClick here to expand...

    ...

    Related Content

    ...

    Endpoint Doc Link 1

    ...

    Endpoint Doc Link 2

    ...

    Getting Started with SnapLogic

    ...

    Insert excerpt
    Flow Snap Pack
    Flow Snap Pack
    nopaneltrue
    Related links: